< 상호배제해결을 위한 알고리즘 >
1. 데커(Deker) 알고리즘
최초의 소프트웨어의 상호배제 해결법
하나의 Turn이라는 공유변수를 가짐
Boolean Flag[2]를 가짐
- 동작원리
이 알고리즘은 두 프로세스가 동시에 임계영역에 들어가려고 할 때 하나만 들어가도록 한다.
한 프로세스가 이미 임계영역에 있다면 다른 프로세스가 끝나기를 기다려야한다.
2. 세마포어 알고리즘
P 함수와 V 함수를 이용, 양의 정수를 이용한다.
( P 함수 : Wait - 작업을 수행하는 임계 영역 S = S - 1)
( V 함수 : Signal - 임계영역에 들어가게하는 함수 S = S + 1)
WAIT - S = S - 1
SIGNAL - S = S + 1