Semarphore
-
[OS] 세마포어(Semaphore)와 뮤텍스(Mutex)의 차이OS 2020. 7. 6. 15:35
세마포어의 정의 공유된 자원의 데이터를 여러 프로세스나 스레드가 접근하는 것을 제어하는 방법 즉, 병행처리를 위한 동기화 기법 세마포어 동작 원리 semWait 연산 세마포어 값을 감소시킴 값이 음수가 아니면 프로세스는 계속 수행 값이 음수가 되면 semWait을 호출한 프로세스는 블록됨 semSignal 연산 세마포어 값을 증가시킴 값이 양수가 아니면(0 또는 음수) semWait연산에 의해 블록된 프로세스를 깨움 세마포어의 종류 카운팅 세마포어(Counting Semaphore) 동시에 사용가능한 자원에 대해 사용 임계 영역 안에 스레드나 프로세스가 들어오면 카운트를 증가시켜 일정 숫자만큼의 스레드만 사용하게함 이진 세마포어(Binary Semarphore) 값으로 0 또는 1만 가질 수 있음 뮤텍스..