五、由於資源(Resources)有限,多個程序(Processes)在執行中會因競爭資源而造成 死結(Deadlock)。

⑵銀行家的算法(Banker’s Algorithm)可以避免死結發生,令 Max[i][j]=k,表示程序 Pi要求(Request)至多 k 個 Rj類型的資源;Allocation[i][j]=k,表示程序 Pi 分配到 k 個 Rj類型的資源;Available[j]=k,表示 Rj類型的資源有 k 個;Need[i][j]=k, 表示程序 Pi需要 k 個 Rj類型的資源才可以完成工作。假設目前有 5 個行程分別為 P0、P1、P2、P3、P4,和 3 種不同類型的資源分別為 A、B、C,其中 A 類型的有 12 個、B 類型的有 5 個、C 類型的有 7 個。假設時間 T0時,系統資源分配如表一,詳述一程序序列(A Sequence of Processes)是當前分配狀態的安全序列(Safety Sequence)。當時間 T1時,程序 P1額外要求 1 個 A、2 個 C,詳述在這個情況下系統是否同意分配?(15 分)