본문 바로가기
Computer: Operating System

Concepts: Synchronization Tools

by riwonet 2024. 10. 4.

1. 동기화 알고리즘 조건
완전한 동기화 알고리즘을 위해서는 상호 배제(Mutual Exclusion)와 진행(Progress), 한정된 대기(Bounded Waiting)의 3요소를 갖추어야 합니다.
 
2. 동기화 방법 종류

  • 소프트웨어 동기화 방법: Peterson's solution이 있습니다.
  • 하드웨어 서포트: atomic하게끔 하드웨어 서포트가 제공되는 소프트웨어 동기화 방법으로는 Mutex lock, Semaphore가 존재합니다. 
  • 하드웨어 동기화 방법: test_and_set 방식과 compare_and_swap 방식으로 나뉘게 됩니다.
  • 객체 지향 기법: 하이레벨로 구현되어 객체 지향 기법이 적용된 동기화 방법으로는 Monitor가 있습니다.

참고. Monitor의 구조
모니터의 경우 공유 데이터에 대한 lock 제어를 모니터가 자동적으로 수행하게 됩니다. 즉 공유 데이터에 대한 접근은 모니터 안에서만 가능합니다.

공유 데이터 접근이 모니터 내에서만 가능한 것을 볼 수 있습니다.