Dijkstra 썸네일형 리스트형 Semaphore and Mutex 1965년에 E. W. Dijkstra는 wakeup 수를 카운트하기 위한 정수 변수, 즉 세마포어(Semaphore)라는 새로운 변수형을 제안하였다. 세마포어는 wakeup이 하나도 없는 0 값을 가질 수도 있고, 하나 이상이 보류되어 있는 양수값을 가질 수도 있다. Dijkstra는 sleep과 wakeup에 대응되는 두 개의 동작 down, up을 갖도록 제안하였다. down 동작은 해당 세마포어 변수가 0보다 큰가를 검사한다. 큰 값이면 1만큼 감소시키고 계속된다. 만약 0이면 그 프로세스는 바로 자게 된다. 변수를 검사하고, 변경하고, 잘 수 있게 하는 동작은 분리되지 않는 단위동작으로 일어난다. 이것은 세마포어 동작이 일단 시작되면 다른 어떤 프로세스도 이 동작이 완료되거나 블록되지 않는 한 .. 더보기 이전 1 다음