Deadlock이란?
각 프로세스가 서로 기다리기만 하는 상태. 이른바 교착상태이다.
Deadlock을 발생시키는 네 가지 조건이 있다.
네가지 조건이 모두 만족했을때 Deadlock이 발생할 가능성이 생김.
현재 os에서 deadlock을 다루는 방법
- Deadlock prevention
: 위 조건 4가지중 하나라도 만족 안하면 prevention 가능 - Deadlock avoidance
: 운영체제에서 할당하는 자원이 deadlock이 될 가능성이 있는지 판단해서 알맞게 할당해서 avoidance한다.
: 근데 너무 복잡하고 overhead가 너무 커서 요즘 운영체제에서는 지원 안한다. - Deadlock detection and recovery
: 일단 주고 주기적으로 검사한다. 근데 이것도 안씀.
그럼 운영체제는 뭐하나? 그냥 적은 가능성 무시한다.
프로그램을 만드는 사람이 deadlock을 안생기게 짜야됨.
'학교공부 > 운영체제' 카테고리의 다른 글
Memory Management Starategies -2 (0) | 2020.05.22 |
---|---|
Memory Management Starategies (0) | 2020.05.20 |
Synchronization (0) | 2020.05.09 |
Process Scheduling - 2 (0) | 2020.05.01 |
Process Scheduling (0) | 2020.04.29 |