01 Inter-Process Communitaction, IPC

process
의 메모리(VMS)는 독립적이며 외부 접근을 허용하지 않는다. 이는 OS가 보장한다.
- 데이터 교환
- 데이터 전송 - Message Passing, 파일, 파이프(스트림), 소켓(파일),RPC을 이용
- 길이가 동적임
- 메모리 공유 - Shared Memory(전역변수, extern), RAM 을 이용
- 길이가 고정

02 공유 자원과 임계구역
Critical Section 문제
- race condition
- producer-consumer 문제
- …
해결 방법
- Mutual Exclusion
- Bounded waiting
- Progress Flexibility
해결 알고리즘, 방식
- 피터슨 알고리즘, 데커 알고리즘, …
- 어렵다. busy waiting
- 세마포어
- 비교적 쉽다. no busy waiting
- 뮤텍스
- 이진 세마포어
- 모니터
- 세마포어를 추상화하여 잘못된 사용을 방지하는 것 (상호 배제의 보장)
- 작업을 담는 모니터 큐와 처리를 위한 상태변수로 내부 구현이 이루어 질 수 있다.
@)See Also
[Worth spreading:티스토리] - 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이