IT 기술/CA & OS

세마포어, 모니터

gooooooood 2024. 12. 17. 18:06
반응형

Ⅰ. 세마포어와 모니터의 개념

세마포어 모니터
- 공유된 자원의 임계영역에 여러 프로세스가 접근하는 것을 막아주는 동시성 제어 기법 - JAVA 등 프로그래밍 언어 수준에서 세마포어 처럼 상호배제 기능 제공

 

Ⅱ. 세마포어와 모니터의 관계

가. 세마포어와 모니터 개념적 상관관계

- 세마포어는 모니터에 이론적 기반 제공, 모니터는 타이밍 문제점 보완하여 동시성 제어 위한 상호작용 지원

 

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

항복 세마포어 모니터
주체 OS, 개발자 주체 동시성 지원 프로그래밍 언어 수준 동시성
상호작용 - 모니터에 이론적 기반 제공
- 모니터에 효과적 기법 제공
- 타이밍 오류 해결
- 개발 편의성 제공
특징 s의 타입에 따라 이진/계수 세마포어 구분 한 시점에 하나의 프로세스만 모니터 내부에서 수행
동기화 구현 사례 Semaphore S;
P(s); // 감소 s--
임계구역()
V(s); // 증가 s++
Monitor monitor-name
{
Public entry p1(){}
Public entry p2(){}
}
언어 사례 P, V 연산으로 구현 JAVA의 synchronized Object, .net
공통점 동시성 지원을 위한 조정 기능 수행

 

Ⅲ. 세마포어와 모니터 활용 동시성 지원 방안

구분 지원 방안
세마포어 - 세마포어는 상호배제 / 동기화를 프로그래머가 담당, 고급 프로그래머의 주의 깊은 개발 필요
모니터 - 객체 단위의 설계가 이루어지기 때문에 설꼐 단계에서 상세 설계 고려 필요
동시성 - 필수적인 프로그래밍 요소지만 높은 수준의 프로그래밍 지원 필요

 

반응형

'IT 기술 > CA & OS' 카테고리의 다른 글

워치독 타이머  (0) 2024.12.17
운영체제 인터럽트  (0) 2024.12.17
파이프라인 해저드  (0) 2024.12.17
CPU 주소 지정 방식  (0) 2024.12.17
GPGPU  (0) 2024.12.16