문제1) 세마포어(Semaphore)와 모니터(Monitor)
답)
1. 동시성에 대한 SW 적인 해결책 세모포어와 모니터의 개요
가. 세모포어와 모니터의 정의
세마포어(Semaphore)
|
모니터(Monitor)
|
|
|
나. 동시성 지원을 위한 세마포어와 모니터의 역할
|
2. 세마포어와 모니터의 개념적 상호관계 및 상세 설명
가. 세모포어와 모니터의 개념적 상호관계
- 세마포어는 모니터에게 이론적 기반을 제공하고 모니터는 세마포어의 타이밍 문제점을 보완
|
나. 세모포어와 모니터의 상세 설명
구분
|
세마포어(Semaphore)
|
모니터(Monitor)
|
주체
|
OS, 개발자 주체의 동시성 지원
|
프로그래밍 언어 수준의 동시성 지원
|
상호작용
|
모니터에게 이론적 기반제공
모니터에게 효과적인 기법제공 |
세마포어의 단점인 타이밍 오류 해결
세마포어의 단점인 개발편의성의 보완 |
특징
|
S의 타입에 따라 Binary / Counting 세마포어로 구분
|
한 시점에 하나의 프로세스만 모니터 내부에서 수행
세마포어와 계산 능력은 동일 |
동기화
구현사례 |
Semaphres S;
P(S); // 검사역할, S- 임계구역() V(S); // 증가역할, S++ |
Monitor monitor-name
{ // 지역변수선언 Public entry p1(...){ } Public entry p2(...){ } } |
언어사례
|
P, V 연산으로 구현
|
JAVA의 synchronized Object,
.net 의 모니터 |
공통점
|
동시성 지원을 위한 조정(Coordination) 기능을 수행
|
|
|
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보관리기술 > CA,OS' 카테고리의 다른 글
우선순위 역전(Priority Inversion) (23) | 2024.03.18 |
---|---|
DAS, NAS, SAN (66) | 2024.03.08 |
NoSQL / ① (75) | 2024.03.07 |
Race Condition / ① (73) | 2024.03.07 |
스레싱(Thrashing) / ① (53) | 2024.03.06 |