




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
旗海工學(xué)浣奸算機(jī)學(xué)浣
實(shí)驗(yàn)報(bào)告書
課程名:《操作系統(tǒng)原理A》
題目:銀行家算法___________
班級(jí):______Z計(jì)121_______________
學(xué)號(hào):__________________
姓名:薛慧君___________________
評(píng)語:
成績(jī):指導(dǎo)教師:
批閱時(shí)間:年目H
操作系統(tǒng)原理實(shí)驗(yàn)一一銀行家算法實(shí)驗(yàn)報(bào)告
1目的與規(guī)定:
1)本實(shí)驗(yàn)?zāi)康氖峭ㄟ^使用銀行家算法實(shí)現(xiàn)系統(tǒng)資源的分派和安全性檢查模擬,提高學(xué)生對(duì)
操作系統(tǒng)資源分派功能的深刻理解,并培養(yǎng)學(xué)生對(duì)操作系統(tǒng)開發(fā)的愛好與應(yīng)用能力;
2)實(shí)驗(yàn)前必須認(rèn)真閱讀和理解銀行家算法的基本原理和實(shí)現(xiàn)方法;
3)獨(dú)立使用C或VC++編程語言編寫銀行家算法模擬程序;
4)按照實(shí)驗(yàn)題目規(guī)定獨(dú)立對(duì)的地完畢實(shí)驗(yàn)內(nèi)容(編寫、調(diào)試算法程序,提交程序清單及及
相關(guān)實(shí)驗(yàn)數(shù)據(jù)與運(yùn)營(yíng)結(jié)果)
5)于2023年5月10日以前提交本次實(shí)驗(yàn)報(bào)告(含電子和紙質(zhì)報(bào)告,由學(xué)習(xí)委員以班為單
位統(tǒng)一打包提交)。
2實(shí)驗(yàn)內(nèi)容或題目
1)設(shè)計(jì)五個(gè)進(jìn)程{P0,P1,P2,P3,P4}共享三類資源{A,B,C}的系統(tǒng),{A,B,C}的資源總
數(shù)量分別為10,5,7。(參考書上用例)
2)并行進(jìn)程可動(dòng)態(tài)地申請(qǐng)資源和釋放資源(程序交互輸入申請(qǐng)或釋放資源數(shù)量),系統(tǒng)按各進(jìn)程
的申請(qǐng)動(dòng)態(tài)地分派資源。
3)每當(dāng)進(jìn)程動(dòng)態(tài)申請(qǐng)資源或釋放資源時(shí),模擬程序應(yīng)能及時(shí)顯示或打印各個(gè)進(jìn)程在此時(shí)刻的資
源分派表、系統(tǒng)可用資源量和安全序列等資源分派信息和安全檢查信息。
4)本次實(shí)驗(yàn)內(nèi)容(項(xiàng)目)的具體說明以及規(guī)定請(qǐng)參見實(shí)驗(yàn)指導(dǎo)書。
3實(shí)驗(yàn)環(huán)節(jié)與源程序
ttinclude<string.h>
ttinclude<stdio.h>
#deFineM5〃定義進(jìn)程數(shù)|
defineN3〃定義資源數(shù)
ttdeFineFalse0
ttdeFineTrue1
intMax[][3]=?7,5,3},{3,2,2>,<9,0,2},{2,2,2},{4,3,3>};
intfiualiable[]-<3,3,2>;〃系統(tǒng)可用資源
intAllocation[H3]=((0J,g,<2,O,6,<3,%2〉,〈2,1,1,<G,%2>;〃系統(tǒng)已分配資源
int還需要資源
intRequest[3];
uoidshowdata?!@示資源矩陣
<
inti,j;
printf(“系統(tǒng)可用的資源:\n”);
printFC'resouce:");
for(j=8;j<N;j++)
printf(“%d,”,Aualiable[j]);〃輸出分配資源
printf("\n");
printf(“各進(jìn)程的資源需求:\n");
For(i=0;i<M;i++)
{
printf("prtd:",i);
for(j=0;j<N;j++)
<
printf(TdJ,Max[i][j]);〃輸出最大需求資源數(shù)
>
printF("\n");
>
printf(“各進(jìn)程得到資源
For(i=0;i<M;i++)
<
printF(-pr%d:"?i);
For(j=0;j<N;j++)
printf〃輸出已分配資源數(shù)
printf("\n");
}
printf(“各進(jìn)程還需求資源:\n”);
for(i=0;i<M;i++)
<
printf("prtd:",i);
For(j=0;j<N;j++)
printf(“dJ.NeecHiUj]);〃輸出還需要資源數(shù)
printF(,,\n,i);
intchangdata(inti)〃進(jìn)行資源分配
<
intj;
For(j=0;j<M;j++)
Aualiable[j]=Aualiable[j]-Request[j];
Allocation[i][j]=Allocation[i][j]+Request[j];
Need[i][j]=Need[i][j]-Request[j];
>
return1;
>
intchkerr()〃安全性算法
{
intWork[3],Finish[M]=<0},tenp[M];
inti9k=0,m,apply;
intj;
Work[O]=Aualiable[0];
Work[1]=Aualiable[1];
Work[2]=Aualiable[2];
for(i=0;i<M;i++)
<
apply”;
For(j=8;j<3;j++)
<
if(Finish[i]==False&&Need[i][j]<=Work[j])
<
apply++;
if(apply==3)
<
For(m=0;m<3;n++)
Work[n]=Work[n]+Allocation[i][n]"/變分配數(shù)
Finish[i]=True;
temp[k]=i;
i=-1;
k++;
else
iF(Finish[i]==False)
<
if(i==M-1)
<
printf(“系統(tǒng)不安全\n”);〃不成功系統(tǒng)不安全
return-1;
》
break;
>
printf(“基統(tǒng)瓷遮分配成功,”);〃如果安全,輸出成功
printf("分配的序列:\n""
for(i=G;i<M;i++)〃輸出運(yùn)行進(jìn)程數(shù)組
<
printf("pr%d",temp[i]);
>
return0;
:oidshare()〃利用銀行家算法對(duì)申請(qǐng)資源對(duì)進(jìn)行判定
{
charch;
inti=0,i=0;
inti=0,j=0;
ch="y';
printf(“\n請(qǐng)輸入要求分配的浪源進(jìn)程號(hào)從(0to4):");
scanf(“%d”,&i);〃輸入須申請(qǐng)的資源號(hào)
printf(“請(qǐng)輸入進(jìn)程%d申請(qǐng)的資源:
For(j=0;j<3;j++)
{
printf("第%d個(gè)資源:",j+1);
scanf(Rd“,&Request[j]);〃輸入需要申請(qǐng)的資源
>
For(j=0;j<N;j++)
<
if(Request[j]>Need[i][j])〃判斷申請(qǐng)是否大于需求,若大于則出錯(cuò)
,printf(“進(jìn)程額申請(qǐng)的資源大于它需要的資源”,i);
printF("error?\n");
ch=*n';
break;
}
else
if(Request]j]>Aualiable[j])〃判斷申請(qǐng)是否大于當(dāng)前資源,若大于則
<〃出錯(cuò)
printf(“進(jìn)程申請(qǐng)的資源大于available”,i);
printf("error?\n");
ch="n';
break;
iF(ch=='y')
changdata(i);//
showdata();〃根
chkerr();〃根據(jù)翳lii鬻㈱
uoidReuision()
printf(“請(qǐng)選擇:1:修改進(jìn)程還需要的資源2:修改進(jìn)程可用資源”);
intchoicel;
scanF(,,%d",&choice1);
if(choice1==1)
<
printf("輸入要修改的資源號(hào)(0-4)”);
intp;
scanf("%d",&p);
printf(”輸入修改后進(jìn)程還需要的資源(1,1,1八n“);
scanF(',%d,%dAd",&Need[p][0],&Need[p][1],&Need[p][2]);
printfL經(jīng)修改后各進(jìn)程還需求資源:\心);
For(inta=0;a<M;a++)
<
printf("pr%d:",a);
For(intb=0;b<N;b++)
printf("%d,”,Need[a][b]);〃輸出還需要資源數(shù)
printfCXn");
>
>
if(choice1==2)
<
printf("輸入系統(tǒng)可用資源EX(1,1,1八n“);
scanF("%d,%d,%d",&Aualiable[0],&Aualiable[1],&Aualiable[2]);
printf(“經(jīng)修改后的系統(tǒng)可用資源為\n”);
for(intk=0;k<N;k++)
printf(aa%d,Aualiable[k]);
>
>
intmain()〃主函數(shù)
(
intchoice;
shuudata();〃顯示各種資源
chkerr();〃用銀行景靠在駒定系統(tǒng)是否安全
do
'printf(“\n輸入要進(jìn)行的操作1:分配資源2:修改資源3:離開“);
scanF(a'%d",&choice);
iF(choice==1)
<
share();
>
iF(choice==2)
<
Reuision();
>
if(choice==3)
<
showdata();
>
iF(choice==4)
break;
>
while((choice==1)||(choice==2)||(choice==3));
return1;
4測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果(可以抓圖粘貼)
(1)程序運(yùn)營(yíng)時(shí)選擇1,輸入進(jìn)程prl的請(qǐng)求向量(1,0,2)通過程序計(jì)算,資源分派成功。資源具體
分派過程如下圖所示。得出一個(gè)安全序列為pr1,pr3,pr0,pr2,pr4o
(2)進(jìn)程prO請(qǐng)求資源:prO發(fā)出請(qǐng)求向量⑵2,2),由于Request。不大于Need。,RequestO
不大于Available0。系統(tǒng)試探著為它分派資源。
由結(jié)果可知,系統(tǒng)不安全。則系統(tǒng)不分派資源,并回收系統(tǒng)預(yù)分派給prO的資源。
(3)程序運(yùn)營(yíng)時(shí)選擇1,進(jìn)行系統(tǒng)資源的分派。
(4)修改資源分派:
?J:\計(jì)算嘰操作系統(tǒng)\實(shí)驗(yàn)二\shiyan22\Debug\2.exe"。回
入
看
進(jìn)行的操作1:分配資源2:修改浪源3:黑,開2
選:滲散進(jìn)程還需要的資源:修改進(jìn)程可用資源
系:122
入統(tǒng)可用貫源
6
資
為
改
可用
4,源
修
操作
進(jìn)
裔
6,的
4,要
入1
修改資源3:離開3
源
資
用
可
:
統(tǒng)
3,4,6,求
資
源
e:需
UC的
so程
進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息化項(xiàng)目可行性研究報(bào)告編制規(guī)范
- 2025年度保健食品個(gè)性化定制配送與市場(chǎng)推廣服務(wù)合同
- 低空經(jīng)濟(jì)未來產(chǎn)業(yè)
- 光伏發(fā)電項(xiàng)目 可行性研究報(bào)告
- 三農(nóng)產(chǎn)品綠色有機(jī)認(rèn)證認(rèn)證標(biāo)準(zhǔn)操作手冊(cè)
- 揚(yáng)塵治理專項(xiàng)施工方案(完整)
- 基于zigbee的智能家居系統(tǒng)設(shè)計(jì)
- 數(shù)據(jù)分析統(tǒng)計(jì)學(xué)試題及答案
- 游戲音樂創(chuàng)作與編輯手冊(cè)
- 三農(nóng)扶貧政策執(zhí)行手冊(cè)
- 《大氣污染物控制工程》-揮發(fā)性有機(jī)物污染控制
- 國(guó)家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-28-01-14 變配電運(yùn)行值班員 人社廳發(fā)2019101號(hào)
- 2024-2030年冷凍面團(tuán)產(chǎn)品行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 【課件】人居與環(huán)境-詩意的棲居+課件高中美術(shù)人美版(2019)+必修+美術(shù)鑒賞
- LED基礎(chǔ)知識(shí)題庫100道及答案(完整版)
- 抖音本地生活商家直播培訓(xùn)
- 新版高中物理必做實(shí)驗(yàn)?zāi)夸浖捌鞑?(電子版)
- 涉密項(xiàng)目保密工作方案
- 危險(xiǎn)貨物道路運(yùn)輸規(guī)則第7部分:運(yùn)輸條件及作業(yè)要求(JTT617.7-2018)
- 思政課課題國(guó)內(nèi)外研究現(xiàn)狀
- 泌尿外科管道護(hù)理規(guī)范
評(píng)論
0/150
提交評(píng)論