Can you summarize the following document?
        
  在銀行中,客戶申請貸款的數量是有限的,每個客戶在第一次申請貸款時要宣告完成該專案所需的最大資金量,在滿足所有貸款要求時,客戶應及時歸還。銀行家在客戶申請的貸款數量不超過自己擁有的最大值時,都應儘量滿足客戶的需要。在這樣的描述中,銀行家就好比作業系統,資金就是資源,客戶就相當於要申請資源的程序。

  Allocation Max Available  我們會看到一個資源分配表,要判斷是否為安全狀態,首先先找出它的Need,Need即Max(最多需要多少資源)減去Allocation(原本已經分配出去的資源),計算結果如下:  然後加一個全都為false的欄位  接下來找出need比available小的(千萬不能把它當成4位數 他是4個不同的數)  P2的需求小於能用的,所以配置給他再回收  此時P2 FINISH的false要改成true(己完成)  接下來繼續往下找,發現P3的需求為0002,小於能用的2952,所以資源配置給他再回收 依此類推,做完P4→P1,當全部的FINISH都變成true時,就是安全狀態。

  如果所有過程有可能完成執行(終止),則一個狀態(如上述範例)被認為是安全的。由於系統無法知道什麼時候一個過程將終止,或者之後它需要多少資源,系統假定所有程序將最終試圖獲取其宣告的最大資源並在不久之後終止。在大多數情況下,這是一個合理的假設,因為系統不是特別關注每個程序執行了多久(至少不是從避免死鎖的角度)。此外,如果一個程序終止前沒有獲取其它能獲取的最多的資源,它只是讓系統更容易處理。  基於這一假設,該演算法通過嘗試尋找允許每個程序獲得的最大資源並結束(把資源返還給系統)的程序請求的一個理想集合,來決定一個狀態是否是安全的。不存在這個集合的狀態都是不安全的。

  P - 程序的集合  Mp - 程序p的最大的請求數目  Cp - 程序p當前被分配的資源  A - 當前可用的資源
銀行家演算法(Banker's Algorithm)是一個避免死鎖(Deadlock)的著名演算法,是由艾茲格·迪傑斯特拉在1965年為T.H.E系統設計的一種避免死結產生的演算法。它以銀行借貸系統的分配策略為基礎,判斷並保證系統的安全執行。