Hi yoahn 개발블로그

[42Seoul / Philosophers(OS)] Mutex 와 Semaphore 차이 본문

42 SEOUL

[42Seoul / Philosophers(OS)] Mutex 와 Semaphore 차이

hi._.0seon 2021. 6. 28. 16:33
반응형

Mutex와 Semaphore는 둘 다 데드락을 피하기 위한 기술 중의 종류이다.

1. Semaphore (= Synchronization Tool)

세마포어는 어떤 자원을 쓰려고 할 때 사용을 통제하기 위한 것이다. 

integer 값이고, 가능한 자원의 갯수이다.

 

ex) printer 가 3개라고 할 때, Semaphore = S 는 3.

여러 스레드 중에서 3개의 스레드가 printer를 하나씩 사용하고 있다면 나머지 스레드는 S가 1 이상이 될 때까지 대기해야 한다.

 

1 ) Counting Semaphore

- 값은 여러 도메인에 대한 값이 될 수 있다.

2 ) Binary Semaphore

- 값의 범위는 0 or 1

- mutex lock 과 비슷하다.

- mutual exclusion이 세마포어로 구현됨

2. Mutex (= Mutual Exclusion)

스레드들의 Critical Section이 섞이지 않고 단독으로 실행될 수 있게 하는 것

 

 

반응형

'42 SEOUL' 카테고리의 다른 글

42서울 본과정 회고  (0) 2022.11.04
CI/CD 파이프라인  (0) 2021.08.06
[42Seoul / subject] Philosophers 해석  (0) 2021.06.16
[42Seoul/libasm] libasm 시작하기  (0) 2021.04.30
[42Seoul/libasm] libasm 서브젝트 번역  (0) 2021.04.30
Comments