Operating System

[운영체제] Threads & Concurrency(진행중)

5 minute read

이 장의 목표: 쓰레드의 기본 구성 요소 확인 및 쓰레드와 프로세스 구분. 멀티쓰레딩 프로세스의 장단점 이해. 쓰레드 풀, fork-join 와 Grand Central Dispatch의 차이점을 통한 implicit threading 확인. 윈도우와 리눅스의 쓰레...

[운영체제] Processes(진행중)

4 minute read

이 장의 목표: 프로세스의 구성 요소 및 운영체제 내에서 나타나는 프로세스의 형태. 운영체제 내에서 프로세스의 생성 및 소멸 과정. 메모리 공유 및 메시지 패싱을 통한 프로세스간의 통신 과정. 파이프와 POSIX 공유 메모리를 사용하는 프로세스간의 통신 프로그램 디...

[운영체제] Main Memory(진행중)

3 minute read

이 장의 목표: 논리주소와 물리주소의 차이 및 MMU의 역할. 메모리 할당을 위한 다양한 방법. Internal fragmentation과 external fragmentation의 차이. TLB를 포함한 페이징 시스템에서 논리주소의 변환. Hierarchica...

[운영체제] Synchronization Tools (진행중)

3 minute read

이 장의 목표 임계 구역(Critical-section) 문제 및 경쟁 상태(race condition)에 대한 이해. Memory barrier, compare-and-swap 연산, atomic 변수 등 임계 구역 문제의 하드웨어적 해결책. 뮤텍스 락, 세마포어, ...

[운영체제] Deadlocks (진행중)

2 minute read

(작업 목록) System Model Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock