2022年鄧豪操作系統(tǒng)原理實(shí)驗(yàn)報(bào)告三.doc
《2022年鄧豪操作系統(tǒng)原理實(shí)驗(yàn)報(bào)告三.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《2022年鄧豪操作系統(tǒng)原理實(shí)驗(yàn)報(bào)告三.doc(21頁珍藏版)》請?jiān)趨R文網(wǎng)上搜索。
1、銀行家算法試驗(yàn)匯報(bào)計(jì)科1301 鄧豪 學(xué)號:一、 試驗(yàn)環(huán)境:Win7 64位操作系統(tǒng)(4g內(nèi)存)VMware Workstation 10虛擬機(jī)虛擬機(jī)系統(tǒng):ubuntu-14.04.1二、 試驗(yàn)內(nèi)容: (1)進(jìn)程調(diào)度 (2)銀行家算法三、 試驗(yàn)環(huán)節(jié): (1)進(jìn)程調(diào)度: 編寫程序:#include #include #includeconst int block_time=10; /定義時(shí)間片旳長度為10秒 const int MAXPCB=100; /定義最大進(jìn)程數(shù)/定義進(jìn)程構(gòu)造體 typedef struct nodechar name20; int status;int time; int
2、 privilege;int finished; int wait_time; pcb;pcb pcbsMAXPCB; int quantity;/初始化函數(shù) void initial() int i;for(i=0;iMAXPCB;i+) strcpy(pcbsi.name,); pcbsi.status=0; pcbsi.time=0;pcbsi.privilege=0;pcbsi.finished=0; pcbsi.wait_time=0; quantity=0;/讀數(shù)據(jù)函數(shù) int readData() FILE *fp; char fname20; int i;coutfname;
3、if(fp=fopen(fname,r)=NULL) cout錯(cuò)誤,文獻(xiàn)打不開,請檢查文獻(xiàn)名endl; else while(!feof(fp) fscanf(fp,%s %d %d %d,pcbsquantity.name,&pcbsquantity.status,&pcbsquantity.time,&pcbsquantity.privilege); quantity+; /輸出所讀入旳數(shù)據(jù) cout輸出所讀入旳數(shù)據(jù)endl; cout進(jìn)程名 進(jìn)程狀態(tài) 所需時(shí)間 優(yōu)先數(shù)endl; for(i=0;iquantity;i+) cout pcbsi.name pcbsi.status pcbs
4、i.time pcbsi.privilegeendl; return(1); return(0);/重置數(shù)據(jù),以供另一種算法使用 void init() int i;for(i=0;iMAXPCB;i+)pcbsi.finished=0; pcbsi.wait_time=0; /先進(jìn)先出算法 void FIFO() int i,j; int total;/輸出FIFO算法執(zhí)行流 coutendl*endl; coutFIFO算法執(zhí)行流:endl; cout進(jìn)程名 等待時(shí)間endl; for(i=0;iquantity;i+) cout pcbsi.name pcbsi.wait_timeend
5、l; for(j=i+1;jquantity;j+) pcbsj.wait_time+=pcbsi.time; total=0; for(i=0;iquantity;i+) total+=pcbsi.wait_time; cout總等待時(shí)間:total 平均等待時(shí)間:total/quantityendl;/優(yōu)先數(shù)調(diào)度算法 void privilege() int i,j,p; int passed_time=0; int total;int queueMAXPCB; int current_privilege=1000;for(i=0;iquantity;i+) current_privile
6、ge=1000; for(j=0;jquantity;j+) if(pcbsj.finished=0)&(pcbsj.privilegecurrent_privilege) p=j; current_privilege=pcbsj.privilege; queuei=p;pcbsp.finished=1; pcbsp.wait_time+=passed_time; passed_time+=pcbsp.time; /輸出優(yōu)先數(shù)調(diào)度執(zhí)行流 coutendl*endl; cout優(yōu)先數(shù)調(diào)度執(zhí)行流:endl; cout進(jìn)程名 等待時(shí)間endl; for(i=0;iquantity;i+) cout
7、pcbsqueuei.name pcbsqueuei.wait_timeendl; total=0; for(i=0;iquantity;i+) total+=pcbsi.wait_time; cout總等待時(shí)間:total 平均等待時(shí)間:total/quantityendl;/時(shí)間片輪轉(zhuǎn)調(diào)度算法 void timer() int i,j,number,flag=1; int passed_time=0; int max_time=0; int round=0; int queue1000; int total=0;while(flag=1) flag=0; number=0;for(i=0;
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 2022 年鄧豪 操作系統(tǒng) 原理 實(shí)驗(yàn) 報(bào)告