검색어 입력폼
평가점수C

[컴퓨터 운영체제] Dekker 알고리즘, Test And Set, 세마포어의 wait, signal연산들의 장단점을 논하라

저작시기 2004.05 |등록일 2004.09.07 한글파일한컴오피스 (hwp) | 3페이지 | 가격 500원

목차

없음

본문내용

세마포어는 상호배제를 실현하기 위한 동기화 도구이다. 일종의 깃발 세우기라 할 수 있다. 세마포어는 정수 값을 갖는 일종의 변수로 표준연산 P(S)와 V(S) 그리고 초기화 연산만으로 접근 가능한 공유변수이다. 여기서 P와 V연산은 원자(atomic)연산이다. 즉, wait와 signal연산이 세마포어 변수를 수정하는 일은 개별적으로 실행하고, 한 프로세스가 세마포어 변수 S를 수정하면 다른 프로세스는 동일 변수 S에 대하여 수정할 수 없다. 또, wait와 signal도 분할 가능하지 않은 명령이다. 즉, 분할이 불가능한, 일단 한번 실행되면 실행이 끝나야만 하는, 한 Clock내에 실행되는 연산이다. 이때, P연산은 wait를 의미하고 V연산은 signal을 의미한다.

P연산과 V연산에 대한 정의는 다음과 같으며, 특정 프로세스(A)가 임계구역에 진입하기 위해서는 P(S)연산을 수행하여 Semaphore S가 양수인지, 아닌지를 판단해야 한다. S의 초기값은 1이므로 양수가 아니라면 누군가가 이미 임계구역내에 존재한다는 말이 되고, 양수라면 아무도 임계구역 내에 있지 않다는 의미이므로, 프로세스 (A)는 S를 하나 감소시키고 임계구역에 진입하게 된다. 이제 A는 임계구역을 사용하고, 빠져나오면서 V(S)연산을 수행한다. V(S)연산은 단순히 Semaphore변수의 값을 하나 증가시켜 주는 것이다. 그러면 0이었던 S값은 이제 1이 되어, 밖에서 대기하고 있던 프로세스 중 하나가 임계구역에 진입할 수 있게 된다.

참고 자료

없음
다운로드 맨위로