Mutex 와 Semaphore 는 모두 병행성 프로그래밍에서 상호배제를 달성하는 도구

  1. Mutex (뮤텍스):
    • 한 번에 하나의 스레드만이 자원에 접근할 수 있도록 하는 동기화 메커니즘입니다.
    • 이는 보통 크리티컬 섹션을 보호하거나 공유 자원에 대한 접근을 제어할 때 사용됩니다.
    • Mutex는 잠금을 획득한 스레드만이 해당 자원을 사용할 수 있도록 합니다
  2. 세마포어 (Semaphore):
    • 동시에 여러 스레드가 자원에 접근할 수 있는 허용 개수를 지정할 수 있는 동기화 기법입니다.
    • Counting Semaphore 과 Binary Semaphore로 나뉘며, Counting Semaphore은 여러 자원을 제어할 수 있습니다.
    • Semaphore는 초기값과 현재 값을 비교하여 스레드의 접근을 허용하거나 차단합니다

두 기법의 주요 차이

  • Mutex : 단일 자원에 대한 접근을 보호
  • Semaphore: 동시 접근 허용의 유연성을 제공

'컴퓨터 공학 > 운영체제' 카테고리의 다른 글

[OS] 경쟁상태 (Race Condition)  (1) 2024.06.19
[ OS ] 문맥교환 (context switch)  (0) 2024.06.18
[ OS ] 시스템 콜 (system call)  (0) 2024.06.18

+ Recent posts