CS/운영체제
운영체제 [동기화 - SW solution]
동 캄
2022. 1. 17. 16:39
반응형
동기화 (Synchronization)
- 프로세스들이 서로 동작을 맞추는 것
- 프로세스들이 서로 정보를 공유하는 것
임계영역(Critical section)
- 공유 데이터를 접근하는 코드 영역
상호배제(Mutual exclusion)
- 둘 이상의 프로세스가 동시에 critical section에 진입하는 것을 막는 것
동기화 구현 조건
상호배제 (Mutual exclusion)
- Critical section (CS)에 프로세스가 있으면, 다른 프로세스의 진입을 금지
진행 (Progress)
- CS 안에 있는 프로세스 외에는, 다른 프로세스가 CS에 진입하는 것을 방해 하면 안됨.
한정대기 (Bounded waiting)
- 프로세스의 CS진입은 유한시간 내에 허용되어야 함
Mutual Exclusion Solutions -SW solution
Dekker's Algorithm & Pertersion's Algorithm
- Two process ME를 보장하는 최초의 알고리즘
- flag와 turn을 이용하여 동기화 구현 조건을 만족
Dijkstra's Algorithm
- flag의 값 idle, want-in, in-CS
- in-CS에서 Mutual Exclusion을 확인한 뒤, critical section에 진입
단점
-속도가 느림
-구현이 복잡함
- ME primtive 중 preemption 발생 가능
- busy waiting 발생가능
반응형