熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

《操作系統》之銀行家算法[2]

2013-11-15 15:54:20  來源: 操作系統 

  ()系統執行安全性檢查如安全則分配成立;否則試探險性分配作廢系統恢復原狀進程等待

  安全性檢查

  ()設置兩個工作向量WORK=AVAILABLE;FINISH[M]=FALSE

  ()從進程集合中找到一個滿足下述條件的進程

  FINISH[i]=FALSE

  NEED<=WORK

  如找到執行();否則執行()

  ()設進程獲得資源可順利執行直至完成從而釋放資源

  WORK=WORK+ALLOCATION

  FINISH=TRUE

  GO TO

  ()如所有的進程Finish[M]=true則表示安全;否則系統不安全

  程序流程圖

  銀行家算法流程圖

  實驗總結與體會

  操作系統是計算機系統中必不可少的系統軟件它是計算機系統中各種資源的管理者和各種活動的組織者指揮者銀行家算法是為了使系統保持安全狀態我們可以把操作系統看作是銀行家操作系統管理的資源相當於銀行家管理的資金進程向操作系統請求分配資源相當於用戶向銀行家貸款操作系統按照銀行家制定的規則為進程分配資源當進程首次申請資源時要測試該進程對資源的最大需求量如果系統現存的資源可以滿足它的最大需求量則按當前的申請量分配資源否則就推遲分配當進程在執行中繼續申請資源時先測試該進程已占用的資源數與本次申請的資源數之和是否超過了該進程對資源的最大需求量若超過則拒絕分配資源若沒有超過則再測試系統現存的資源能否滿足該進程尚需的最大資源量若能滿足則按當前的申請量分配資源否則也要推遲分配

  通過上面這個例子我們看到銀行家算法確實能保證系統時時刻刻都處於安全狀態但它要不斷檢測每個進程對各類資源的占用和申請情況需花費較多的時間

  本次實驗為時兩天多總體上來說實驗是比較成功的由於時間倉促做的不是很完美敬請諒解

  附件

  操作說明根據提示輸入本次申請資源的進程號和申請資源數如圖

  如資源申請成功顯示本次的申請後的一個進程安全執行序列如圖

  如資源申請不成功則恢復申請前的資源狀況如圖

  如對I類申請數大於進程還需要I類資源的資源量或大於系統可用I類資源數如圖

  源程序清單

[]  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/czxt/201311/24182.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.