개념 공부/운영체제

Mutual Exclusion Q&A

배3 2025. 5. 19. 18:59

Q1. Mutex와 Binary Semaphore의 차이?

뮤텍스는 소유권(Ownership)이 있다. 세마포어는 없다.

자원을 받은 Task가 사용한 후, Task가 주체적으로 반환한다.

기법은 거의 동일하다.

 

Q2. Counting Semaphore는 어느 상황에서 쓰는 걸까? count 값 만큼 동시 접근하면 문제가 생기지 않을까? 어떤 점에서 상호 배제성이 있는 걸까?

동일한 자원이 여러 개면 세마포어를 사용할 수 있다. Timer가 5개일 때, 굳이 Binary sem으로 하나의 Task만 자원을 사용하게 한다면, 나머지 4개는 남게 된다. 그리고, count 값을 5로 설정함으로써 접근 수에 제한을 주기 때문에, Mutex 성질은 가진다.

 

그동안 Counting Semaphore가 count 값만큼 공유 자원 접근할 수 있는 기법인가 보다 하고 넘겼는데, 알고 있던 개념과 조금 차이가 있었다. 일반적인 Mutex와 다르게 동일 자원에 대한 관리적인 측면이 큰 것 같다.

'개념 공부 > 운영체제' 카테고리의 다른 글

커널 & 쉘  (0) 2025.05.25