版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 軟件技術(shù)課程設(shè)計報告</p><p> 課程名稱:模擬銀行家算法原理</p><p><b> 班級: </b></p><p><b> 學(xué)號: </b></p><p><b> 姓名: </b></p><
2、;p> 指導(dǎo)老師: </p><p><b> 2009年5月2日</b></p><p><b> 一 設(shè)計目的</b></p><p> 模擬實現(xiàn)銀行家算法,用銀行家算法實現(xiàn)資源分配。</p><p><b> 二 問題描述</b></p>
3、;<p> 在死鎖的避免中,銀行家算法把系統(tǒng)狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終處于安全狀態(tài),便可以避免發(fā)生死鎖。所謂安全狀態(tài),是指系統(tǒng)能按某種順序為每個進程分配所需資源,直到最大需求,使每一個進程都可以順利完成,即可找到一個安全資源分配序列。模擬實現(xiàn)這個工作過程。</p><p><b> 三 設(shè)計思路</b></p><p> 我們可
4、以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進程向操作系統(tǒng)請求分配資源相當(dāng)于用戶向銀行家貸款。操作系統(tǒng)按照銀行家制定的規(guī)則為進程分配資源,當(dāng)進程首次申請資源時,要測試該進程對資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請量分配資源,否則就推遲分配。當(dāng)進程在執(zhí)行中繼續(xù)申請資源時,先測試該進程已占用的資源數(shù)與本次申請的資源數(shù)之和是否超過了該進程對資源的最大需求量。若超過則拒絕分配資源,若沒有
5、超過則再測試系統(tǒng)現(xiàn)存的資源能否滿足該進程尚需的最大資源量,若能滿足則按當(dāng)前的申請量分配資源,否則也要推遲分配。</p><p><b> 四 詳細設(shè)計</b></p><p><b> 1、初始化</b></p><p> 由用戶輸入數(shù)據(jù),分別對可利用資源向量矩陣AVAILABLE、最大需求矩陣MAX、分配矩陣ALL
6、OCATION、需求矩陣NEED賦值。</p><p><b> 2、銀行家算法</b></p><p> 在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖。銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的;若是,才分配。</p&
7、gt;<p> 設(shè)進程cusneed提出請求REQUEST [i],則銀行家算法按如下規(guī)則進行判斷。</p><p> (1)如果REQUEST [cusneed] [i]<= NEED[cusneed][i],則轉(zhuǎn)(2);否則,出錯。</p><p> (2)如果REQUEST [cusneed] [i]<= AVAILABLE[cusneed][i],則
8、轉(zhuǎn)(3);否則,出錯。</p><p> (3)系統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù):</p><p> AVAILABLE[i]-=REQUEST[cusneed][i];</p><p> ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];</p><p> NEED[cusneed][i]-=RE
9、QUEST[cusneed][i];</p><p> (4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統(tǒng)恢復(fù)原狀,進程等待。</p><p> (5)對于某一進程i,若對所有的j,有NEED[i][j]=0,則表此進程資源分配完畢,應(yīng)將占用資源釋放。</p><p><b> 3、安全性檢查算法</b></p
10、><p> (1)設(shè)置兩個工作向量Work=AVAILABLE;FINISH</p><p> (2)從進程集合中找到一個滿足下述條件的進程,</p><p> FINISH==false;</p><p> NEED<=Work;</p><p> 如找到,執(zhí)行(3);否則,執(zhí)行(4)</p>
11、<p> (3)設(shè)進程獲得資源,可順利執(zhí)行,直至完成,從而釋放資源。</p><p> Work+=ALLOCATION;</p><p> Finish=true;</p><p><b> GOTO 2</b></p><p> (4)如所有的進程Finish= true,則表示安全;否則系統(tǒng)
12、不安全。</p><p><b> 4、流程圖</b></p><p><b> 四 源程序:</b></p><p> #include <iostream></p><p> #include <windows.h> </p><p>
13、#include <time.h> </p><p> //#include <stdio.h> </p><p> //#include<conio.h></p><p> using namespace std;</p><p> #define MAXPROCESS 50
14、 /*最大進程數(shù)*/ </p><p> #define MAXRESOURCE 100 /*最大資源數(shù)*/</p><p> int AVAILABLE[MAXRESOURCE]; /*可用資源數(shù)組*/</p><p> int MAX[MAXPROCE
15、SS][MAXRESOURCE]; /*最大需求矩陣*/</p><p> int ALLOCATION[MAXPROCESS][MAXRESOURCE]; /*分配矩陣*/</p><p> int NEED[MAXPROCESS][MAXRESOURCE]; /*需求矩陣*/</p><p> int RE
16、QUEST[MAXPROCESS][MAXRESOURCE]; /*進程需要資源數(shù)*/</p><p> int SUMMIT[MAXRESOURCE]={0} ; /*各種資源總量*/</p><p> int NEEDc[MAXRESOURCE]={0}; /*輔助向量*/</p><p>
17、 bool FINISH[MAXPROCESS]; /*系統(tǒng)是否有足夠的資源分配*/</p><p> int p[MAXPROCESS]; /*記錄序列*/</p><p> int m,n; /*m個進程,n個資源*/<
18、/p><p> void Init();</p><p> bool Safe();</p><p> void Bank();</p><p> void main()</p><p><b> {</b></p><p> //textbackground(0)
19、; /* 設(shè)置屏幕背景色 */ </p><p><b> Init();</b></p><p><b> Safe();</b></p><p><b> Bank();</b></p><p><b> }</b></p>&l
20、t;p> void Init() /*初始化算法*/</p><p><b> {int i,j;</b></p><p> cout<<" "<<endl;</p><p> cout<<"
21、 銀行家算法模擬"<<endl;</p><p> cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p> cout<<"
22、 通信0602 唐敏 0401060223 "<<endl;</p><p> cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p&
23、gt;<p> cout<<" "<<endl;</p><p> cout<<" 算法簡介:"<<endl;</p><p> cout<<" 在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意"<&
24、lt;endl;</p><p> cout<<" 的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要"<<endl;</p><p> cout<<" 能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖"<<endl;</p><p> co
25、ut<<" 銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的;若是"<<endl;</p><p> cout<<" ,才分配。它是最具有代表性的避免死鎖的算法。"<<endl;</p><p> cout<<" "<&
26、lt;endl;</p><p> cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p> cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27、~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p> cout<<" "<<endl;</p><p> cout<<" 請稍候...6秒后跳入主界面" <<endl;<
28、/p><p> Sleep(6000); </p><p> system("cls"); </p><p> cout<<" "<<endl;</p><p> cout <<" 運
29、行界面"<<endl; </p><p> cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
30、>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;</p><p> cout<<&q
31、uot;請輸入進程的數(shù)目:"<<endl;</p><p><b> cin>>m;</b></p><p> cout<<"請輸入資源的種類:"<<endl;</p><p><b> cin>>n;</b></p>
32、;<p> cout<<"請輸入每個進程最多所需的各資源數(shù),按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;</p><p> for(i=0;i<m;i++)</p><p> for(j=0;j<n;j++)<
33、;/p><p> cin>>MAX[i][j];</p><p> cout<<"請輸入每個進程已分配的各資源數(shù),也按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;</p><p> for(i=0;i<m
34、;i++)</p><p><b> {</b></p><p> for(j=0;j<n;j++)</p><p><b> {</b></p><p> cin>>ALLOCATION[i][j];</p><p> NEED[i][j]=MA
35、X[i][j]-ALLOCATION[i][j];</p><p> if(NEED[i][j]<0)</p><p><b> {</b></p><p> cout<<"您輸入的第"<<i+1<<"個進程所擁有的第"<<j+1<<
36、"個資源數(shù)錯誤,請重新輸入:"<<endl;</p><p><b> j--;</b></p><p><b> continue;</b></p><p><b> }</b></p><p><b> }</b>
37、;</p><p><b> }</b></p><p> for(j=0;j<n;j++) //已分配各資源總數(shù)</p><p><b> {</b></p><p> for(i=0;i<m;i++)</p><p> NEED
38、c[j]=ALLOCATION[i][j]+NEEDc[j];</p><p><b> }</b></p><p> // for(i=0;i<n;i++) //此四行用于檢驗</p><p><b> // {</b></p><p> //
39、 cout<<""<<NEEDc[i]<<" ";</p><p><b> // }</b></p><p> cout<<"請輸入各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p> for(i=0;i
40、<n;i++)</p><p><b> {</b></p><p> cin>>AVAILABLE[i];</p><p><b> }</b></p><p> for(i=0;i<n;i++) //總資源數(shù)</p><p
41、><b> {</b></p><p> SUMMIT[i]=AVAILABLE[i]+ NEEDc[i];</p><p><b> }</b></p><p> //for(i=0;i<n;i++) //檢驗用</p><p> //cout
42、<<""<<SUMMIT[i]<<" ";</p><p> // cout<<" "<<endl;</p><p> cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43、~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p> cout<<"初始化后狀態(tài)顯示:"<<endl;</p><p> cout<<"每個進程最多所需的各資源數(shù)"<<endl;</p><p> for(i=0;
44、i<m;i++)</p><p> {for(j=0;j<n;j++)</p><p> cout<<""<<MAX[i][j]<<" ";</p><p><b> if(j=n-1)</b></p><p> cout
45、<<" "<<endl;</p><p><b> }</b></p><p> cout<<"每個進程已分配的各資源數(shù)"<<endl;</p><p> for(i=0;i<m;i++)</p><p> {for(j
46、=0;j<n;j++)</p><p> cout<<""<<ALLOCATION[i][j]<<" ";</p><p><b> if(j=n-1)</b></p><p> cout<<" "<<endl
47、;</p><p><b> }</b></p><p> cout<<"各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p> for(i=0;i<n;i++)</p><p> cout<<""<<AVAILABLE
48、[i]<<" ";</p><p> cout<<" "<<endl;</p><p> cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<&
49、lt;endl;</p><p><b> }</b></p><p> void Bank() /*銀行家算法*/</p><p><b> {</b></p><p> int i,j,cusneed;</p><p> char
50、again;</p><p> int sum=0; /*監(jiān)測某一進程資源是否分配完畢*/</p><p> int add=0;</p><p><b> while(1)</b></p><p><b> {</b></p><p> co
51、ut<<"請輸入要申請資源的進程號(注:第1個進程號為0,依次類推)"<<endl;</p><p> cin>>cusneed;</p><p> cout<<"請輸入進程所請求的各資源的數(shù)量"<<endl;</p><p> for(i=0;i<n;i
52、++)</p><p><b> {</b></p><p> cin>>REQUEST[cusneed][i];</p><p><b> // }</b></p><p> // for(i=0;i<n;i++)</p><p><b>
53、; // {</b></p><p> if(REQUEST[cusneed][i]>NEED[cusneed][i])</p><p><b> {</b></p><p> cout<<"您輸入的本個請求數(shù)超過進程的需求量!請重新輸入!"<<endl;</p>
54、<p><b> i--;</b></p><p><b> continue;</b></p><p><b> }</b></p><p> if(REQUEST[cusneed][i]>AVAILABLE[i])</p><p><b&g
55、t; {</b></p><p> cout<<"您輸入的本個請求數(shù)超過系統(tǒng)有的資源數(shù)!請重新輸入!"<<endl;</p><p><b> i--;</b></p><p><b> continue;</b></p><p>&l
56、t;b> }</b></p><p><b> }</b></p><p> for(i=0;i<n;i++) //資源分配</p><p><b> {</b></p><p> AVAILABLE[i]-=REQUEST[cus
57、need][i];</p><p> ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];</p><p> NEED[cusneed][i]-=REQUEST[cusneed][i];</p><p><b> }</b></p><p> if(Safe())</p&
58、gt;<p><b> {</b></p><p> cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p> cout<<"同意分
59、配請求!"<<endl;</p><p> cout<<"此次分配后狀態(tài)顯示:"<<endl;</p><p> cout<<"當(dāng)前每個進程最多尚需的各資源數(shù)"<<endl;</p><p> for(i=0;i<m;i++)</p>
60、<p> {for(j=0;j<n;j++)</p><p> cout<<""<<NEED[i][j]<<" ";</p><p><b> if(j=n-1)</b></p><p> cout<<" "
61、;<<endl;</p><p><b> }</b></p><p> cout<<"當(dāng)前每個進程已分配過的各資源數(shù)"<<endl;</p><p> for(i=0;i<m;i++)</p><p> {for(j=0;j<n;j++)<
62、;/p><p> cout<<""<<ALLOCATION[i][j]<<" ";</p><p><b> if(j=n-1)</b></p><p> cout<<" "<<endl;</p><
63、p><b> }</b></p><p> for(i=0;i<m;i++)</p><p> for(j=0;j<n;j++)</p><p> add=NEED[i][j]+add; //是否已分配完畢</p><p> if(add!=0)</p><p>
64、<b> {</b></p><p> for(i=0;i<n;i++) </p><p> sum=NEED[cusneed][i]+sum;</p><p> cout<<"sum值:"<<sum<<""<<endl;</p>
65、<p> //cout<<""<<sum<<" ";</p><p> cout<<" "<<endl;</p><p> if (sum==0)</p><p> { for(i=0;i<n;i++)</p&
66、gt;<p> AVAILABLE[i]= ALLOCATION[cusneed][i]+AVAILABLE[i];</p><p><b> }</b></p><p><b> sum=0;</b></p><p> cout<<"各個資源現(xiàn)有的數(shù)目:"<&l
67、t;endl;</p><p> for(i=0;i<n;i++)</p><p> cout<<""<<AVAILABLE[i]<<" ";</p><p> cout<<" "<<endl;</p><p&g
68、t;<b> add=0; </b></p><p><b> }</b></p><p> //cout<<""<<add<<" "endl;</p><p><b> else</b></p>
69、<p><b> {</b></p><p> cout<<"各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p> for(i=0;i<n;i++)</p><p> cout<<""<<SUMMIT[i]<<&qu
70、ot; ";</p><p> cout<<" "<<endl;</p><p><b> }</b></p><p> cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71、~~~~~~~~~~~~~~~~~~"<<endl;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"您的請求被拒絕!&q
72、uot;<<endl; //撤消資源分配</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> AVAILABLE[i]+=REQUEST[cusneed][i];</p><p> ALLOCATION[cusneed][i]-=REQU
73、EST[cusneed][i];</p><p> NEED[cusneed][i]+=REQUEST[cusneed][i];</p><p><b> }</b></p><p><b> }</b></p><p> for(i=0;i<m;i++)</p><
74、;p><b> {</b></p><p> FINISH[i]=false;</p><p><b> }</b></p><p> cout<<"您還想再次請求分配嗎?是請按y/Y,否請按其它鍵"<<endl;</p><p> cin
75、>>again;</p><p> if(again=='y'||again=='Y')</p><p><b> {</b></p><p><b> continue;</b></p><p><b> }</b><
76、/p><p> break; //跳出while</p><p> } </p><p><b> }</b></p><p> bool Safe() /*安全性算
77、法*/</p><p><b> {</b></p><p> int i,j,k,l=0;</p><p> int Work[MAXRESOURCE]; /*工作數(shù)組*/</p><p> for(i=0;i<n;i++)</p><p>
78、 Work[i]=AVAILABLE[i];</p><p> for(i=0;i<m;i++)</p><p><b> {</b></p><p> FINISH[i]=false;</p><p><b> }</b></p><p> for(i=0;
79、i<m;i++)</p><p><b> { </b></p><p> if(FINISH[i]==true)</p><p><b> {</b></p><p><b> continue;</b></p><p><b
80、> }</b></p><p><b> else</b></p><p><b> {</b></p><p> for(j=0;j<n;j++)</p><p><b> {</b></p><p> if(NEE
81、D[i][j]>Work[j])</p><p><b> {</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><
82、;b> if(j==n)</b></p><p><b> { </b></p><p> FINISH[i]=true; //FINISH在此被賦值,表進程i可順利進行</p><p> for(k=0;k<n;k++) //并假設(shè)已執(zhí)行完成</p><p><b&g
83、t; {</b></p><p> Work[k]+=ALLOCATION[i][k];</p><p><b> }</b></p><p><b> p[l++]=i;</b></p><p> i=-1; //再從i=0開始判斷</p>
84、;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> continue; </p><p><b> }</b></p><p>
85、<b> }</b></p><p> if(l==m) //所有進程都可完成</p><p><b> {</b></p><p> cout<<"系統(tǒng)是安全的"<<endl;</p><p> cout<
86、;<"安全序列:"<<endl;</p><p> for(i=0;i<l;i++)</p><p><b> {</b></p><p> cout<<p[i];</p><p> if(i!=l-1) //最后一項不輸--></p>
87、;<p><b> {</b></p><p> cout<<"-->";</p><p><b> }</b></p><p><b> }</b></p><p> cout<<""
88、;<<endl;</p><p> return true;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"系統(tǒng)是不安全的"<<endl;</p><p&
89、gt; return false; </p><p><b> }</b></p><p> 五 運行調(diào)試及結(jié)果說明</p><p> 初始化時若已分配資源多于最多所需資源則會報錯,需重新輸入(如上圖所示)</p><p><b> 初始化后狀態(tài)顯示</b></p><
90、p> 資源分配時請求量超過需求量或現(xiàn)有資源數(shù)同樣會報錯(如上圖)</p><p> 特殊情況:若申請資源數(shù)既不大于資源需求量,又不大于現(xiàn)有資源數(shù),但仍有可能導(dǎo)致死鎖,如上圖所示。此時會顯示系統(tǒng)不安全,請求被拒絕。</p><p> ?。楸阌谡f明,以上均采用二階矩陣。其他類型矩陣原理相同)</p><p> Sum=0,表某一進程資源分配完畢,資源釋放(
91、請結(jié)合第四個圖)</p><p><b> 六 總結(jié)</b></p><p> 本次設(shè)計中首先要解決的問題是對所做題目的理解。簡單的文字描述總是生澀難懂,像銀行家算法這一問題,如果單看題目要求往往不知如何下手,更不要談下一步的設(shè)計過程。但倘若聯(lián)系實際生活中銀行貸款這一現(xiàn)象,再來看問題時,一切開始顯得清晰,再加上老師的指點,便可以把自己究竟該作何工作搞清楚。這也給我
92、一啟示,我們要解決的諸多問題都源自生活,若要解決它,聯(lián)系實際是個很不錯的選擇。</p><p> 明白了需求,下一個難點是如何通過軟件實現(xiàn)。我所做的銀行家算法這一題目,為了防止死鎖,需要進行大量的判斷,這也導(dǎo)致了一個問題,即在進行調(diào)試時,一旦出現(xiàn)問題,往往難以找到問題所在,針對這一問題,我編寫了一些監(jiān)測行(請參看源程序),這樣能比較容易的找到問題的原因所在,這也是此次課程設(shè)計中在編程方面的一個收獲。</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行家算法課程設(shè)計報告
- 課程設(shè)計--銀行家算法
- 課程設(shè)計--銀行家算法
- 銀行家算法—課程設(shè)計
- 銀行家算法-課程設(shè)計
- 銀行家算法課程設(shè)計
- 銀行家算法課程設(shè)計報告 (2)
- 銀行家算法課程設(shè)計
- 銀行家算法的實現(xiàn)課程設(shè)計報告
- 課程設(shè)計---銀行家算法實驗報告
- 銀行家算法課程設(shè)計2
- 操作系統(tǒng)課程設(shè)計報告—銀行家算法
- 操作系統(tǒng)課程設(shè)計報告—銀行家算法
- 操作系統(tǒng)課程設(shè)計---銀行家算法報告
- 銀行家算法模擬實現(xiàn)課程設(shè)計
- 操作系統(tǒng)課程設(shè)計--銀行家算法
- 操作系統(tǒng)課程設(shè)計---銀行家算法
- 課程設(shè)計--銀行家算法的模擬實現(xiàn)
- 操作系統(tǒng)課程設(shè)計銀行家算法
- 操作系統(tǒng)課程設(shè)計--銀行家算法
評論
0/150
提交評論