1. 프로세스 동기화
1. Critical Section (임계영역)
: 동일한 자원을 동시에 접근하는 작업(ex. 공유하는 변수 사용, 동일 파일 사용 등)을 실행하는 코드 영역
1) Critical Section Problem (임계영역 문제)
: 프로세스들이 Critical Section을 함께 사용할 수 있는 프로토콜을 설계하는 것
-
Mutual Exclution (상호배제)
- 프로세스 P가 Critical Section에서 실행중이면, 다른 프로세스들은 그들의 Critical Section에서 실행될 수 X
-
Progress (진행)
- Critical Section에서 실행중인 프로세스가 없고, 별도 동작없는 프로세스들만 Critical Section 진입후보로 참여될 수 O
-
Bounded Waiting (한정된 대기)
- 프로세스 P가 Critical Section에 진입 신청후부터 받아들여질 때까지, 다른 프로세스들이 Critical Section에 진입하는 횟수는 제한이 있어야함
2. 해결책
1) Lock
- 하드웨어 기반 해결책
- 동시에 공유자원 접근을 막기 위해 Critical Section에 진입하는 프로세스는 Lock을 획득