여러 개의 동일 자원을 제한할 때 count가 사용 가능한 슬롯 수를 나타냅니다.
세마포어 순서 보존 기준
세마포어는 자원 개수와 접근 순서를 숫자로 표현하므로 wait와 signal 위치가 정확해야 합니다.
01count 확인
02wait 감소
03임계구역
04signal 증가
05대기 깨움
값이 0 또는 1이면 mutex처럼 한 번에 하나의 접근만 허용합니다.
empty, full, mutex 세마포어의 wait 순서가 버퍼 overrun과 deadlock을 막습니다.
동시 읽기는 허용하고 쓰기는 배타적으로 처리해 starvation 정책까지 함께 봅니다.