교창상태 회피
Dijkstra가 제시한 은행가 알고리즘 이용
정의 :
1. 불안정상태 or 교착상태를 피할 수 있는 자원 할당 알고리즘
안전 (Safety)알고리즘
시스템이 안전 상태인지를 발견하는 알고리즘은 다음과 같다.
1. Work와 Finish를 각각의 값이 m과 n인 벡터라고 하면, Work = Available로 , Finish[i] = false I = 1,2,3, … , n으로 초기화한다. Work에 남아 있는 자원 수는 Available의 임시변수이다.
2. 다음과 같이 되는 i 값을 찾는다
ㄱ. Finish[i] = false
ㄴ. Need[i] <= Work
ㄷ. 이러한 i값이 있으면 3단계로 가고 , 없으면 4단계로 간다.
3. 자원을 할당한 후 , 해제한다
ㄱ. Work[i] = Work[i] + Allocation[i];
ㄴ. Finish[i] = true;
ㄷ. 2단계로 간다.
4. 모든 i에 대하여 Finish[i] = true 이면 , 이 시스템은 안정 상태이다
Ex)
안전한 수행 순서 : <p4,p2,p5,p3,p1>
은행가 알고리즘의 단점
1. 사용 가능한 일정량의 자원이 미리 존재하도록 요구된다
2. 남아 있는 사용자의 수가 수시로 변경됨
3. 모든 요청에 대하여 주어진 시간 내에서 자원을 할당할 수 있도록 강한 보장이 필요하다
4. 사전에 자기가 필요한 자원의 최대량을 제시 해야 된다.
'학부공부 > 운영체제' 카테고리의 다른 글
교착 상태 ( 4가지 조건 ) (0) | 2018.06.04 |
---|---|
교착상태 회피 ( 은행가 알고리즘 Ex문제풀이 ) (0) | 2018.06.01 |
파일시스템(정의,특징,기능,종류) (0) | 2018.05.30 |
교착 상태의 정의와 무한 연기 (0) | 2018.05.28 |
디스크 스케줄링(정의와 종류) (0) | 2018.05.23 |
#IT #먹방 #전자기기 #일상
#개발 #일상