操作系統(tǒng)-銀行家算法問題
1、銀行家算法是死鎖避免的重要算法。銀行家算法:資源==錢;收回資源==收回貸款;收不回資源==不會放貸;例題:假設(shè)系統(tǒng)中有三類互斥資源R1,R2,R3。
2、銀行家算法: 設(shè)Requesti是進程Pi的請求向量,如果Requesti[j]=K,表示進程Pi需要K個Rj類型的資源。
3、②采用銀行家算法進行計算分析可知:系統(tǒng)可以滿足P2進程對資源的請求,將資源分配給P2之后,至少可以找到一個安全的執(zhí)行序列,如(P2, P1, P3, P4)使各進程正常運行終結(jié)。
4、比如1單位是1千美元),銀行家知道不可能所有客戶同時都需要最大貸款額,所以他只保留10個單位而不是22個單位的資金來為客戶服務(wù)。這里將客戶比作進程,貸款單位比作資源,銀行家比作操作系統(tǒng)。
關(guān)于銀行家算法
銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進程動態(tài)地申請資源,但系統(tǒng)在進行資源分配之前,應(yīng)先計算此次分配資源的安全性,若分配不會導(dǎo)致系統(tǒng)進入不安全狀態(tài),則分配,否則等待。
現(xiàn)在,算法得出這樣一條順序,先優(yōu)先供應(yīng)p3,等p3完成他的線程后,p3會釋放所占有的資源。銀行家(系統(tǒng))利用p3所有的資源和自己手里剩余的資源按順序供應(yīng)p0,p4 等等。
用銀行家算法判斷下述每個狀態(tài)是否安全。如果安全,說明所有進程是如何能夠運行完畢的。如果不安全,說明為什么可能出現(xiàn)死鎖。
②采用銀行家算法進行計算分析可知:系統(tǒng)可以滿足P2進程對資源的請求,將資源分配給P2之后,至少可以找到一個安全的執(zhí)行序列,如(P2, P1, P3, P4)使各進程正常運行終結(jié)。
此時系統(tǒng)是安全的,寫出當(dāng)前需求矩陣和當(dāng)前資源總數(shù)就可以知道了,存在安全序列DABCE。要問進程b可不可以立即分配,先假設(shè)可以分配,然后更新矩陣,在看看是不是存在安全矩陣就ok了,e進程也是一樣的。
什么是銀行家算法
1、銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進程動態(tài)地申請資源,但系 銀行家算法統(tǒng)在進行資源分配之前,應(yīng)先計算此次分配資源的安全性,若分配不會導(dǎo)致系統(tǒng)進入不安全狀態(tài),則分配,否則等待。
2、銀行家算法問題是研究一個銀行家如何將其總數(shù)一定的現(xiàn)金安全地借給若干個顧客,使這些顧客既能滿足對資金的要求,又能完成其交易,也使銀行家可以收回自己的全部現(xiàn)金不致于破產(chǎn)。
3、. 銀行家算法 設(shè)Requesti是進程Pi的請求向量,如果Requesti[j]=K,表示進程Pi需要K個Rj類型的資源。
4、銀行家算法是由艾茲格·迪杰斯特拉在1965年為T.H.E系統(tǒng)設(shè)計的一種避免死鎖產(chǎn)生的算法。
5、銀行家算法是從當(dāng)前狀態(tài)出發(fā),逐個按安全序列檢查各客戶中誰能完成其工作,然后假定其完成工作且歸還全部貸款,再進而檢查下一個能完成工作的客戶。如果所有客戶都能完成工作,則找到一個安全序列,銀行家才是安全的。
6、擴展的銀行家算法 就是銀行家算法的擴展。描述:n:系統(tǒng)中的進程個數(shù)。m:系統(tǒng)中的資源類型數(shù)。Available(1:m):現(xiàn)有資源向量。Available(j)=k 表示有k個未分配的j類資源。
“銀行家算法”是怎樣的一個算法?
銀行家算法問題是研究一個銀行家如何將其總數(shù)一定的現(xiàn)金安全地借給若干個顧客,使這些顧客既能滿足對資金的要求,又能完成其交易,也使銀行家可以收回自己的全部現(xiàn)金不致于破產(chǎn)。
銀行家算法是最有代表性的避免死鎖算法,是Dijkstra提出的銀行家算法。這是由于該算法能用于銀行系統(tǒng)現(xiàn)金貸款的發(fā)放而得名。
銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進程動態(tài)地申請資源,但系統(tǒng)在進行資源分配之前,應(yīng)先計算此次分配資源的安全性,若分配不會導(dǎo)致系統(tǒng)進入不安全狀態(tài),則分配,否則等待。
操作系統(tǒng)題目,好的追加高分,感謝大蝦
1、本課程設(shè)計的目的是綜合應(yīng)用學(xué)生所學(xué)知識,通過實驗環(huán)節(jié),加深學(xué)生對操作系統(tǒng)基本原理和工作過程的理解,提高學(xué)生獨立分析問題、解決問題的能力,增強學(xué)生的動手能力。
2、解:1M內(nèi)存的情況:1)支持用戶進程數(shù):(1024K-200K)/200K=12 所以4個用戶進程。
3、因為一級頁表域長為10位,二級頁表域長為10位,這樣一級頁表和二級頁表就都有2的10次方即1K個表項,那么一個表的頁面容量為1K*1K等于1M頁,也即對應(yīng)了1M個頁框咯。答案就是頁面容量為1M頁,1M個頁框。
4、兩種情況。第一種:直接在快表中找到,只需訪問一次內(nèi)存。所需時間為200+10ns。第二種,快表中找不到,還得去內(nèi)存中找。所需時間為,200+10+200ns。
5、中斷位: 表示該頁是否已調(diào)入內(nèi)存 訪問位: 記錄本頁在一段時間內(nèi)被訪問次數(shù) 修改位: 表示該頁調(diào)入內(nèi)存后是否修改過 輔存地址:指出該頁在輔存上的地址 物理地址:5896 缺頁中斷,從輔存8000位置調(diào)入該頁。