2010-05-17 3 views
0

그냥 빨리 쿼리 은행 알고리즘에 대한 몇 가지 설명이 필요한 시스템의 스냅 샷 프로세스 중 하나 (예 : 아래의 하나) 이미 모두가있는 경우... 다 익스트라의 <a href="http://en.wikipedia.org/wiki/Banker%27s_algorithm" rel="nofollow noreferrer">Banker's algorithm</a> 안전/안전하지 않은 상태에 대한

그 필요성이 충족되고 다른 프로세스의 필요를 충족시키기에 충분한 자원이 없다면, 시스템은 안전한 상태에 있는가? 우리는 일단 프로세스가 필요한 리소스를 받으면 곧 종료되고 모든 리소스를 반환한다고 가정합니다. 그러나이 상태는 시스템의 상태를 계산할 때 고려됩니다.

Allocated  Maximum  Available 

    | A | B   | A | B  A | B 
---+---+---  ---+---+--- ---+--- 
P1 | 1 | 2  P1 | 1 | 2  1 | 3 
P2 | 5 | 3  P2 | 7 | 8  

편집

그냥 내 질문에 조금 명확하게하려면 다음의 예에서 시스템이 안전 상태 또는 안전하지 않은 상태에서 위에? P1에서 자원을 반환 할 때까지 P2의 요청이 지연된다고 가정합니다. P2의 요청이 충족되어 시스템이 안전하거나 현재 가능한 요청을 수행 할 수 없기 때문에 시스템이 안전하지 않습니까?

+0

완료 할 수있는 일정이 이므로이 상태는 안전합니다. – user567879

답변

1

프로세스 1을 실행할 수 있기 때문에 시스템이 안전한 상태입니다. 작업이 완료되면 프로세스 2에 대한 자원 A와 자원 B의 충분한 사본이 완료됩니다. 따라서 시스템이 프로세스를 완료까지 실행할 수있는 "일정"이 있습니다. 이것은 안전하다는 것을 의미합니다.