1. IPC(InterProcessCommunication)의 쟁점
- 프로세스가 어떻게 다른 프로세스에게 정보를 전달하는가
- 중요한 활동에 참여할 때 어떻게 두 개 이상의 프로세스가 서로 방해하지 않도록 보장하는가
- 프로세스간 종속성이 존재할 때 어떻게 적절한 순서를 정하는가
2. Race Condition(경쟁 조건)
(1) 개념: 둘 이상의 프로세스가 동시에 공유 데이터를 읽거나 기록할 때, 최종 결과는 어떤 프로세스가 언제 수행되느냐에 따라 달라지는 상황
(2) print spooler 예시: print spooler 프로세스 A와 B가 거의 동시에 파일을 프린트 하려는 상황
- 프로세스 A가 먼저 접근하여 지역 변수에 7을 기록
- 프로세스 B가 다음에 접근하여 지역변수에 7을 기록하고 프린트 할 파일 이름을 슬롯 7에 저장
- 프로세스 A가 슬롯 7에 자신의 파일 이름을 덮어씀
-> 프로세스 B가 요청한 파일은 프린트 불가

3. Critical Region(임계 구역)
(1) 개념: 공유 메모리를 접근하는 프로그램의 부분
(2) critical region 문제를 해결하기 위한 조건
- 두 개의 프로세스가 동시에 각각의 critical region에 존재하지 않아야 함
- CPU의 속도나 개수에 어떠한 가정도 하지 않아야 함
- critical region 외부에서 실행하고 있는 프로세스는 다른 프로세스를 block 시키면 안 됨
- critical region에 진입하기 위해 무한히 기다리는 프로세스가 없어야 함