모니터(동시성 제어)

From CS Wiki
Revision as of 00:48, 3 September 2021 by 아이리움 (talk | contribs) (새 문서: '''P,Monitor''' Concurrent-Pascal, Module-2/3, JAVA 등 프 로그래밍언어 수준에서 세마포어처럼 상호배제 기능 을 제공하는 소프트웨어 모듈 == 세...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

P,Monitor

Concurrent-Pascal, Module-2/3, JAVA 등 프 로그래밍언어 수준에서 세마포어처럼 상호배제 기능 을 제공하는 소프트웨어 모듈

세마포어와의 비교[edit | edit source]

세마포어는 모니터에게 이론적 기반을 제공하고 모니터는 세마포어의 타이밍 문제점을 보완

구분 세마포어 모니터
주체
  • OS, 개발자 주체의 동시성 지원
  • 프로그래밍 언어 수준의 동시성 지원
상호작용
  • 모니터에게 이론적 기반제공
  • 모니터에게 효과적인 기법제공
  • 세마포어의 단점인 타이밍 오류 해결
  • 세마포어의 단점인 개발편의성의 보완
제어 방법
  • P연산, V연산으로 임계영역 접근제어


  • 한 시점에 하나의 프로세스만 모니터 내부에서 수행토록 제어
동기화 구현
  • P, V 연산 직접 구현
  • JAVA의 synchronized Object
  • .net의 모니터 등
  • 세마포어는 상호배제/동기화를 프로그래머가 담당하여 고급 프로그래머의 주의 깊은 개발이 필요함
  • 모니터는 객체단위의 설계가 이루어지기 때문에 설계단계에서 상세 설계가 고려되어야 함

같이 보기[edit | edit source]

참고 문헌[edit | edit source]

  • 121회 이룸 동기회 해설집