[운영체제] 뮤텍스, 세마포어
2021. 5. 12. 20:17
뮤텍스와 세마포어의 차이
공통점 : 동기화 도구
뮤텍스(Mutex) = 상호배제(Mutual Exclusion)
뮤텍스는 쉽게말해 집에 들어갈 수 있는 열쇠를 '하나'만 만들어서 관리하는 것이다.
Locking매커니즘을 사용하여 동일한 시점에 하나의 Thread만 공유자원에 접근 할 수 있게하는 방법이다.
세마포어(Semaphore)
세마포어는 '깃발'이라는 뜻이다.
과거 기차길에서 같은 철로를 이용하는 기차의 순서를 부여하기 위해 깃발을 사용하였는데
그 의미에서 차용되어 사용한다.
뮤텍스는 lock의 형태로 0또는 1의 상태만 나타냈지만 세마포어는 2이상도 가능하다.
세마포어 또한 뮤텍스처럼 0과 1만 같은 binary semaphore가 존재하며
그 이상은 counting semaphore로 분류되어 사용된다.
여러개의 자원을 두고 접근할 수 있는 쓰레드의 갯수를 컨트롤 하는 방법이다.
'CS > 운영체제' 카테고리의 다른 글
Process & Thread (0) | 2021.10.19 |
---|---|
컴퓨터 시스템의 구조 (0) | 2021.10.14 |
운영체제 개요 (0) | 2021.10.13 |
[운영체제] 데드락(deadlock, 교착상태) (0) | 2021.05.19 |
[운영체제] Producer - Consumer (생성자 - 소비자) 문제 in jAVA (0) | 2021.04.27 |