版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)一 進(jìn)程調(diào)度實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?用高級語言編寫和調(diào)試一個(gè)進(jìn)程調(diào)度程序,以加深對進(jìn)程的概念 及進(jìn)程調(diào)度算法的理解二、實(shí)驗(yàn)類別 綜合性實(shí)驗(yàn)。綜合高級語言編程、進(jìn)程調(diào)度模型、進(jìn)程調(diào)度算法 及數(shù)據(jù)結(jié)構(gòu)等多方面的知識三、實(shí)驗(yàn)示例例題: 設(shè)計(jì)一個(gè)有 N 個(gè)進(jìn)程共行的進(jìn)程調(diào)度程序 進(jìn)程調(diào)度算法: 采用最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法 (即把處理機(jī)分配給 優(yōu)先數(shù)最高的進(jìn)程)和先來先服務(wù)算法。每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊(PCB)表示。進(jìn)程控制塊可以包含如下 信息:進(jìn)程名、優(yōu)先數(shù)、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用CPU寸間、進(jìn)程狀態(tài)等等。進(jìn)程的優(yōu)先數(shù)及需要的運(yùn)行時(shí)間可以事先人為地指定 (也可以由隨機(jī) 數(shù)產(chǎn)生)。進(jìn)程的到達(dá)時(shí)間
2、為進(jìn)程輸入的時(shí)間。進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位進(jìn)行計(jì)算。每個(gè)進(jìn)程的狀態(tài)可以是就緒 W(Wait)、運(yùn)行R(Run)、或完成F ( Finish )三種狀態(tài)之一。就緒進(jìn)程獲得CPU后都只能運(yùn)行一個(gè)時(shí)間片。用已占用 CPU時(shí) 間加 1 來表示。如果運(yùn)行一個(gè)時(shí)間片后,進(jìn)程的已占用 CPU時(shí)間已達(dá)到所需要 的運(yùn)行時(shí)間,則撤消該進(jìn)程,如果運(yùn)行一個(gè)時(shí)間片后進(jìn)程的已占用 CPU時(shí)間還未達(dá)所需要的運(yùn)行時(shí)間,也就是進(jìn)程還需要繼續(xù)運(yùn)行,此 時(shí)應(yīng)將進(jìn)程的優(yōu)先數(shù)減 1(即降低一級),然后把它插入就緒隊(duì)列等 待 CPU。每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、 就緒隊(duì)列、 以及各個(gè) 進(jìn)程的PCB,以便進(jìn)行檢查。重復(fù)以上過
3、程,直到所要進(jìn)程都完成為止。 調(diào)度算法的流程圖如下 :精選資料,歡迎下載進(jìn)程調(diào)度源程序如下:/jin gche ndiaodu.cpp #in elude stdio.h#include #include #define getpch(type) (type*)malloc(sizeof(type)#define NULL 0struct pcb /* 定義進(jìn)程控制塊 PCB */ char name10;char state;int super;int ntime;int rtime;struct pcb* link;*ready=NULL,*p;typedef struct pcb PCB
4、;sort() /* 建立對進(jìn)程進(jìn)行優(yōu)先級排列函數(shù) */PCB *first, *second;int insert=0;if(ready=NULL)|(p-super)(ready-super) /* 優(yōu)先級最大 者 , 插入隊(duì)首 */ p-link=ready;ready=p;else /* 進(jìn)程比較優(yōu)先級 , 插入適當(dāng)?shù)奈恢弥?*/first=ready;second=first-link; while(second!=NULL)if(p-super)(second-super) /* 若插入進(jìn)程比當(dāng)前進(jìn)程優(yōu)先數(shù) 大,*/ /* 插入到當(dāng)前進(jìn)程前面 */ p-link=second;fi
5、rst-link=p; second=NULL;insert=1;else /* 插入進(jìn)程優(yōu)先數(shù)最低 , 則插入到隊(duì)尾 */ first=first-link;second=second-link; if(insert=0) first-link=p;input() /* 建立進(jìn)程控制塊函數(shù) */int i,num; clrscr(); /*清屏 */printf(n 請輸入進(jìn)程號 ?); scanf(%d,&num); for(i=0;iname);printf(n 輸入進(jìn)程優(yōu)先數(shù) :); scanf(%d,&p-super);printf(n 輸入進(jìn)程運(yùn)行時(shí)間 :); scanf(%d,&
6、p-ntime);printf(n); p-rtime=0;p-state=w; p-link=NULL;sort(); /* 調(diào)用 sort 函數(shù) */ int space()int l=0; PCB* pr=ready; while(pr!=NULL)l+; pr=pr-link; return(l); disp(PCB * pr) /* 建立進(jìn)程顯示函數(shù) , 用于顯示當(dāng)前進(jìn)程 */printf(n qname t state t super t ndtime t runtime n); printf(|%st,pr-name);printf(|%ct,pr-state); printf(
7、|%dt,pr-super); printf(|%dt,pr-ntime);printf(|%dt,pr-rtime);printf(n);check() /* 建立進(jìn)程查看函數(shù) */PCB* pr;printf(n * 當(dāng)前正在運(yùn)行的進(jìn)程是 :%s,p-name); /* 顯示當(dāng) 前運(yùn)行進(jìn)程 */disp(p); pr=ready;printf(n * 當(dāng)前就緒隊(duì)列狀態(tài)為 :n); /* 顯示就緒隊(duì)列狀態(tài) */ while(pr!=NULL) disp(pr); pr=pr-link;destroy() /* 建立進(jìn)程撤消函數(shù) (進(jìn)程運(yùn)行結(jié)束 , 撤消進(jìn)程)*/ printf(n 進(jìn)程 %s
8、 已完成 .n,p-name); free(p);running() /* 建立進(jìn)程就緒函數(shù) (進(jìn)程運(yùn)行時(shí)間到 ,置就緒狀態(tài) */ (p-rtime)+; if(p-rtime=p-ntime) destroy(); /*調(diào)用 destroy 函數(shù) */else(p-super)-; p-state=w;sort(); /* 調(diào)用 sort 函數(shù) */main() /* 主函數(shù) */int len,h=0; char ch; input(); len=space();while(len!=0)&(ready!=NULL) ch=getchar(); h+;printf(n The execute number:%d n,h); p=ready;ready=p-link; p
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)強(qiáng)化訓(xùn)練試卷A卷附答案
- 2024年度山西省高校教師資格證之高等教育法規(guī)模擬考試試卷B卷含答案
- 2024年家具成套生產(chǎn)線項(xiàng)目資金申請報(bào)告代可行性研究報(bào)告
- 2024年-2025年《農(nóng)作物生產(chǎn)技術(shù)》綜合知識考試題庫及答案
- 2024專項(xiàng)產(chǎn)品線唯一供貨商協(xié)議
- 兒童教育服務(wù)協(xié)議:2024定制
- 2024照明系統(tǒng)倉庫安裝協(xié)議條款
- 2024工程總承包深度合作協(xié)議
- 2024年賠償問題解決協(xié)議模板
- 安全生產(chǎn)管理員的職責(zé)與權(quán)益明細(xì)協(xié)議
- 金融市場2024年的金融監(jiān)管和市場波動(dòng)
- 2024普通高中物理課程標(biāo)準(zhǔn)解讀
- 2024年廣西玉林市自來水有限公司招聘筆試參考題庫含答案解析
- 2022年度食品安全負(fù)責(zé)人考試題庫(含答案)
- 教師近3年任教學(xué)科學(xué)生學(xué)業(yè)水平和綜合素質(zhì)
- 企業(yè)法律合規(guī)與外部監(jiān)管的內(nèi)外因素分析
- 2022年版煤礦安全規(guī)程
- 九年級數(shù)學(xué)上冊 期中考試卷(湘教版)
- 冷彎機(jī)行業(yè)市場研究報(bào)告
- 牛津英語四年級上冊4A-M2-Unit-3-The-lion-and-the-mouse優(yōu)秀信息化教案附反思
- 山東省青島市膠州市2023-2024學(xué)年八年級上學(xué)期期中英語試卷
評論
0/150
提交評論