




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)實(shí)驗(yàn)報(bào)告姓名:班級:學(xué)號:指導(dǎo)教師:實(shí)驗(yàn)一進(jìn)程調(diào)度算法模擬,用動態(tài)優(yōu)先數(shù)及時(shí)間片輪轉(zhuǎn)法實(shí)現(xiàn)進(jìn)程調(diào)度一.實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)一個(gè)簡單的進(jìn)程調(diào)度算法,模擬OS中的進(jìn)程調(diào)度過程二.實(shí)驗(yàn)要求:①進(jìn)程數(shù)不少于5個(gè);②進(jìn)程調(diào)度算法任選;最好選用動態(tài)優(yōu)先數(shù)法,每運(yùn)行一個(gè)時(shí)間片優(yōu)先數(shù)減3③用C++(或C)語言編程;④程序運(yùn)行時(shí)顯示進(jìn)程調(diào)度過程。三.實(shí)驗(yàn)步驟:①設(shè)計(jì)PCB及其數(shù)據(jù)結(jié)構(gòu):structpcb{/*定義進(jìn)程控制塊PCB*/ charname[10]; charstate;intsuper;intntime;intrtime;structpcb*link;}*ready=NULL,*p;typedefstructpcbPCB;②設(shè)計(jì)進(jìn)程就緒隊(duì)列及數(shù)據(jù)結(jié)構(gòu);三個(gè)應(yīng)用隊(duì)列:PCB*ready=NULL,*run=NULL,*finish=NULL;③設(shè)計(jì)進(jìn)程調(diào)度算法,并畫出程序流程圖;輸入開始進(jìn)程數(shù)n輸入開始進(jìn)程數(shù)n創(chuàng)建n個(gè)PCB并加入ready-queue中創(chuàng)建n個(gè)PCB并加入ready-queue中ready-queue是否為空ready-queue是否為空 YNRunning<=idRunning<=逐個(gè)將redy_pc中的PCB Running<=idRunning<=逐個(gè)將redy_pc中的PCB阻塞Running N阻塞RunningYRunning=idle Running=idle N 將Running從ready_queue中刪除,再將running加入block_queueb將Running從ready_queue中刪除,再將running加入block_queueb 更新新進(jìn)程就緒隊(duì)列進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)加1更新新進(jìn)程就緒隊(duì)列進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)加1是否創(chuàng)建新PCBN是否創(chuàng)建新PCBY創(chuàng)建新進(jìn)程并加入到ready_queue中創(chuàng)建新進(jìn)程并加入到ready_queue中隨機(jī)對block_queue中的進(jìn)程PCB詢問是否要喚醒?隨機(jī)對block_queue中的進(jìn)程PCB詢問是否要喚醒? 處理完了嗎Y處理完了嗎N是否要喚醒N是否要喚醒Y將其從blick_queuek隊(duì)列是中刪除,再將其加入ready_queuek將其從blick_queuek隊(duì)列是中刪除,再將其加入ready_queuek④設(shè)計(jì)輸入數(shù)據(jù)和輸出格式;結(jié)構(gòu)格式:當(dāng)前正運(yùn)行的進(jìn)程:0當(dāng)前就緒隊(duì)列:2,1,3,4⑤編程上機(jī),驗(yàn)證結(jié)果。源程序代碼如下:#include<stdio.h>voidmain(){ inta[4][5]={{0,1,2,3,4},{9,38,30,29,0},{0,0,0,0,0},{3,3,6,3,4}}; inta1[5],a0[5],a2[5],num; printf("當(dāng)前系統(tǒng)中有5個(gè)進(jìn)程,其初始狀態(tài)如下:\n\n"); for(inti=0;i<4;i++){ if(i==0) printf("ID"); if(i==1) printf("PRIORITY"); if(i==2) printf("CPUTIME"); if(i==3) printf("ALLTIME"); for(intj=0;j<5;j++){ printf("%5d",a[i][j]); } printf("\n"); } printf("STATEreadyreadyreadyreadyready"); for(;;){ for(i=0;i<5;i++){ a0[i]=a[1][i]; } for(i=0;i<5;i++){ for(intj=0;j<5-1;j++){ if(a0[j]<=a0[j+1]){ num=a0[j]; a0[j]=a0[j+1]; a0[j+1]=num; } } }//a0數(shù)組為排列好的優(yōu)先極 for(intj=0;j<5;j++){ a2[j]=a[1][j]; } for(i=0;i<5;i++){ for(intj=0;j<5;j++){ if(a0[i]==a2[j]){ a1[i]=j; a2[j]=-10; break; } } } a[1][a1[0]]-=3; a[2][a1[0]]+=1; a[3][a1[0]]-=1; printf("\n"); if(a[3][a1[0]]<=0){ a[1][a1[0]]=-3; } intji=0; for(i=0;i<5;i++){ ji+=a[3][i]; } printf("\n當(dāng)前運(yùn)行程序?yàn)椋?d\n當(dāng)前就緒隊(duì)列:",a1[0]); for(i=1;i<5;i++){ if(a[1][a1[i]]>=0) printf("%d",a1[i]); } if(ji<=0)break; printf("\n\n程序正在運(yùn)行中..."); } printf("\n\n當(dāng)前程序已全部運(yùn)行完畢\n");}實(shí)驗(yàn)結(jié)果:四.實(shí)驗(yàn)總結(jié):
(1)本次試驗(yàn)后對優(yōu)先數(shù)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法實(shí)現(xiàn)的過程,有了很清楚的認(rèn)識、理解。設(shè)計(jì)計(jì)數(shù)器來對進(jìn)程執(zhí)行狀態(tài)的時(shí)間分析,使得進(jìn)程調(diào)度這一抽象模型得到具體化。之后,便是對進(jìn)程的插入(執(zhí)行完,插入到完成隊(duì)列,否則插入到就緒)和再次調(diào)度(當(dāng)改進(jìn)程再次滿足條件時(shí),從就緒隊(duì)列調(diào)度到執(zhí)行隊(duì)列)重復(fù)過程
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中級內(nèi)燃機(jī)車鉗工資格考試題庫及答案(濃縮300題)
- 相變材料與相變儲能技術(shù)
- 豐富多彩的幼兒園學(xué)期活動安排計(jì)劃
- 保安工作中的責(zé)任分工與協(xié)作計(jì)劃
- 成功的談判技巧分享計(jì)劃
- 與家長溝通美術(shù)教育的價(jià)值計(jì)劃
- 促進(jìn)醫(yī)院文化建設(shè)的工作方案計(jì)劃
- 家長學(xué)校與溝通機(jī)制計(jì)劃
- 高處作業(yè)及動火規(guī)范交流
- 公司分割離婚協(xié)議二零二五年
- 瓶裝液化氣送氣工培訓(xùn)
- 【MOOC】中醫(yī)與辨證-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 零星維修工程 投標(biāo)方案(技術(shù)方案)
- 風(fēng)電制氫制甲醇一體化示范制氫制甲醇項(xiàng)目可行性研究報(bào)告寫作模板-申批立項(xiàng)
- 2024年教科版(廣州版)英語五年級上冊期中模擬測試卷(無答案)
- 2024年人力資源行業(yè)變革:人工智能在招聘中的應(yīng)用
- 2024-2030年中國玩偶行業(yè)發(fā)展前景預(yù)測及競爭力策略分析報(bào)告
- 上門按摩企業(yè)標(biāo)準(zhǔn)操作實(shí)務(wù)白皮書-愛尚往約企業(yè)標(biāo)準(zhǔn)開源手冊 2024
- 吉利并購沃爾沃績效分析
- DB11T 1028-2021 民用建筑節(jié)能門窗工程技術(shù)標(biāo)準(zhǔn)
- GB/T 32151.25-2024溫室氣體排放核算與報(bào)告要求第25部分:食品、煙草及酒、飲料和精制茶企業(yè)
評論
0/150
提交評論