![實驗三死鎖檢測和解除_第1頁](http://file4.renrendoc.com/view/cd330b9c60ce3e5da361a9f506c77cd3/cd330b9c60ce3e5da361a9f506c77cd31.gif)
![實驗三死鎖檢測和解除_第2頁](http://file4.renrendoc.com/view/cd330b9c60ce3e5da361a9f506c77cd3/cd330b9c60ce3e5da361a9f506c77cd32.gif)
![實驗三死鎖檢測和解除_第3頁](http://file4.renrendoc.com/view/cd330b9c60ce3e5da361a9f506c77cd3/cd330b9c60ce3e5da361a9f506c77cd33.gif)
![實驗三死鎖檢測和解除_第4頁](http://file4.renrendoc.com/view/cd330b9c60ce3e5da361a9f506c77cd3/cd330b9c60ce3e5da361a9f506c77cd34.gif)
![實驗三死鎖檢測和解除_第5頁](http://file4.renrendoc.com/view/cd330b9c60ce3e5da361a9f506c77cd3/cd330b9c60ce3e5da361a9f506c77cd35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
創(chuàng)作時間:二零二一年六月三十天南華大年夜學(xué)計算機科學(xué)與技術(shù)學(xué)院之答祿夫天創(chuàng)作創(chuàng)作時間:二零二一年六月三十天實驗陳述課程名稱把持系統(tǒng)I姓名學(xué)號專業(yè)班級任課教師日期創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天一、實驗內(nèi)容死鎖的檢測與排除二、實驗?zāi)康恼莆瞻殉窒到y(tǒng)的進度管理與資源分派原理,掌握對把持系統(tǒng)平安性查驗和死鎖的排除的原理和方法.三、實驗題目系統(tǒng)中有m個同類資源被n個進度共享,每個進度對資源的最大年夜需求數(shù)分別為S1,S2,,Sn,且Max(Si)<=m,(i=1,2,n).進度能夠靜態(tài)地申請資源和開釋資源.編寫一個法式,實現(xiàn)銀專家算法,當(dāng)系統(tǒng)將資源分派給某一進度而不會死鎖時,就分派之.不然,推延分派,并顯示適合的信息.分別使用檢測“進度—資源循環(huán)等待鏈”的方法和Coffman的算法來檢測進度的死鎖狀態(tài).對同樣的進度資源分派、占用次序,比力兩個算法的結(jié)果.四、設(shè)計思路和流程圖1.輸入系統(tǒng)進度數(shù)目n和資源種類數(shù)目m.2.輸入每類資源的數(shù)目.3.輸入每個進度每類資源的最大年夜需求量和已獲資源量.4.查驗系統(tǒng)的安全.5.若檢測結(jié)果為系統(tǒng)不服安,能夠?qū)λ梨i進行排除,直到安全為止再檢測.6.重復(fù)5把持,直到全部進度運轉(zhuǎn)完成.創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天五、主要數(shù)據(jù)構(gòu)造及其說明創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天intMax[100][100]={0};//各進度所需各種資源的最大年夜需求;intAvailable[100]={0};//系統(tǒng)可用資源;charName[100]={0};//資源的名稱;intAllocation[100][100]={0};//系統(tǒng)已分派資源;intNeed[100][100]={0};//還需要資源intRequest[100]={0};//懇求資源向量;intTemp[100]={0};//存放安全序列;intWork[100]={0};//存放系統(tǒng)可供給資源;boolFinish[100]={0};//存放已達成的序列六、源法式并附上說明#include"stdafx.h"#include<iostream>#defineFalse0#defineTrue1usingnamespacestd;intMax[100][100]={0};//各進度所需各種資源的最大年夜需求;intAvailable[100]={0};//系統(tǒng)可用資源;charName[100]={0};//資源的名稱;intAllocation[100][100]={0};//系統(tǒng)已分派資源;intNeed[100][100]={0};//還需要資源intRequest[100]={0};//懇求資源向量;intTemp[100]={0};//存放安全序列;intWork[100]={0};//存放系統(tǒng)可供給資源;boolFinish[100]={0};intM=100;//作業(yè)的最大年夜數(shù)intN=100;//資源的最大年夜數(shù)intl=0;//記錄安全進度的TEMP下標(biāo)voidShowData( )//初始化資源矩陣{inti,j;cout<<"系統(tǒng)可用資源[Available]:"<<endl;for(i=0;i<N;i++)cout<<Name[i]<<"";cout<<endl;for(j=0;j<N;j++)cout<<Available[j]<<"";//顯示可分派的資源cout<<endl;cout<<"MaxAllocationNeed"<<endl;cout<<"進度名";for(j=0;j<3;j++)//MAXALLOCATIONNEED共列{for(i=0;i<N;i++){cout<<Name[i]<<"";創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天}cout<<"";}cout<<endl;for(i=0;i<M;i++){cout<<""<<i<<"";//輸出進度名for(j=0;j<N;j++)cout<<Max[i][j]<<"";//輸出最大年夜cout<<"";for(j=0;j<N;j++)cout<<Allocation[i][j]<<"";//輸出已分派cout<<"";for(j=0;j<N;j++)cout<<Need[i][j]<<"";//輸出需求cout<<endl;}}boolSafe( )//安全性算法{inti,j,k;for(i=0;i<N;i++)Work[i]=Available[i];//初始化工作向量for(i=0;i<M;i++){Finish[i]=false;//判斷進度i能否已履行}for(i=0;i<M;i++){if(Finish[i]==true){continue;}else{for(j=0;j<N;j++)//考證每一個資源的需求量能否小于可用資源量{if(Need[i][j]>Work[j]){break;}}if(j==N)//若Need都小于Work{Finish[i]=true;for(k=0;k<N;k++){創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天Work[k]+=Allocation[i][k];//進度i履行完后回收資源}Temp[l++]=i;i=-1;}else{continue;}}if(l==M){cout<<"系統(tǒng)是安全的"<<endl;cout<<"安全序列:"<<endl;for(i=0;i<l;i++){cout<<Temp[i];if(i!=l-1){cout<<"-->";}}cout<<""<<endl;returntrue;}}for(i=0;i<M;i++)if(Finish[i]==false)cout<<"會發(fā)存亡鎖,發(fā)存亡鎖的進度是:"<<i<<""<<endl;cout<<endl;returnfalse;}voidunlock( ){inti,j;i=0;cout<<"死鎖排除開始";cout<<endl;while(i<M&&Finish[i]==false)//查找未達成的進度{for(j=0;j<N;j++){Available[j]+=Allocation[i][j];//回收該進度全部資源Allocation[i][j]=0;創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天}if(Safe( ))cout<<"死鎖已排除"<<endl;elsei++;//到下一個進度Safe( );}}intmain( ){inti,j,number,m,n,flag;intover;charmc;cout<<"--------------------------死鎖的檢測與排除----------------------------------";cout<<endl;cout<<endl;cout<<"輸入此后系統(tǒng)可供使用資源種類的數(shù)目:";cin>>n;N=n;for(i=0;i<n;i++){cout<<"資源"<<i+1<<"的名稱:";cin>>mc;Name[i]=mc;cout<<"資源"<<i+1<<"的數(shù)目:";cin>>number;Available[i]=number;cout<<endl;}cout<<endl;cout<<"請輸入作業(yè)的數(shù)目:";cin>>m;M=m;cout<<"請輸入各進度的最大年夜需求量("<<m<<"*"<<n<<"矩陣)[Max]:"<<endl;for(inti=0;i<m;i++)for(intj=0;j<n;j++){cin>>Max[i][j];}do{flag=0;cout<<"請輸入各進度已經(jīng)分派資源量("<<m<<"*"<<n<<"矩陣)[Allocation]:"<<endl;for(inti=0;i<m;i++)for(j=0;j<n;j++)創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天{cin>>Allocation[i][j];if(Allocation[i][j]>Max[i][j])flag=1;Need[i][j]=Max[i][j]-Allocation[i][j];}if(flag)cout<<"初次輸入的已分派資源已經(jīng)大年夜于最大年夜需求量請從頭輸入!\n";}while(flag);//當(dāng)申請資源切合要求時enddoShowData( );//顯示Safe( );//安全檢測if(l!=m)//當(dāng)安全進度數(shù)不即是全部進度數(shù)unlock( );cout<<"運轉(zhuǎn)結(jié)束"<<endl;cin>>over;}七、法式運轉(zhuǎn)時的初值和運轉(zhuǎn)結(jié)果創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天八、實驗領(lǐng)會經(jīng)過本次實驗,比力完好的掌握了把持系統(tǒng)的進度管理與資源分配原理,以及對把持系統(tǒng)安全性查驗和死鎖的排除的原理和方法.一開始,對死鎖的排除,我不過從第一個進度開始剝奪其資源,也無論它能否是發(fā)生了死鎖,向來剝奪到死鎖排除為止.而后,經(jīng)過對法式進行改良,讓其能夠判斷死鎖進度與非死鎖進度,而后從第一個死鎖進
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度豪華私家車租賃服務(wù)協(xié)議合同
- 二零二五版農(nóng)機融資租賃合同范本匯編
- 二零二五年度電子商務(wù)平臺中介擔(dān)保合同
- 二零二五年度票據(jù)代理業(yè)務(wù)反洗錢合規(guī)合同模板
- 二零二五版別墅租賃合同交接清單與租客入住培訓(xùn)協(xié)議3篇
- 2025年全球及中國甲氧氯普胺片行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球電極卷繞機行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球激光雷達用光芯片行業(yè)調(diào)研及趨勢分析報告
- 二零二五年度蘋果樹苗木種植與鄉(xiāng)村振興戰(zhàn)略合同3篇
- 住宅大廈裝修合同樣本
- Unit 7 第3課時 Section A (Grammar Focus -4c)(導(dǎo)學(xué)案)-【上好課】2022-2023學(xué)年八年級英語下冊同步備課系列(人教新目標(biāo)Go For It!)
- 2025年上半年長沙市公安局招考警務(wù)輔助人員(500名)易考易錯模擬試題(共500題)試卷后附參考答案
- 2025河北邯鄲世紀(jì)建設(shè)投資集團招聘專業(yè)技術(shù)人才30人高頻重點提升(共500題)附帶答案詳解
- 慈溪高一期末數(shù)學(xué)試卷
- 《基于新課程標(biāo)準(zhǔn)的初中數(shù)學(xué)課堂教學(xué)評價研究》
- 貴州省黔東南州2024年七年級上學(xué)期數(shù)學(xué)期末考試試卷【附答案】
- 醫(yī)院廉潔自律承諾書
- 胚胎移植術(shù)前術(shù)后護理
- 企業(yè)招聘技巧培訓(xùn)
- 學(xué)校校本課程《英文電影鑒賞》文本
- 華為HCSA-Presales-IT售前認(rèn)證備考試題及答案
評論
0/150
提交評論