




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
死鎖實驗報告操作系統(tǒng)實驗二報告一.實驗名稱:死鎖的檢測與解除二.實驗目的:觀察死鎖產(chǎn)生的條件,并使用適當?shù)乃惴ǎ行У姆乐购捅苊馑梨i的發(fā)生。三.實驗內(nèi)容:死鎖的檢測算法:1.找出不再申請資源的進程,將它們所占的資源與系統(tǒng)中還剩余的資源加在一起作為“可分配的資源”,同時對這些進程置標志;2.檢測所有無標志的進程,找出一個所需資源量不超過“可分配的資源”量的進程,將其所占用的資源添加到“可分配的資源”中,同時為該進程置標志;重復2)直到所有進程均有標志或無標志的進程的所需資源量均超過“可分配的資源”量;3.若進程均有標志,說明系統(tǒng)當前不存在死鎖;若存在無標志的進程,則表示系統(tǒng)當前已有死鎖形成,這些無標志的進程就是一組處于死鎖狀態(tài)的進程。死鎖的解除:當死鎖檢測程序檢測到有死鎖存在時,一般采用兩種方式來解除死鎖:1.終止進程:終止一個或多個涉及死鎖的進程的執(zhí)行,收回它們所占的資源再分配。2.搶奪資源:從涉及死鎖的一個或幾個進程中搶奪資源,把奪來的資源再分配給卷入死鎖的其他進程,直到死鎖解除。四.實驗代碼:#include<iostream>死鎖實驗報告全文共6頁,當前為第1頁。usingnamespacestd;死鎖實驗報告全文共6頁,當前為第1頁。#definemp50 //最大進程數(shù)#definemr100 /最大資源數(shù)intkeyong[mr]; //可用資源數(shù)組intMAX[mp][mr]; //最大需求矩陣intfenpei[mp][mr]; //分配矩陣intneed[mp][mr]; //剩余需求矩陣boolFINISH[mp]; //系統(tǒng)是否有足夠資源分配intp[mp]; //記錄序列intWork[mr]; //工作數(shù)組intm,n; //m個進程,n個資源intl=0;voidInit(); //初始化boolSafe();voidjc();voidmain(){Init();Safe(); if(l!=m) jc();}voidInit() //初始化算法死鎖實驗報告全文共6頁,當前為第2頁。{inti,j;死鎖實驗報告全文共6頁,當前為第2頁。cout<<"請輸入進程的數(shù)目:";cin>>m;cout<<"請輸入資源的種類:";cin>>n;cout<<"請輸入每個進程最多所需的各資源數(shù),按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;for(i=0;i<m;i++)for(j=0;j<n;j++)cin>>MAX[i][j];cout<<"請輸入每個進程已分配的各資源數(shù),也按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;for(i=0;i<m;i++){for(j=0;j<n;j++){cin>>fenpei[i][j];need[i][j]=MAX[i][j]-fenpei[i][j];if(need[i][j]<0){cout<<"您輸入的第"<<i+1<<"個進程所擁有的第"<<j+1<<"個資源數(shù)錯誤,請重新輸入:"<<endl;j--;continue;}}}cout<<"請輸入各個資源現(xiàn)有的數(shù)目:"<<endl;for(i=0;i<n;i++){cin>>keyong[i];} cout<<"剩余需求矩陣:"<<endl; for(i=0;i<m;i++) for(j=0;j<n;j++) {cout<<need[i][j]<<"";if(j==n-1) cout<<endl; } cout<<"各資源現(xiàn)有數(shù)量:"<<endl; for(i=0;i<n;i++) cout<<keyong[i]<<"";cout<<endl;}boolSafe()/*安全性算法*/{inti,j,k;for(i=0;i<n;i++)Work[i]=keyong[i];死鎖實驗報告全文共6頁,當前為第3頁。for(i=0;i<m;i++)死鎖實驗報告全文共6頁,當前為第3頁。{FINISH[i]=false;//判斷進程i是否已執(zhí)行}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){FINISH[i]=true;for(k=0;k<n;k++){Work[k]+=fenpei[i][k];//進程i執(zhí)行完后回收資源}p[l++]=i;i=-1;}else{continue;}}if(l==m){cout<<"系統(tǒng)是安全的"<<endl;cout<<"安全序列:"<<endl;for(i=0;i<l;i++){cout<<p[i];if(i!=l-1){cout<<"-->";}}cout<<""<<endl;returntrue;}}死鎖實驗報告全文共6頁,當前為第4頁。cout<<"會發(fā)生死鎖,發(fā)生死鎖的進程是:"<<endl;死鎖實驗報告全文共6頁,當前為第4頁。 for(i=0;i<m;i++) if(FINISH[i]==false) cout<<i<<""; cout<<endl;returnfalse;}voidjc(){ inti,j,k,q; i=0;while(i<m&&FINISH[i]==false)//尋找沒執(zhí)行的 { for(j=0;j<n;j++){ keyong[j]+=fenpei[i][j];//回收 fenpei[i][j]=0; } if(Safe()) cout<<"死鎖已解除"<<endl; else i++; Safe(); }}.--.-五.實驗結果輸入進程已擁有資源數(shù)總需求資源數(shù)1(0.0.1.2)(0.0.1.2.)2(2.0.0.0)(2.7.5.0)3(0.0.3.4)(6.6.5.6)4(2.3.5.4)(4.3.5.6)5(0.3.3.2)(0.6.5.2)其中系統(tǒng)可用資源數(shù)為2100給進程3分配資源數(shù)0100死鎖實驗報告全文共6頁,當前為第5頁。死鎖實驗報告全文共6頁,當前為第5頁。.--.-六.實驗心得:加深理解了有關資源申請分配、檢測以及避免死鎖等概念,了解死鎖和避免死鎖的具體實施方法。死鎖的解除實質上就是如何讓釋放資源的進程能夠繼續(xù)運行.為了解除死鎖就要剝奪資源,此時,需要考慮一下幾個問題:選擇一個犧牲進程,即要剝奪哪個進程的哪些資源?剝奪的進程如何再次運行?.怎樣保證不發(fā)生”餓死”現(xiàn)象?“最小代價”,即最經(jīng)濟合算的算法,使得進程回退帶來的開銷最小.但是,”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能家居中的物聯(lián)網(wǎng)關鍵節(jié)點應用-洞察闡釋
- 數(shù)據(jù)驅動決策提升智能化轉型效果
- 高中美術跨學科教學中的學生自主學習與合作學習
- 2025至2030年中國溫度/濕度/振動三綜合試驗箱行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國汽車后轉向燈行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國水產(chǎn)養(yǎng)殖技術行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國橡膠防水油膏行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國梳草碎根機行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國松仁粽子糖行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國智能數(shù)顯變送控制儀行業(yè)投資前景及策略咨詢報告
- 2025年版!藥食同源物質目錄(106種)
- 2025年數(shù)字道閘項目市場調(diào)查研究報告
- 校園二手交易平臺設計:技術實現(xiàn)與運營策略
- 2025至2030中國氨綸行業(yè)發(fā)展現(xiàn)狀及未來趨勢研究報告
- 浙江開放大學2025年《社會保障學》形考任務4答案
- 機電應聘筆試試題及答案
- 中國海洋工程行業(yè)市場發(fā)展分析及前景趨勢與投資前景研究報告
- 2024年生物制造產(chǎn)業(yè)藍皮書-華谷研究院
- 9 天上有顆南仁東星 課件-課堂無憂新課標同步核心素養(yǎng)課堂
- 車輛日常安全檢查課件
- 登革熱疫情應急處置桌面推演方案(2025年)
評論
0/150
提交評論