semaphore order

세마포어 순서 보존 기준

세마포어는 자원 개수와 접근 순서를 숫자로 표현하므로 wait와 signal 위치가 정확해야 합니다.

세마포어 흐름
01count 확인 02wait 감소 03임계구역 04signal 증가 05대기 깨움
Counting

여러 개의 동일 자원을 제한할 때 count가 사용 가능한 슬롯 수를 나타냅니다.

Binary

값이 0 또는 1이면 mutex처럼 한 번에 하나의 접근만 허용합니다.

Producer/Consumer

empty, full, mutex 세마포어의 wait 순서가 버퍼 overrun과 deadlock을 막습니다.

Readers/Writers

동시 읽기는 허용하고 쓰기는 배타적으로 처리해 starvation 정책까지 함께 봅니다.