版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 銀行家算法實(shí)現(xiàn)</b></p><p><b> 概述 </b></p><p> 所謂死鎖: 是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過(guò)程中,因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵局狀態(tài)時(shí),若無(wú)外力作用,它們都將無(wú)法再向前推進(jìn)。這就給計(jì)算機(jī)系統(tǒng)帶來(lái)了問(wèn)題,銀行家算法就是一個(gè)避免死鎖的算法。</p>
2、<p> 我們可以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進(jìn)程向操作系統(tǒng)請(qǐng)求分配資源相當(dāng)于用戶向銀行家貸款。操作系統(tǒng)按照銀行家制定的規(guī)則給進(jìn)程分配資源,當(dāng)進(jìn)程首次申請(qǐng)資源時(shí),要測(cè)試該進(jìn)程對(duì)資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請(qǐng)量分配資源,否則就推遲分配。</p><p> 當(dāng)進(jìn)程在執(zhí)行中繼續(xù)申請(qǐng)資源時(shí),先測(cè)試該進(jìn)程已占用的資源數(shù)與本次申請(qǐng)的
3、資源數(shù)之和是否超過(guò)了該進(jìn)程對(duì)資源的最大需求量;若超過(guò)則拒絕分配資源,若沒(méi)有超過(guò)則再測(cè)試系統(tǒng)現(xiàn)存的資源能否滿足該進(jìn)程尚需的最大資源量,若能滿足則按當(dāng)前的申請(qǐng)量分配資源,否則也要推遲分配。</p><p><b> 二、設(shè)計(jì)目的</b></p><p> 1、理解銀行家算法;</p><p> 2、掌握進(jìn)程安全性檢查的方法及資源分配的方法;&
4、lt;/p><p> 3、加深了解有關(guān)資源申請(qǐng)、避免死鎖等概念;</p><p> 4、體會(huì)和了解死鎖和避免死鎖的具體實(shí)施方法。</p><p><b> 三、設(shè)計(jì)內(nèi)容</b></p><p> 用C++語(yǔ)言編寫(xiě)并調(diào)試一個(gè)銀行家算法,簡(jiǎn)單模擬動(dòng)態(tài)分配,觀察死鎖產(chǎn)生的條件,學(xué)習(xí)如何有效的防止和避免死鎖的發(fā)生,掌握安全性
5、算法。</p><p> 四、開(kāi)發(fā)環(huán)境:Microsoft visual C++ 6.0</p><p><b> 五、設(shè)計(jì)思路</b></p><p> 1、銀行家算法中的數(shù)據(jù)結(jié)構(gòu)</p><p> (1)、可利用資源向量Available。這是一個(gè)含有m個(gè)元素的數(shù)組,其中的每一個(gè)元素代表一類可利用的資源數(shù)目,
6、其初始值是系統(tǒng)中所配置的該類全部可用資源的數(shù)目,其數(shù)值隨該類資源的分配和回收而動(dòng)態(tài)地改變。如果Available [j]= K,則表示系統(tǒng)中現(xiàn)有R類資源K個(gè)</p><p> ?。?)、最大需求矩陣Max。這是一個(gè)n*m的矩陣,它定義了系統(tǒng)中n個(gè)進(jìn)程對(duì)m類資源的最大需求。如果Max[i,j]=K,則表示進(jìn)程i需要R類資源的數(shù)目為K。</p><p> ?。?)、分配矩陣Allocation
7、。這也是一個(gè)n*m的矩陣,它定義了系統(tǒng)中每一類資源當(dāng)前已分配給每一進(jìn)程的資源數(shù)。如果Allocation [i,j]=K,則表示進(jìn)程i當(dāng)前已分得R類資源的數(shù)目為K。</p><p> (4)、需求矩陣Need[][]。這也是一個(gè)n*m的矩陣,用以表示每一個(gè)進(jìn)程尚需的各類資源數(shù)。如果Need [i,j]=K,則表示進(jìn)程i還需要R類資源K個(gè),才能完成其任務(wù)。</p><p> 上述矩陣存在
8、關(guān)系:Need[i,j]= Max[i,j]﹣Allocation[i,j]</p><p><b> 2、銀行家算法</b></p><p> 設(shè)Requesti是進(jìn)程Pi的請(qǐng)求向量,Requesti=K表示進(jìn)程Pi需要K個(gè)j類資源。Pi發(fā)出資源請(qǐng)求后,按下列步驟進(jìn)行檢查:</p><p> ?。?)、如果requesti[j]≤need
9、[i,j],轉(zhuǎn)向步驟(2);否則認(rèn)為錯(cuò)誤,所需要的資源數(shù)已超過(guò)它所宣布的最大值。</p><p> (2)、如果requesti[j]≤available[j],轉(zhuǎn)向步驟(3);否則,表示尚無(wú)足夠資源,Pi需等待。</p><p> ?。?)、系統(tǒng)嘗試將資源分配給進(jìn)程Pi,并修改下面數(shù)據(jù)結(jié)構(gòu)中的數(shù)值:</p><p> Available[j]:=Availab
10、le[j]-Requesti[j];</p><p> Allocation[i,j]:=Allocation[i,j]+ Requesti[j];</p><p> Need[i,j]:=Need[i,j]- Requesti[j];</p><p> ?。?)、執(zhí)行安全性算法,檢查此次資源分配后,系統(tǒng)是否出于安全狀態(tài)。若安全, 才正式將資源分配給進(jìn)程Pi,已
11、完成本次分配;否則,將本次試探分配作廢,恢復(fù)原來(lái)的資源分配狀態(tài),讓Pi等待。</p><p><b> 3、安全性檢查算法</b></p><p> ?。?)、設(shè)置兩個(gè)向量:</p><p> ?、?、工作向量work:表示系統(tǒng)可提供給進(jìn)程繼續(xù)運(yùn)行所需的各類資源數(shù)目,執(zhí)行安全性算法開(kāi)始時(shí)work:=available。</p>&
12、lt;p> ?、凇inish標(biāo)志:表示系統(tǒng)是否有足夠的資源分配給進(jìn)程,使之運(yùn)行完成。初始化finish[i]:=false;有足夠資源分配給進(jìn)程時(shí),令finish[i]:=true。</p><p> ?。?)、從進(jìn)程集合中找到一個(gè)能滿足下述條件的進(jìn)程</p><p> ①finish[i]=false; </p><p> ?、贜eed[i,j]≤wor
13、k[j];找到執(zhí)行步驟(3),否則執(zhí)行步驟(4)。</p><p> (3)、當(dāng)進(jìn)程Pi獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給它的資源,故應(yīng)執(zhí)行:</p><p> Work[j]:=work[i]+allocation[i,j];</p><p> Finish[i]:=true;</p><p> Go to step
14、②;</p><p> (4)、如果所有進(jìn)程的finish[i]=true都滿足,則表示系統(tǒng)處于安全狀態(tài);否則,系統(tǒng)處于不安全狀態(tài)。</p><p><b> 六、概要設(shè)計(jì)</b></p><p><b> 1、主要代碼:</b></p><p> #define False 0</p
15、><p> #define True 1</p><p> char name[50]={0};//資源名稱</p><p> int Max[50][50]={0};//進(jìn)程所需各類資源的最大需求</p><p> int Allocation[50][50]={0};//系統(tǒng)已分配資源</p><p> in
16、t Need[50][50]={0};//進(jìn)程需求資源</p><p> int Available[50]={0};//系統(tǒng)可用資源向量</p><p> int Request[50]={0};//進(jìn)程請(qǐng)求資源向量</p><p> int Work[50]={0};//存放系統(tǒng)可提供進(jìn)程繼續(xù)運(yùn)行所需各類資源數(shù)目</p><p>
17、 int temp[50]={0};//存放安全序列</p><p> int b[50]={0};//系統(tǒng)各類資源總數(shù)</p><p> int M=50;//進(jìn)程的最大數(shù)目為50</p><p> int N=50;//資源的最大數(shù)目為50</p><p> void display()//系統(tǒng)初始界面</p>&l
18、t;p> void print()//顯示資源分配情況</p><p> int changdata(int i)//進(jìn)行資源分配</p><p> int safe(int num,int M,int N)//安全性算法對(duì)系統(tǒng)進(jìn)行分析</p><p> void bank(int M,int N)//銀行家算法對(duì)申請(qǐng)資源對(duì)進(jìn)行判定</p>
19、<p><b> 2、流程圖:</b></p><p> ?。?)安全性算法:</p><p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p>&l
20、t;p><b> N</b></p><p><b> Y</b></p><p><b> Y</b></p><p> Y N</p><p><b> (2)銀行家算法:</b></p&g
21、t;<p><b> Y</b></p><p><b> N</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> 3、調(diào)試結(jié)果</b></p&g
22、t;<p> 請(qǐng)輸入系統(tǒng)中資源的種類:3</p><p> 資源1的名稱和數(shù)量:a 10</p><p> 資源2的名稱和數(shù)量:b 5</p><p> 資源3的名稱和數(shù)量:c 7</p><p> 請(qǐng)輸入進(jìn)程的數(shù)量:5</p><p> 請(qǐng)輸入各進(jìn)程的最大需求(5*3矩陣)[Max]:<
23、;/p><p><b> 7 5 3</b></p><p><b> 3 2 2</b></p><p><b> 9 0 2</b></p><p><b> 2 2 2</b></p><p><b> 4 3
24、 3</b></p><p> 請(qǐng)輸入各進(jìn)程的已分配(5*3矩陣)[Allocation]:</p><p><b> 0 1 0</b></p><p><b> 2 0 0</b></p><p><b> 3 0 2</b></p>&l
25、t;p><b> 2 1 1</b></p><p><b> 0 0 2</b></p><p><b> 目前可用的資源:</b></p><p><b> a b c</b></p><p><b> 3 3 2<
26、/b></p><p> Max Allocation Need</p><p> 進(jìn)程名 a b c a b c a b c</p><p> 0 7 5 3 0 1 0 7 4 3</p><p> 1 3 2 2
27、 2 0 0 1 2 2</p><p> 2 9 0 2 3 0 2 6 0 0</p><p> 3 2 2 2 2 1 1 0 1 1</p><p> 4 4 3 3 0 0 2 4 3 1</p&g
28、t;<p><b> 系統(tǒng)是安全的!</b></p><p> 分配的序列:1->3->4->0->2</p><p> 請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-4):1</p><p> 請(qǐng)輸入進(jìn)程 1 申請(qǐng)的資源:</p><p><b> a:1</b>
29、</p><p><b> b:0</b></p><p><b> c:2</b></p><p> Max Allocation Need</p><p> 進(jìn)程名 a b c a b c a b c</p><p&g
30、t; 0 7 5 3 0 1 0 7 4 3</p><p> 1 3 2 2 3 0 2 0 2 0</p><p> 2 9 0 2 3 0 2 6 0 0</p><p> 3 2 2 2 2 1 1
31、 0 1 1</p><p> 4 4 3 3 0 0 2 4 3 1</p><p><b> 系統(tǒng)是安全的!</b></p><p> 分配的序列:1->3->4->0->2</p><p> 請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-4)
32、:4</p><p> 請(qǐng)輸入進(jìn)程 4 申請(qǐng)的資源:</p><p><b> a:3</b></p><p><b> b:3</b></p><p><b> c:0</b></p><p> 進(jìn)程4申請(qǐng)的資源大于系統(tǒng)現(xiàn)在可利用的資源 分配
33、出錯(cuò),不予分配!</p><p> 請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-4):0</p><p> 請(qǐng)輸入進(jìn)程 0 申請(qǐng)的資源:</p><p><b> a:0</b></p><p><b> b:1</b></p><p><b> c:0</b&
34、gt;</p><p> Max Allocation Need</p><p> 進(jìn)程名 a b c a b c a b c</p><p> 0 7 5 3 0 2 0 7 3 3</p><p> 1 3 2 2
35、 3 0 2 0 2 0</p><p> 2 9 0 2 3 0 2 6 0 0</p><p> 3 2 2 2 2 1 1 0 1 1</p><p> 4 4 3 3 0 0 2 4 3 1</p>
36、<p><b> 系統(tǒng)是安全的!</b></p><p> 分配的序列:1->3->4->0->2</p><p> 請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-4):^A</p><p> 七、詳細(xì)設(shè)計(jì)(程序源代碼)</p><p> #include<iostream.h>
37、;</p><p> #include<string.h></p><p> #define False 0</p><p> #define True 1</p><p> char name[50]={0};//資源名稱</p><p> int Max[50][50]={0};//進(jìn)程所需各
38、類資源的最大需求</p><p> int Allocation[50][50]={0};//系統(tǒng)已分配資源</p><p> int Need[50][50]={0};//進(jìn)程需求資源</p><p> int Available[50]={0};//系統(tǒng)可用資源向量</p><p> int Request[50]={0};//進(jìn)
39、程請(qǐng)求資源向量</p><p> int Work[50]={0};//存放系統(tǒng)可提供進(jìn)程繼續(xù)運(yùn)行所需各類資源數(shù)目</p><p> int temp[50]={0};//存放安全序列</p><p> int b[50]={0};//系統(tǒng)各類資源總數(shù)</p><p> int M=50;//進(jìn)程的最大數(shù)目為50</p>
40、<p> int N=50;//資源的最大數(shù)目為50</p><p> void display()</p><p><b> {</b></p><p> int i,j,number,m,n;</p><p> char ming;</p><p> int a[50]
41、={0};</p><p> cout<<"請(qǐng)輸入系統(tǒng)中資源的種類:";</p><p><b> cin>>n;</b></p><p><b> N=n;</b></p><p> for(i=0;i<n;i++){ </p&g
42、t;<p> cout<<"資源"<<i+1<<"的名稱和數(shù)量:";</p><p> cin>>ming>>number;</p><p> name[i]=ming;</p><p> b[i]=number;</p><
43、p><b> }</b></p><p> cout<<"請(qǐng)輸入進(jìn)程的數(shù)量:";</p><p><b> cin>>m;</b></p><p><b> M=m;</b></p><p> cout<<
44、"請(qǐng)輸入各進(jìn)程的最大需求("<<m<<"*"<<n<<"矩陣)[Max]:"<<endl;</p><p> for(i=0;i<m;i++)</p><p> for(j=0;j<n;j++)</p><p> cin>&
45、gt;Max[i][j];</p><p> cout<<"請(qǐng)輸入各進(jìn)程的已分配("<<m<<"*"<<n<<"矩陣)[Allocation]:"<<endl;</p><p> for(i=0;i<m;i++)</p><p&g
46、t; for(j=0;j<n;j++){</p><p> cin>>Allocation[i][j];</p><p> Need[i][j]=Max[i][j]-Allocation[i][j];</p><p> if(Need[i][j]<0){</p><p> cout<<"
47、您輸入的第"<<i+1<<"個(gè)進(jìn)程所擁有的第"<<j+1<<"個(gè)資源數(shù)錯(cuò)誤,請(qǐng)重新輸入:"<<endl;</p><p><b> j--;</b></p><p><b> continue;</b></p><
48、p><b> }</b></p><p><b> }</b></p><p> cout<<"目前可用的資源:"<<endl;</p><p> for(i=0;i<N;i++)</p><p> cout<<name[
49、i]<<" ";</p><p> cout<<endl;</p><p> for (j=0;j<N;j++){</p><p> for(i=0;i<M;i++){</p><p> a[j]+=Allocation[i][j];</p><p>&
50、lt;b> }</b></p><p> Available[j]=b[j]-a[j];</p><p><b> }</b></p><p> for(i=0;i<N;i++)</p><p> cout<<Available[i]<<" "
51、;//輸出分配資源</p><p> cout<<endl;</p><p><b> }</b></p><p> void print()//顯示資源分配情況</p><p><b> {</b></p><p><b> int i,j;
52、</b></p><p> cout<<" Max Allocation Need"<<endl;</p><p> cout<<"進(jìn)程名 ";</p><p> for(j=0;j<3;j++){</p>
53、;<p> for(i=0;i<N;i++)</p><p> cout<<name[i]<<" ";</p><p> cout<<" ";</p><p><b> }</b></p><p> cou
54、t<<endl;</p><p> for(i=0;i<M;i++){</p><p> cout<<" "<<i<<" ";</p><p> for(j=0;j<N;j++)</p><p> cout<<
55、;Max[i][j]<<" ";</p><p> cout<<" ";</p><p> for(j=0;j<N;j++)</p><p> cout<<Allocation[i][j]<<" ";</p><p&g
56、t; cout<<" ";</p><p> for(j=0;j<N;j++)</p><p> cout<<Need[i][j]<<" ";</p><p> cout<<endl;</p><p><b> }&l
57、t;/b></p><p><b> }</b></p><p> int changdata(int i)//進(jìn)行資源分配</p><p><b> { </b></p><p><b> int j;</b></p><p> for
58、 (j=0;j<M;j++) {</p><p> Available[j]=Available[j]-Request[j];</p><p> Allocation[i][j]=Allocation[i][j]+Request[j];</p><p> Need[i][j]=Need[i][j]-Request[j];</p><p
59、><b> }</b></p><p><b> return 1;</b></p><p><b> }</b></p><p> int safe(int num,int M,int N)//安全性算法對(duì)系統(tǒng)進(jìn)行分析</p><p><b> {&
60、lt;/b></p><p> int i,j,k=0,m,apply,Finish[5]={0};</p><p><b> int flag;</b></p><p> int flag1;</p><p> for(j=0;j<M;j++)</p><p> {
61、Work[j]=Available[j]; }</p><p> for(flag=0;flag<M;flag++){</p><p> for(i=0;i<M;i++){</p><p><b> apply=0;</b></p><p> for(j=0;j<N;j++){</p
62、><p> if (Finish[i]==False&&Need[i][j]<=Work[j]){ </p><p> apply++;</p><p> if(apply==N){</p><p> for(m=0;m<N;m++){</p><p> Work[m]=W
63、ork[m]+Allocation[i][m];//變分配數(shù)</p><p><b> }</b></p><p> Finish[i]=True;</p><p> temp[k]=i;</p><p> k++;</p><p><b> }</b>
64、</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for(i=0;i<M;i++){<
65、/p><p> if(Finish[i]==False){</p><p> cout<<"系統(tǒng)不安全"<<endl;//不成功系統(tǒng)不安全</p><p> for(i = 0;i<N;i++){ </p><p> Available[i]=Available[i]+Request[
66、i];</p><p> Allocation[num][i]=Allocation[num][i]-Request[i];</p><p> Need[num][i]=Need[num][i]+Request[i]; </p><p><b> }</b></p><p> return -1;</p&g
67、t;<p><b> }</b></p><p><b> }</b></p><p> cout<<"系統(tǒng)是安全的!"<<endl;//如果安全,輸出成功</p><p> cout<<"分配的序列:";</p&g
68、t;<p> for(i=0;i<M;i++){//輸出運(yùn)行進(jìn)程數(shù)組</p><p> cout<<temp[i];</p><p> if(i<M-1) cout<<"->";</p><p><b> }</b></p><p>
69、cout<<endl;</p><p> for(i = 0;i<N;i++){</p><p> if(Max[num][i] == Allocation[num][i])</p><p> { flag1 = 1; }</p><p><b> else{</b></p>
70、;<p> flag1 = 0;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag1 == 1){</p><p>
71、for(i=0;i<N;i++){</p><p> Available[i] = Available[i] + Allocation[num][i];</p><p> Allocation[num][i] = 0;</p><p><b> }</b></p><p><b> }&l
72、t;/b></p><p><b> return 0;</b></p><p><b> }</b></p><p> void bank(int M,int N)//銀行家算法對(duì)申請(qǐng)資源對(duì)進(jìn)行判定</p><p><b> {</b></p>&
73、lt;p><b> char ch;</b></p><p> int i=0,j=0;</p><p><b> ch='y';</b></p><p> cout<<"請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-"<<M-1<<"):&
74、quot;; </p><p> cin>>i;//輸入須申請(qǐng)的資源號(hào)</p><p> cout<<"請(qǐng)輸入進(jìn)程 "<<i<<" 申請(qǐng)的資源:"<<endl;</p><p> for(j=0;j<N;j++){</p><p>
75、 cout<<name[j]<<":";</p><p> cin>>Request[j];//輸入需要申請(qǐng)的資源</p><p><b> }</b></p><p> for (j=0;j<N;j++){</p><p> if(Request[
76、j]>Need[i][j]){//判斷申請(qǐng)是否大于需求,若大于則出錯(cuò) </p><p> cout<<"進(jìn)程 "<<i<<"申請(qǐng)的資源大于它需要的資源";</p><p> cout<<" 分配不合理,不予分配!"<<endl;</p><
77、;p><b> ch='n';</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> else {</b></p><p> if(Request[j]>
78、;Available[j]){//判斷申請(qǐng)是否大于當(dāng)前資源,若大于則出錯(cuò) </p><p> cout<<"進(jìn)程"<<i<<"申請(qǐng)的資源大于系統(tǒng)現(xiàn)在可利用的資源";</p><p> cout<<" 分配出錯(cuò),不予分配!"&l
79、t;<endl;</p><p><b> ch='n';</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p&
80、gt;<b> }</b></p><p> if(ch=='y') {</p><p> changdata(i);//根據(jù)進(jìn)程需求量變換資源</p><p> print();//根據(jù)進(jìn)程需求量顯示變換后的資源</p><p> safe(i,M,N);//根據(jù)進(jìn)程需求量進(jìn)行銀行家算法判斷&
81、lt;/p><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> int i;</b></p>
82、<p> display();</p><p><b> print();</b></p><p> safe(0,M,N);</p><p> for(i=0;i<M;i++)</p><p> { bank(M,N); }</p><p><b>
83、 print();</b></p><p><b> }</b></p><p><b> 八、實(shí)驗(yàn)心得</b></p><p> 設(shè)計(jì)中利用二維數(shù)組作為基本的數(shù)據(jù)結(jié)構(gòu)用以存儲(chǔ)資源及進(jìn)程信息,利用safe()函數(shù)來(lái)判斷進(jìn)程執(zhí)行是否安全,通過(guò)二維數(shù)組和safe()函數(shù)很好的解決了進(jìn)程的存儲(chǔ)及撤銷問(wèn)題。&l
84、t;/p><p> 通過(guò)在老師的幫助下引發(fā)了對(duì)于safe()的思考,實(shí)驗(yàn)中我使用當(dāng)一個(gè)進(jìn)程不滿足安全狀態(tài)時(shí)緊接著查找它的下一個(gè)進(jìn)程,若下一個(gè)進(jìn)程滿足則給予分配資源,然后又返回從頭開(kāi)始才找滿足安全狀態(tài)的進(jìn)程,經(jīng)過(guò)老師的講解我知道還可以按照進(jìn)程的編號(hào)從小到大一次下循環(huán)查找,直到進(jìn)程執(zhí)行完畢。</p><p> 不同的算法可以實(shí)現(xiàn)相同的功能,這是我從本次實(shí)驗(yàn)中深深體會(huì)到的,因而在今后的學(xué)習(xí)中遇到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告—銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)---銀行家算法報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)---銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)(銀行家算法)
- 操作系統(tǒng)課程設(shè)計(jì)-銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)(銀行家算法設(shè)計(jì))
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法 (3)
- 操作系統(tǒng)課程設(shè)計(jì)---銀行家算法 (2)
- 操作系統(tǒng)課程設(shè)計(jì)--銀行家算法 (2)
- 操作系統(tǒng)課程設(shè)計(jì)---模擬銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)---銀行家算法實(shí)現(xiàn)
- 操作系統(tǒng)原理課程設(shè)計(jì)--銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告---模擬實(shí)現(xiàn)銀行家算法
- 操作系統(tǒng)課程設(shè)計(jì)-模擬銀行家算法-課程設(shè)計(jì)
- 銀行家算法設(shè)計(jì)-操作系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)
評(píng)論
0/150
提交評(píng)論