HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
쉽게 배우는 운영체제
쉽게 배우는 운영체제
/
5️⃣
챕터 05. 프로세스 동기화
5️⃣

챕터 05. 프로세스 동기화

 

01 Inter-Process Communitaction, IPC

 
notion image
 
process 의 메모리(VMS)는 독립적이며 외부 접근을 허용하지 않는다. 이는 OS가 보장한다.
 
notion image
  • 데이터 교환
    • 데이터 전송 - Message Passing, 파일, 파이프(스트림), 소켓(파일),RPC을 이용
      • 길이가 동적임
    • 메모리 공유 - Shared Memory(전역변수, extern), RAM 을 이용
      • 길이가 고정
      • notion image
 

02 공유 자원과 임계구역

Critical Section 문제

  • race condition
  • producer-consumer 문제
  • …

해결 방법

  • Mutual Exclusion
  • Bounded waiting
  • Progress Flexibility
 

해결 알고리즘, 방식

  • 피터슨 알고리즘, 데커 알고리즘, …
    • 어렵다. busy waiting
  • 세마포어
    • 비교적 쉽다. no busy waiting
  • 뮤텍스
    • 이진 세마포어
  • 모니터
    • 세마포어를 추상화하여 잘못된 사용을 방지하는 것 (상호 배제의 보장)
    • 작업을 담는 모니터 큐와 처리를 위한 상태변수로 내부 구현이 이루어 질 수 있다.
 
@)See Also
[Worth spreading:티스토리] - 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이