동캄의 코딩도장

운영체제 [동기화- language level solution] 본문

CS/운영체제

운영체제 [동기화- language level solution]

동 캄 2022. 1. 18. 12:17

High-level Mechanism

- Language-level constructs
- Object-Oriented concept와 유사
- Monitor, path expressions 등이 존재


장점

- 사용이 쉬움
- Deadlock등 error 발생 가능성이 낮음


단점

- 지원하는 언어에서만 사용가능
- 컴파일러가 OS를 이해하고 있어야 함


Monitor

- 공유 데이터와 Critical section의 집합
- Conditional variable (wait(), signal() 연산)


Monior의 구조

Entey queue(진입 큐)
- 모니터 내의 procedure 수 만큼 존재

Mutual Exclusion
- 모니터 내에는 항상 하나의 프로세스만 진입 가능

Information hiding (정보 은폐)
- 공유 데이터는 모니터 내의 프로세스만 접근 가능

Condition queue (조건 큐)
- 모니터 내의 특정 이벤트를 기다리는 프로세스가 대기

Signaler queue (신호제공자 큐)
- 모니터에 항상 하나의 신호제공자 큐가 존재
- signal() 명령을 실행한 프로세스가 임시 대기