본문 바로가기

B1:기초 Basement

세마포어 ( Semaphore )

반응형

주제(Subject)
--------------------------------------------------------
한글 : 세마포어
영어 : Semaphore


관련개념(Related Concepts)
--------------------------------------------------------
병행 프로세스
상호배제
교착상태


개요(Summary)
--------------------------------------------------------
Dijkstra가 제안한 동기화 도구로서, THE OS에 최초 사용되었음. 세마포어 s는 정수값을 가지며, 두 표준단위연산(atomic operation) P와 V에 의해서만 접근되는 정수형 공용변수다. 세마포어의 유래는 철도 교통을 통제하기 위한 깃발신호로부터 유래되었다고 한다.

P(s) :

if ( s > 0 ) then
  s--
else
  현재 프로세스는 대기한다;

V(s) :

if ( 1개 이상의 프로세스가 대기중 ) then
  1개 프로세스만 진행한다
else
  s++;



본문(Body)
--------------------------------------------------------
1. 종류
- 2진 세마포어(binary semaphore) : s가 0과 1의 두 가지 값만을 가지는 경우
- 계수형 세마포어(counting semaphore) : s가 2 이상의 정수값을 가지는 경우

2. 사용
- n개의 유기적인 프로세스에서 제기되는 임계구역(critical section)문제를 다루는 데 사용될 수 있음
- 동기화문제를 해결하는 데 사용됨


정보원(Sources)
--------------------------------------------------------
1. 조인시 위키
http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/%BC%BC%B8%B6%C6%F7%BE%EE%C0%C7%20%BB%E7%BF%EB

2. 텀즈
http://www.terms.co.kr/semaphores.htm

3. Semaphore Flag Signalling System
http://www.anbg.gov.au/flags/semaphore.html

4. Wikipedia
http://en.wikipedia.org/wiki/Semaphore_(programming)

5. Merriam-Webster OnLine
http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=semaphore
(illustration) http://www.m-w.com/mw/art/semaphor.htm

6. Unix semaphore example
http://docs.linux.cz/programming/c/unix_examples/semab.html


모임,단체(Commutities)
--------------------------------------------------------


블로그,개인 홈페이지 등(Humanities)
--------------------------------------------------------
1. 꿈이 있어도 호밀빵은 글쎄요 : tsim - 세마포어를 이용한 기차 시뮬레이션
http://noah.kaist.ac.kr/blog.jsp?b=1042&a=437398

2. bro의 이글이글 우~ : 세마포어 구현 ^^
http://broid.egloos.com/731817


참고문서(References)
--------------------------------------------------------
* 한국어(Korean)
백두권,곽덕훈. "운영체제". 한국방송통신대학교출판부. 1992. ( ISBN:89-20-34416-7 )

* 영어(English)
저자. 제목, 판, 출판사. 출판년도. (ISBN:)

반응형