Process & thread
Process & Thread Process VS Thread 프로세스 : 프로그램을 메모리 상에서 실행중인 작업 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 키워드 실행 단위 → cpu core에서 실행하는 하나의 단위로 프로세스 + 스레드 개념 프로세스 → 하나의 스레드만 가지고 있는 단일 스레드 프로세스 동시성...
Process & Thread Process VS Thread 프로세스 : 프로그램을 메모리 상에서 실행중인 작업 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 키워드 실행 단위 → cpu core에서 실행하는 하나의 단위로 프로세스 + 스레드 개념 프로세스 → 하나의 스레드만 가지고 있는 단일 스레드 프로세스 동시성...
Page 다중 프로그래밍 환경에서 주 기억 장치를 동적 분할해 메모리 관리 작업이 필요함 Address란? 논리적 주소 CPU가 생성하는 주소 프로레스 내부에서 사용함 0부터 시작 물리적 주소 실제 RAM 에 올라가는 위치 Address Binding ...
Page Replacement Algorithm Main / Virtual Memory에서 hit 하지 못하고 페이지 폴트 발생시 가득 차 있을 때 어떤 process를 swap out할 것인지를 결정하는 문제 Main / Virtual Memory는 필요한 페이지만 메모리에 적재하고 사용하지 않은 부분은 그대로 둔다. 사용이 다...
Memory CPU가 직접 접근 할 수 있는 기억 장치 (RAM) CPU는 언제나 RAM에 데이터가 있길 바라지만… 없을 때도 있다. 그러면 해당 데이터를 가지고 와야한다! → MMU MMU CPU는 언제나 논리 주소만을 가지고 있다. 이런 논리 주소와 물리 주소는 차이가 있음 그렇기에 논리 주소 →...
Interrupt 프로그램을 실행하는 도중에 예기치 않은 상황 발생시 현재 실행 중인 작업을 즉시 중단하고 발생된 상황에 대한 우선처리가 필요함을 CPU에게 알리는 것 → 급한 불부터 끄자 ! 인터럽트는 2가지로 나뉜다. 외부 인터럽트 전원 이상, 외부 신호, 입출력으로 발생 내부 인터럽트 ...
IPC Process간의 통신이 필요 할 때 커널이 지원하는 통신 수단 커널 : OS의 핵심적인 부분, 모든 부분에 기본적인 서비스 제공 IPC 종류 1. 익명 Pipe 한쪽 방향으로만 통신이 가능함 송수신 전부 하고 싶은 파이프가 2개 필요 간단하다! 부모 - 자식 간 프로세스 처럼 명확한 프로세스가 있을 경우 사용...
File System 파일이나 자료를 유지 및 관리하는 방법 특징 커널 영역에서 동작한다. 파일의 CRUD를 원활하게 하는 것이 목적 계층적 디렉터리를 가진다. 역할 파일 관리 보조 저장소 관리 파일 무결성 메커니즘 접근 방법의 제공 하드디스크의 효율적 사용 구조 메타 영역 ...
Concurrency Race Condition 공유 자원에 대해 여러 프로세스가 동시에 접근 할 경우 각 결과 값에 영향을 줄 수 있는 상태 (multi-thread 환경에서도 time-safety 한가?) → 동시 접근의 치명적인 문제점 어떻게 해결하지? 핵심은 동기화 Race condition의 가능성이 있...
CPU Scheduling 스케줄링의 목표 오버헤드는 낮추고 사용률은 높이고 기아현상은 낮추고 Batch System : 가능한 많은 일을 수행 Interactive System : 빠른 응답시간, 적은 대기 시간 Real-time System : deadLine 맞추기 프로세스의 상태 (실행을 위해 메모리에 올라온 상태) → ...
Transaction 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미 DML SUID의 조합 예시) 사용자 A가 사용자 B에게 만원을 송금한다. * 이때 DB 작업 - 1. ...