본문 바로가기

개인공부

Semaphore

반응형

P : Probern(검사)

V : Verhogen(증가)

 

임의의 s변수 하나에 ready queue 하나가 할당 된다.

 

Binary semaphore 

S가 0과 1 두 종류만 값만 갖는 경우

상호배제나 프로세스 동기화의 목적으로 사용

 

Counting semaphore

S가 0이상의 정수값을 가질 수 있는 경우

Producer-Consumer 문제 등을 해결하기 위해 사용

 

초기화 연산

S 변수에 초기값을 부여하는 연산

 

스핀락과 달리 Queue 로 들어간다.

 

Semaphore로 해결 가능한 동기화 문제들

- 상호배제 문제

 

- 프로세스 동기화 문제

 

- 생산자-소비자 문제

 

- Reader-Writer 문제

 

세마포어를 이용해서 실행 순서를 맞출 수 있다.

 

 

반응형

'개인공부' 카테고리의 다른 글

교착상태 Deadlock Resolution  (0) 2020.06.22
Eventcount / Sequencer  (0) 2020.06.22
Spinlock  (0) 2020.06.21
크리티컬섹션 HW 솔루션  (0) 2020.06.21
크리티컬 섹션 해결 알고리즘  (0) 2020.06.21