Tech

Diary

Lecture

About Me

개발중

Process 동기화와 상호배제 2

JeongSeulho

2023년 01월 23일

준비중...
클립보드로 복사

📌mutual exclusion SW solutions

📖Dekker’s algorithm

  • 프로세스가 2개일때 ME의 조건을 만족하는 최초의 알고리즘

📖Peterson’s algorithm

  • 마찬가지로 프로세스 2개의 ME를 보장하는 비교적 간단한 알고리즘

📖Dijkstra’s algorithm

  • dijkstra 알고리즘의 flag[]값에 따른 의미 - 값이 1일때 idle : 프로세스가 임계 지역 진입을 시도하고 있지 않음 - 값이 2일때 want-in : 프로세스의 임계 지역 진입 시도 1단계임 - 값이 3일때 in-CS : 프로세스의 임계 지역 진입 시도 2단계 및 임계 지역 내임

🚨SW solution 문제점

  • 속도가 느림
  • 구현이 복잡
  • ME primitive 실행중 preemption 발생가능(machine instructor가 아니므로)
    • 공유 데이터 수정중 인터럽트 억제로 해결가능 단, 이또한 overhead
  • busy waiting : 대기하면서 루프문을 계속 도는 것(비효율적임)