동일하지 않음
은행가 알고리즘은 다음과 같은 전제조건을 가정합니다.
P0 ~ p 4 는 각각 은행가의 자원을 가지고 있지만, 그들의 목표를 달성하려면 각각 몇 가지 자원을 요청해야 한다.
현재 은행가들은 이미 많은 자원을 지불하고 있으며, 수중에 자원이 많지 않다. PX 들이 따로 필요로 하는 자원도 크기가 다르다.
은행가가 모든 자원을 지출한 후에도 pX 에서 아직 임무를 완수하지 못한 사람은 아무도 없어 교착 상태에 빠졌다.
= = = = = = = = = ==========================
이제 알고리즘은 먼저 P3 을 먼저 공급하고, P3 이 그의 스레드를 완성하면 P3 이 차지하는 자원을 확보할 수 있는 순서를 제시합니다. 은행가 (시스템) 는 P3 의 모든 자원과 자신의 손에 남아 있는 자원을 이용하여 순차적으로 P0, P4 등을 공급한다.
이제 P4 를 공급한 후 은행가가 자원 10 단위
를 손에 쥐고 있다고 가정합니다P1 총 * * * 프로세스를 완료하는 데 20 단위가 필요한데, P1 손에는 기존 5 단위
P2 총 * * * 프로세스를 완료하는 데 10 단위가 필요한데, p2 손에는 이미 8 단위가 있습니다
실례합니다. 시스템이 먼저 어떤 스레드를 공급해야 합니까?
대답은 p2 다음에 p1
입니다2 자원을 사용하여 p2 (완료 10 단위, 이미 8 단위, 2 단위) 를 공급하기 때문에 p2 가 작업을 완료한 후 모든 자원을 릴리즈하면 시스템 누적 자원은 P1 의 15 단위 (= 20-5) 를 충족시킬 수 있는 10-2+10 = 18 단위의 자원밖에 없습니다
반대로, 모든 자원이 P1 에 투입되면 P1 완료 진도 15/20 p2 완료 진도 8/10 이 완전히 죽는다
그래서 xxxxx p2 P1 은 살 수 있고 xxxxx P1 p2 는 죽을 것이다
특히 은행가 알고리즘은 하나 이상의 보안 순서를 얻을 수 있습니다. 은행가가 증명할 수 있는 알고리즘은 모두 죽을 수 없는 알고리즘이다