當前位置:編程學習大全網 - 編程語言 - 如何用C語言描述操作系統中的死鎖算法?謝謝妳。

如何用C語言描述操作系統中的死鎖算法?謝謝妳。

銀行家算法用於避免死鎖。銀行家算法假設Requesti是進程Pi的請求向量。如果Requesti [j] = k,則表示進程Pi需要K個Rj型資源。當Pi發送資源請求時,系統按照以下步驟進行檢查:?(1)如果Requesti [j] ≤ Need [i,j],轉到步驟2;否則,它被認為是壹個錯誤,因為它需要的資源數量已經超過了它宣布的最大值。(2)如果Requesti [j] ≤ Available [j],轉到步驟(3);否則意味著資源不夠,Pi還要等。(3)系統試探性地給進程Pi分配資源,並修改以下數據結構中的值:?Available〔j〕j〔j〕= Available〔j〕-request I〔j〕;?Allocation〔i,j〕= Allocation〔I,j〕+Requesti〔j〕?Need〔i,j〕Need〔I,j〕request I〔j〕;?(4)系統執行安全算法以檢查在該資源分配之後系統是否處於安全狀態。如果是安全的,資源將被正式分配給進程Pi來完成這個分配;否則,試分配無效,恢復原來的資源分配狀態,進程Pi等待。(3)系統試探性地給進程Pi分配資源,並修改以下數據結構中的值:?Available〔j〕j〔j〕= Available〔j〕-request I〔j〕;?Allocation〔i,j〕= Allocation〔I,j〕+Requesti〔j〕?Need〔i,j〕Need〔I,j〕request I〔j〕;?(4)系統執行安全算法以檢查在該資源分配之後系統是否處於安全狀態。如果是安全的,資源將被正式分配給進程Pi來完成這個分配;否則,試分配無效,恢復原來的資源分配狀態,進程Pi等待。(3)系統試探性地給進程Pi分配資源,並修改以下數據結構中的值:?Available〔j〕j〔j〕= Available〔j〕-request I〔j〕;?Allocation〔i,j〕= Allocation〔I,j〕+Requesti〔j〕?Need〔i,j〕Need〔I,j〕request I〔j〕;?(4)系統執行安全算法以檢查在該資源分配之後系統是否處於安全狀態。如果是安全的,資源將被正式分配給進程Pi來完成這個分配;否則,試分配無效,恢復原來的資源分配狀態,進程Pi等待。
  • 上一篇:妳好,我需要筆記本做設計用,常用軟件有PS,AI,DW價格控制在1萬以內,有推薦嗎?
  • 下一篇:48個英語音標,把它們都寫出來,能夠看清楚的,不要太復雜
  • copyright 2024編程學習大全網