7. DEADLOCK
<데드락>
프로세스들이 서로가 가진 자원을 기다리며 blocked된 상태
*****4가지 조건*****
1. Mutual Exclusion (상호배제) 매 순간 하나의 프로세스
2. No preemtion (비 선점) 자원을 강제로 빼앗을 수 없음
3. Hold and Wait (보유 대기) 기다리면서 자원도 가짐
4. Circular wait (순환 대기) 프로세스간에 사이클 형성
****4가지 해결방법****
1. Prevention (예방): 4가지 조건 중 하나 불만족
2. Avoidance (회피): 데드락 가능성 없을떄에만 자원 할당. Safe 상태.
- 자원 할당 그래프: 사이클이 없어야함.
- Banker's 알고리즘: 요청 자원 <= 가용자원.
3. Detection & Recovery (발견과 회복): detection 루틴, 강제 종료..
- Wait for graph 알고리즘
4. Ignorance (무시): OS가 관여하지 않음
Comments
Post a Comment