운영체제 (모니터를 사용하여 생산자-소비자구현)
- 최초 등록일
- 2010.03.28
- 최종 저작일
- 2009.05
- 7페이지/
한컴오피스
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
1. 과제물에 대한 설명 (목표, 내용 등)
① 세마포어는 공유자원에 대한 상호배제를 강화하고, 프로세스들을 조정하는 강력하면서 유연한 도구이다.
② 세마포어를 사용하여 정확한 프로그램 작성의 어려움이 있다.
- wait, signal 연산이 프로그램에 분산 되어 있을 때 세마포어 연산의
전체적인 효과를 파악하기 쉽지 않다.
③ 모니터
- 세마포어와 동일한 기능을 제공하지만 세마포어보다 제어가 손쉬운 고수준의
동기화구문이다.
- 개념 제시: Hoare, Brinch Hansen
④ 모니터 구문은 다수의 병행 프로그래밍 언어에서 구현되어 있다.
- 예) Concurrent Pascal, Pascal-plus, Modula-2/3 등
- 최근에는 프로그램 라이브러리로 구현되고 있다.
목차
1. 과제물에 대한 설명 (목표, 내용 등)
2. 소스 코드
3. 실행 결과 화면 캡쳐
4. 과제후기
5. 참고문헌
본문내용
1. 과제물에 대한 설명 (목표, 내용 등)
① 세마포어는 공유자원에 대한 상호배제를 강화하고, 프로세스들을 조정하는 강력하면서 유연한 도구이다.
② 세마포어를 사용하여 정확한 프로그램 작성의 어려움이 있다.
- wait, signal 연산이 프로그램에 분산 되어 있을 때 세마포어 연산의
전체적인 효과를 파악하기 쉽지 않다.
③ 모니터
- 세마포어와 동일한 기능을 제공하지만 세마포어보다 제어가 손쉬운 고수준의
동기화구문이다.
- 개념 제시: Hoare, Brinch Hansen
④ 모니터 구문은 다수의 병행 프로그래밍 언어에서 구현되어 있다.
- 예) Concurrent Pascal, Pascal-plus, Modula-2/3 등
- 최근에는 프로그램 라이브러리로 구현되고 있다.
⑤ 상호 배제 보장
- 한 번에 하나의 프로세스만 모니터 내에 존재하도록 한다.
- 공유 데이터 보호를 위해 공유 데이터를 모니터 내에 둔다.
(단, 프로세스가 모니터에 진입할 때 공유 데이터에 lock을 설정한다.)
⑥ 조건 변수(condition variable)를 이용한 동기화
- 모니터를 호출한 프로세스는 조건이 만족될 때까지 중단된다.
- 조건이 충족되고 모니터가 가용 상태가 되면 해당 프로세스가 수행을 재개하며 중단 지점에서 모니터에 재진입하게 된다.
- 조건 변수: 모니터 내에 존재하는 지역 변수
( 변수 선언 var x, y : condition; )
⑦ 모니터에는 한 번에 하나의 실행 프로세스만 존재한다.(즉, 상호배제)
참고 자료
http://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8B%88%ED%84%B0_(%EB%8F%99%EA%B8%B0%ED%99%94)