使用动态优先权的进程调度算法的模拟实验.pdf
《使用动态优先权的进程调度算法的模拟实验.pdf》由会员分享,可在线阅读,更多相关《使用动态优先权的进程调度算法的模拟实验.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.使用动态优先权的进程调度算法的模拟使用动态优先权的进程调度算法的模拟1 1、实验目的、实验目的通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。2 2、实验容、实验容(1 1)用)用 CC 语言来实现对语言来实现对 N N 个进程采用动态优先算法的进程调度;个进程采用动态优先算法的进程调度;(2 2)每个用来标识进程的进程控制块)每个用来标识进程的进程控制块PCBPCB 用结构来描述,包括以下字段:用结构来描述,包括以下字段:进程标识符进程标识符 idid进程优先数进程优先数 prioritypriority,并规定优先数
2、越大的进程,其优先权越高;,并规定优先数越大的进程,其优先权越高;进程已占用的进程已占用的 CPUCPU 时间时间 cputimecputime;进程还需占用的进程还需占用的 CPUCPU 时间时间 alltimealltime,当进程运行完毕时,当进程运行完毕时,alltimealltime 变为变为 0 0;进程的阻塞时间进程的阻塞时间 startblockstartblock,表示当进程再运行表示当进程再运行 startblockstartblock 个时间片后,个时间片后,进进程将进入阻塞状态;程将进入阻塞状态;进程被阻塞的时间进程被阻塞的时间 blocktimeblocktime,表
3、示已阻塞的进程再等待,表示已阻塞的进程再等待 blocktimeblocktime 个时个时间片后,将转换成就绪态间片后,将转换成就绪态进程状态进程状态 statestate;队列指针队列指针 nextnext,用来将,用来将 PCBPCB 排成队列排成队列(3 3)优先数改变的原则:)优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加进程在就绪队列中呆一个时间片,优先数增加 1 1进程每运行一个时间片,优先数减进程每运行一个时间片,优先数减 3 3。(4 4)假设在调度前,系统中有)假设在调度前,系统中有 5 5 个进程,它们的初始状态如下:个进程,它们的初始状态如下:IDIDPRI
4、ORITYPRIORITY0 09 91 138382 230303 329294 40 0.专业.CPUTIMECPUTIMEALLTIMEALLTIME0 03 30 03 3-1-10 0READYREADY0 06 6-1-10 0READYREADY0 03 3-1-10 0READYREADY0 04 4-1-10 0READYREADYSTARTBLOCKSTARTBLOCK2 2BLOCKTIMEBLOCKTIMESTATESTATE3 3READYREADY(5 5)为了清楚地观察诸进程的调度过程,程序应将每个时间片的进程的情况显)为了清楚地观察诸进程的调度过程,程序应将每个
5、时间片的进程的情况显示出来,参照的具体格式如下:示出来,参照的具体格式如下:RUNNINGRUNNINGPROGPROG:i iREADY_QUEUE:-id1-id2READY_QUEUE:-id1-id2BLOCK_QUEUE:-id3-id4BLOCK_QUEUE:-id3-id4=IDID0 01 1P1P1C1C1A1A1T1T1B1B1S1S12 2P2P2C2C2A2A2T2T2B2B2S2S23 3P3P3C3C3A3A3T3T3B3B3S3S34 4P4P4C4C4A4A4T4T4B4B4S4S4PRIORITYPRIORITYP0P0CPUTIMECPUTIMEC0C0AL
6、LTIMEALLTIMEA0A0STARTBLOCKSTARTBLOCKT0T0BLOCKTIMEBLOCKTIMEB0B0STATESTATES0S0.专业.程序代码:程序代码:/A.4使用动态优先权的进程调度算法的模拟/by YanQiwei#include#define N 5voidvoid init();init();voidvoid print();print();intint getRunning();getRunning();voidvoid sort();sort();intint run(run(intint time);time);enum STATEReady,Run,
7、Block,RunOut;struct PROCESSint ID;int Priority;int Cputime;int Alltime;int Startblock;int Blocktime;enum STATE State;ProcessN;int READYN;int BLOCKN;int RUNOUTN2;intint main()main()voidvoid init()init().专业.int Time=0;init();printf(Time:%dn,Time);sort();print();while(1)/print(Time);return 0;Time+;getc
8、har();if(run(Time)break;sort();printf(Time:%dn,Time);.voidvoid print()print()int i;if(getRunning()=0)printf(tRUNNING PROG:%dn,getRunning();printf(tREADY_QUEUE:);for(i=0;iN;+i)printf(ntBLOCK_QUEUE:);for(i=0;i=0)printf(-%d,ProcessBLOCKi.ID);break;elseif(READYi=0)printf(-%d,ProcessREADYi.ID);break;else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 动态 优先权 进程 调度 算法 模拟 实验
限制150内