출제예상 모니터/Monitor 동기화 - 세마포어와 관계 설명 가능
- 프로세스 동기화 수행시 세마포어의 단점인 타이밍 문제를 해결하기 위하여 프로그래밍 언어 수준에서 상호배제를 구현하여 동기화를 제공하는 기법.
(중요) 프로그램 언어로, 제어한다는 것. 이로인해, 변수로 제어 하겠다는 개념
세마포어의 P 연산과 V 연산
122회 기출
토픽 이름 () 모니터(Monitor) 동기화
분류 OS > 병행제어 > 모니터(Monitor) 동기화
키워드(암기) 타이밍 문제, 언어수준의 상호배제, 배타동기, 조건동기, synchronized,wait,notify
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 6. 모니터(Monitor) 프로세스 동기화 기법 _119..1.6
2 세마포어(Semaphore) 모니터(Monitor) 상호관계를 설명하시오. _98..1.11
3 세마포어(Semaphore) 모니터(Monitor) 상호관계를 설명하시오. 1501--1-8

 

 

I. 상호배제의 SW적인 해결책 모니터의 개요

. 모니터의 정의

- 세마포어의 이론을 기반으로 프로그래밍언어 수준에서 상호배제 기능을 제공하는 소프트웨어 모듈

. 모니터의 특징

- 지역 변수는 모니터 내부에서만 접근 가능

- 프로세스는 모니터 프로시저 하나를 호출함으로써 모니터 내부로 진입

- 시점에 하나의 프로세스만 모니터 내부에서 수행 가능

- 세마포어보다 High Level 동기화 메소드로 사용하기 용이함

 

II. 모니터의 개념도 유형

. 모니터의 개념도

<동기화 방법>
- cwait(c) : 호출한 프로세스를 조건 c에서 일시중지


- csignal(c) : cwait에 의해 중지된 프로세스를 재개시킴

. 모니터의 유형

유형 프리미티브 구현 핵심 구현방법
시그널 기반
유한 버퍼 모니터
if 사용 If (count == N) cwait(notfull); /*버퍼에 문자가 가득 찬 경우. 오버플로 방지*/

csignal 사용 csignal(notempty); /*not empty조건 변수에서대기하고 있는 프로세스를 깨움*/
MESA 기반
유한 버퍼 모니터
while 사용 while (count == N) cwait(notfull); /*버퍼에 문자가 가득 찬 경우. 오버플로 방지*/

cnotify 사용 cnotify(notfull); /*대기하는 생산자가 있으면 조건 발생을 통보*/

 

III. 세마포어와 모니터의 상호관계

 

“끝”

 

반응형

'정보관리기술사 > CA_OS' 카테고리의 다른 글

운영체제특권레벨  (0) 2023.11.28
Banker's Algorithm(은행가알고리즘)  (1) 2023.11.27
교착상태(Deadlock)  (0) 2023.11.25
우선순위 역전  (0) 2023.11.24
Semaphore  (1) 2023.11.23

+ Recent posts