- 교착 상태 회피(Deadlock avoidance)
자원 할당이 교착 상태를 발생시키는 자원에 대한 요청을 인정하지 않는 방법
-교착 상태 회피의 개념
- 목적 : 덜 엄격한 조건 요구하여 자원을 좀 더 효율적으로 사용하는 것.
- 교착 상태의 모든 발생 가능성을 미리 제거하는 것이 아닌 교착 상태 발생할 가능성을 인정하고(세 가지 필요조건 허용), 교착 상태가 발생하려고 할 때 적절히 회피하는 것.
- 예방보다는 회피가 더 병행성을 허용한다고 볼 수 있다.
- 교착 상태의 회피 방법
프로세스의 시작 중단 : 프로세스의 요구가 교착 상태 발생시킬 수 있다면 프로세스 시작 중단
자원 할당 거부 : 프로세스가 요청한 자원을 할당했을 때 교착 상태가 발생할 수 있다면 요청한 자원을 할당하지 않음.
-교착 상태 회피와 관련된 시스템의 상태
-안정 상태와 불안정 상태의 자원 예
불안정상태는 어떤 현재사용량에서 여분자원수를 더해도 최대 사용량이 더 높음.
-자원 할당 거부(은행가 알고리즘)
-은행가 알고리즘 구현을 위한 자료구조
Need[i, j] = Max[i, j] - Allocation[i, j] 식 성립
-프로세스 P(i)가 자원 요청 시 일어나는 동작
-안전 알고리즘의 시스템 상태 검사
시간 t(0)일때 시스템의 상태
-은행가 알고리즘의 단점
- 교착 상태 탐지
항상 가능하면 자원 요청을 인정한다. 주기적으로 교착 상태 발생을 탐지하고 발생한 경우 회복하도록 한다.
-교착 상태 회복에 필요한 알고리즘
시스템 상태 검사하는 교착 상태 탐지 알고리즘
교착 상태에서 회복시키는 알고리즘
-교착 상태 회복의 특징
-교착 상태 탐지 알고리즘
-교착 상태 탐지 알고리즘 순서
Finish[i] 가 True면 안정상태이고 False면 교착상태로 판별한다.
-시간 t(0)일 때 시스템의 상태
-탐지 알고리즘 호출
-교착상태 회복 방법
회복법 1.자원 선점 2.프로세스 중단
-기아상태
-식사하는 철학자 문제에서 철학자 i 구조
-식사하는 철학자 문제의 해결 방안
출처 : 저서명: 운영체제 개정 3판, 저자: 구현회, 출판사: 한빛아카데미, 발행년: 2017
'Computer Science(cs 지식)' 카테고리의 다른 글
[운영체제]분산시스템, 네트워크 (0) | 2021.12.05 |
---|---|
유닉스의 탄생과 구성 (0) | 2021.12.05 |
cs 정리 (0) | 2021.11.19 |
[운영체제]교착상태와 기아상태 (0) | 2021.11.18 |
[운영체제] 병행 프로세스, 상호배제와 동기화, 임계영역 (0) | 2021.11.11 |