o 세마포어 (semaphore)란 (1) ? - 동기화의 일반적인 방법인 세마포어 방법은 세마포어라는 정수 변수 (integer variable), 프로세스 대기열(process waiting queue), P와 V의 두 명령으로 구성된다.
초기 상태의 변수값은 자원의 수와 같으며 대기열은 비어 있다. P명령은 변수의 값을 하나 줄인 후, 변수의 값이 0보다 작으면 프로세스를 대기열로 집어 넣는다.
반대로 0보다 크면 그 프로세스는 계속 진행된다. V명령은 변수의 값을 하나 증가시킨다.
그 결과가 0보다 크면 프로세스는 계속되며 0보다 작으면 대기열의 프로세스 하나를 준비 상태로 만들고, 프로세스의 수행은 계속된다. 결국 변수의 값은 음수일 경우는 대기 중인 프로세스의 수를 나타내며, 양수이면 사용 가능한 자원의 수를 가리킨다.
위에서 동기화란 프로세스의 실행을 시간에 따라 순서적으로 처리하는 것을 동기화라 한다. o 세마포어 (semaphore)란 (2) ? - 다익스트라(E.J...