상호 배제상호 배제 실행 순서 제어상호 배제 실행 순서 제어MUTual EXclusion
lock (크리티컬 섹션으로 들어가는 문의 자물쇠 역할)acquire() → 프로세스가 크리티컬 섹션에 진입하기 전에 호출 (들어갈게요)release() → 프로세스가 크리티컬 섹션에서의 작업을 끝내고 호출 (나갈게요)<aside> 💡
acquire() 과 release() 역시 atomically 하게 실행되어야 한다. (물리적으로)
compare_and_swap operation을 활용하여 하드웨어단에서 구현가능.
</aside>
신호장치. N개의 공유 자원에서도 대응 가능

Swait() 를 받으면 잠시 기다리기, 가도 좋다는 신호를 받으면 크리티컬 섹션 진입 → S-- (열쇠함에서 열쇠 가져가기)