세마포어 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
3번째 줄: | 3번째 줄: | ||
;두개의 Atomic한 함수로 제어되는 정수 변수를 이용한 교착 상태 해법 | ;두개의 Atomic한 함수로 제어되는 정수 변수를 이용한 교착 상태 해법 | ||
* [[다익스트라|다익스트라(E.J. Dijkstra)]]가 제안 | * [[다익스트라|다익스트라(E.J. Dijkstra)]]가 제안 | ||
== 구성 및 구현 == | == 구성 및 구현 == | ||
40번째 줄: | 31번째 줄: | ||
end V // 이제는 다른 프로세스가 들어 올수 있음 | end V // 이제는 다른 프로세스가 들어 올수 있음 | ||
</pre> | </pre> | ||
# 최초 S값을 1로 만든다. | |||
=== 구현 예 === | === 구현 예 === | ||
56번째 줄: | 47번째 줄: | ||
=== 차이 === | === 차이 === | ||
* | * Semaphore는 Mutex가 될 수 있지만 Mutex는 Semaphore가 될 수 없습니다. | ||
** ( | ** (Mutex 는 상태가 0, 1 두 개 뿐인 binary Semaphore) | ||
* | * Semaphore는 소유할 수 없는 반면, Mutex는 소유가 가능하며 소유주가 이에 대한 책임 | ||
* | **Semaphore의 경우 이러한 Semaphore를 소유하지 않는 쓰레드가 Semaphore를 해제 가능 | ||
* Semaphore는 시스템 범위에 걸쳐있고 시스템 파일 형태로 존재 | |||
** Mutex는 프로세스 범위를 가지며 프로세스가 종료될 때 자동으로 Clean up | |||
== 기술사 기출 == | == 기술사 기출 == | ||
* [http://q.fran.kr/문제/6105 정보관리기술사 66회 1교시] | * [http://q.fran.kr/문제/6105 정보관리기술사 66회 1교시] | ||
* [http://q.fran.kr/문제/5765 컴퓨터시스템응용기술사 108회 3교시] | * [http://q.fran.kr/문제/5765 컴퓨터시스템응용기술사 108회 3교시] | ||