操作系統(tǒng)實驗報告(總12頁).doc
《操作系統(tǒng)實驗報告(總12頁).doc》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)實驗報告(總12頁).doc(12頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實驗二 進(jìn)程調(diào)度1目的和要求通過這次實驗,理解進(jìn)程調(diào)度的過程,進(jìn)一步掌握進(jìn)程狀態(tài)的轉(zhuǎn)變、進(jìn)程調(diào)度的策略,進(jìn)一步體會多道程序并發(fā)執(zhí)行的特點,并分析具體的調(diào)度算法的特點,掌握對系統(tǒng)性能的評價方法。2實驗內(nèi)容閱讀教材計算機(jī)操作系統(tǒng)第二章和第三章,掌握進(jìn)程管理及調(diào)度相關(guān)概念和原理。編寫程序模擬實現(xiàn)進(jìn)程的輪轉(zhuǎn)法調(diào)度過程,模擬程序只對PCB進(jìn)行相應(yīng)的調(diào)度模擬操作,不需要實際程序。假設(shè)初始狀態(tài)為:有n個進(jìn)程處于就緒狀態(tài),有m個進(jìn)程處于阻塞狀態(tài)。采用輪轉(zhuǎn)法進(jìn)程調(diào)度算法進(jìn)行調(diào)度(調(diào)度過程中,假設(shè)處于執(zhí)行狀態(tài)的進(jìn)程不會阻塞),且每過t個時間片系統(tǒng)釋放資源,喚醒處于阻塞隊列隊首的進(jìn)程。程序
2、要求如下:1)輸出系統(tǒng)中進(jìn)程的調(diào)度次序;2)計算CPU利用率。3實驗環(huán)境Windows操作系統(tǒng)、VC+6.0C語言4設(shè)計思想:(1) 程序中進(jìn)程可用PCB表示,其類型描述如下: struct PCB_type int pid ; /進(jìn)程名int state ; /進(jìn)程狀態(tài) 2表示“執(zhí)行”狀態(tài) 1表示“就緒”狀態(tài) 0表示“阻塞”狀態(tài) int cpu_time ; /運行需要的CPU時間(需運行的時間片個數(shù)) 用PCB來模擬進(jìn)程;(2)設(shè)置兩個隊列,將處于“就緒”狀態(tài)的進(jìn)程PCB掛在隊列ready中;將處于“阻塞”狀態(tài)的進(jìn)程PCB掛在隊列blocked中。 隊列類型描述如下: struct Que
3、ueNode struct PCB_type PCB; Struct QueueNode *next;并設(shè)全程量:struct QueueNode *ready_head=NULL,/ready隊列隊首指針*ready_tail=NULL , /ready隊列隊尾指針*blocked_head=NULL,/blocked隊列隊首指針*blocked_tail=NULL; /blocked隊列隊尾指針(3)設(shè)計子程序: start_state(); 讀入假設(shè)的數(shù)據(jù),設(shè)置系統(tǒng)初始狀態(tài),即初始化就緒隊列和阻塞隊列。dispath(); 模擬調(diào)度,當(dāng)就緒隊列的隊首進(jìn)程運行一個時間片后,放到就緒隊列末尾
4、,每次都是隊首進(jìn)程進(jìn)行調(diào)度,一個進(jìn)程運行結(jié)束就從就緒隊列中刪除,當(dāng)?shù)絫個時間片后,喚醒阻塞隊列隊首進(jìn)程。 calculate(); 就緒進(jìn)程運行一次,usecpu加1,當(dāng)就緒隊列為空時unusecpu加1,CPU利用率為use_cpu/(use_cpu+unuse_cpu)。5源代碼:#include<stdio.h>#include<stdlib.h>struct PCB_type int pid ; /進(jìn)程名 int state ; /進(jìn)程狀態(tài) /2-表示"執(zhí)行"狀態(tài) /1-表示"就緒"狀態(tài) /0-表示"阻塞&quo
5、t;狀態(tài) int cpu_time ; /運行需要的CPU時間(需運行的時間片個數(shù));struct QueueNode struct PCB_type PCB; struct QueueNode *next;struct QueueNode *ready_head=NULL, /ready隊列隊首指針 *ready_tail=NULL, /ready隊列隊尾指針 *block_head=NULL, /blocked隊列隊首指針 *block_tail=NULL; /blocked隊列隊尾指針int use_cpu,unuse_cpu;void start_state() /讀入假設(shè)的數(shù)據(jù),設(shè)置
6、系統(tǒng)初始狀態(tài) int n,m; int i; struct QueueNode *p,*q; printf("輸入就緒節(jié)點個數(shù)n:"); scanf("%d",&n); printf("輸入阻塞節(jié)點個數(shù)m:"); scanf("%d",&m); p=(struct QueueNode *)malloc(sizeof(struct QueueNode); p->next =NULL; ready_head=ready_tail=p; for(i=0;i<n;i+) p=(struct Qu
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 實驗 報告 12