操作系統(tǒng)進程調(diào)度算法模擬.doc
《操作系統(tǒng)進程調(diào)度算法模擬.doc》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)進程調(diào)度算法模擬.doc(5頁珍藏版)》請在匯文網(wǎng)上搜索。
1、實驗一 進程調(diào)度算法模擬一 .實驗題目:設(shè)計一個簡單的進程調(diào)度算法,模擬OS中的進程調(diào)度過程二要求: 進程數(shù)不少于5個; 進程調(diào)度算法任選; 可以用動態(tài)優(yōu)先數(shù)加時間片輪轉(zhuǎn)法實現(xiàn)進程調(diào)度,每運行一個時間片優(yōu)先數(shù)減3; 用C語言編程; 程序運行時顯示進程調(diào)度過程。三程序中所用數(shù)據(jù)結(jié)構(gòu)及說明:進程控制塊結(jié)構(gòu)體:typedef struct node1int ID;/進程標(biāo)識數(shù)int PRIORITY;/進程優(yōu)先數(shù)int CPUTIME;/進程已占用時間片int ALLTIME;/進程還需占用時間片Block,pcb;就緒進程鏈表節(jié)點:typedef struct node2pcb data; str
2、uct node2 *next;process;四清單程序及描述:Procelink.h:typedef struct node1int ID;/進程標(biāo)識數(shù)int PRIORITY;/進程優(yōu)先數(shù)int CPUTIME;/進程已占用時間片int ALLTIME;/進程還需占用時間片/char STATE;/進程狀態(tài)/struct node *next;/進程隊列指針Block,pcb;typedef struct node2pcb data; struct node2 *next;process;void Initlink(process *PQ) /*如果有內(nèi)存空間,申請頭結(jié)點空間并使頭指針h
3、ead指向頭結(jié)點*/if(*PQ = (process *)malloc(sizeof(process) = NULL) exit(1);(*PQ)-next = NULL;/*置鏈尾標(biāo)記NULL */ int IsEmpty(process *PQ) if(PQ-next = NULL)return 1;else return 0;void EnInitlink(process *PQ,pcb p) while(PQ-next!=NULL) PQ=PQ-next; process *temp=(process *)malloc(sizeof(Block); temp-data.PRIORIT
4、Y=p.PRIORITY;temp-data.ID=p.ID; temp-data.CPUTIME=p.CPUTIME; temp-data.ALLTIME=p.ALLTIME; temp-next=PQ-next;PQ-next=temp; /插入 pcb DeInitlink(process *PQ) /選擇優(yōu)先數(shù)最小的出列 if(IsEmpty(PQ) printf(所有進程已運行完!n);exit(0);/退出 process *temp=(process *)malloc(sizeof(Block); temp = PQ-next; process *te=(process *)ma
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
12.9 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 進程 調(diào)度 算法 模擬