2025-11-03 01:02

Tags: 운영체제

세마포어

  • 여러 프로세스스레드가 공유 자원에 동시에 접근하는 것을 제어하기 위한 동기화 도구다.
    • 한 번에 하나의 스레드만 임계 구역에 진입하도록 보장하는 ‘상호 배제(Mutual Exclusion)‘를 구현하는 것
  • 정수형 변수]와 대기 로 구성되며, waitsignal이라는 원자적 연산을 통해 자원의 가용 상태를 관리한다.
특징뮤텍스 (Mutex)세마포어 (Semaphore)
소유권잠금을 획득한 스레드만이 해제할 수 있음잠금을 획득한 스레드가 아니어도 해제할 수 있음
목적상호 배제 (자원 보호)상호 배제 + 실행 순서 제어
상태잠김 / 잠기지 않음 (Locked/Unlocked)카운터 값 (정수)
스코프주로 스레드 간 동기화에 사용프로세스 간 동기화에도 사용 가능 (System-wide)