운영체제 - Inter Process Communication(프로세스간의 통신)

상호 배제(Mutual Exclusion)

  • Busy Waiting
  • Sleep and WakeUp
  • Semaphore(세마포어)
  • Mutex(뮤텍스)
  • Monitor
  • Message Passing
  • Barriers

Busy Waiting

Busy Waitingloop문 을 이용해 공유 자원을 사용할 수 있는지 계속 확인하는 방법이다.

  • cpu자원을 계속해서 낭비하기 때문에 무조건 적으로 피해야 한다.
  • 기다리는 시간이 매우 작을 때만 사용하는 것이 좋다.

Semaphore(세마포어)

공유된 자원의 데이터에 한번에 여러 프로세스가 접근하지 못하게 하는 알고리즘

공유자원에 따라 몇개의 프로세스를 접근시킬지에 따라서 이진 세마포어계수형 세마포어 로 나뉘게 된다

  • 이진 세마포어(binary semaphore)
  • 계수형 세마포어(counting semaphore)

뮤텍스

공유된 자원의 데이터에 한번에 여러 쓰레드가 접근하지 못하게 하는 알고리즘

Locking 매커니즘을 사용

모니터

  • 주로 고급 언어에서 이 기능을 지원한다.
Share