[OS] 임계구역 1. 전역 변수로 잠금을 구현한 코드 공유 변수 lock=false 상태로 해놓고, lock=true일때 임계구역 사용하기 전역 변수로 잠금을 구현한 코드의 문제 => 동시진입 상황, 공유변수가 하나면 안돼 => 상호배제보장 안됨, 임계 구역은 프로세스 하나씩만 접근해야 한다. 2. 상호 배제 조건을 충족하는 코드 공유변수 2개로 lock 걸기. 상호 배제 조건을 충족하는 코드의 문제 => 타임아웃으로 문맥 교환이 발생한다 => 교착 상태로 무한 대기 문제가 생긴다 => p1은 p2가 끝나길, p2는 p0가 끝나길 기다린다. 3. 상호 배제와 한정 대기 조건을 충족하는 코드 프로세스 번호를 가진 공유변수 하나를 준다. But, 진행의 융통성..