使用动态优先权的进程调度算法的模拟(共10页).doc
《使用动态优先权的进程调度算法的模拟(共10页).doc》由会员分享,可在线阅读,更多相关《使用动态优先权的进程调度算法的模拟(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上使用动态优先权的进程调度算法的模拟1、实验目的通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。2、实验内容(1)用C语言来实现对N个进程采用动态优先算法的进程调度;(2)每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:l 进程标识符idl 进程优先数priority,并规定优先数越大的进程,其优先权越高;l 进程已占用的CPU时间cputime;l 进程还需占用的CPU时间alltime,当进程运行完毕时,alltime变为0;l 进程的阻塞时间startblock,表示当进程再运行startblock个时间片后,进程将进入阻塞状态;l 进程
2、被阻塞的时间blocktime,表示已阻塞的进程再等待blocktime个时间片后,将转换成就绪态l 进程状态state;l 队列指针next,用来将PCB排成队列(3)优先数改变的原则:l 进程在就绪队列中呆一个时间片,优先数增加1l 进程每运行一个时间片,优先数减3。(4)假设在调度前,系统中有5个进程,它们的初始状态如下:ID01234PRIORITY93830290CPUTIME00000ALLTIME33634STARTBLOCK2-1-1-1-1BLOCKTIME30000STATEREADYREADYREADYREADYREADY(5)为了清楚地观察诸进程的调度过程,程序应将每个
3、时间片内的进程的情况显示出来,参照的具体格式如下:RUNNING PROG: iREADY_QUEUE:-id1-id2BLOCK_QUEUE:-id3-id4=ID 01234PRIORITY P0P1P2P3P4CPUTIME C0C1C2C3C4ALLTIME A0A1A2A3A4STARTBLOCK T0T1T2T3T4BLOCKTIME B0B1B2B3B4STATE S0S1S2S3S43、思考题(1)在实际的调度中,除了按调度算法选择下一个执行的进程外,还应处理哪些工作?一、 实验目的通过动态优先权算法的模拟加深进程概念和进程调度过程的理解,并学习撰写规范的科学研究报告。二、实验
4、环境及设备(一)实验地点:实C三楼机房、宿舍(二)主要仪器设备:PC机、Red Flag Linux和Windows7操作系统、g+和VC+6.0环境三、 实验内容1对N个进程采用动态优先权算法的进程调度;2每个用来标识进程的进程控制块PCB用结构描述,包括以下字段:进程标识数ID,进程优先数PRIORITY,进程以占用的CPU时间CPUTIME,进程还需占用的CPU时间ALLTIME,进程状态STATE等。3优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加1,进程每运行一个时间片优先数减3。4设置调度前的初始状态。5将每个时间片内的进程情况显示出来。四、调试分析程序首先设置一个st
5、ruct,模拟操作系统的PCB数据结构,并初始化。PCB有ID、PRIORITY、CPUTIME、ALLTIME、STATE五个字段,其中STATE有两个状态,0为未完成,1为完成。首先,程序会调用maxp()函数找出优先权PRIORITY最大的进程ID,如果有若干个进程的PRIORITY相同,则程序会选择还需时间ALLTIME最少的进程,取出ID作为下一个时间片要执行的进程。当前进程执行完后,程序会调用change()函数修改进程的各个字段,未执行的进程呆一个时间片优先权PRIORITY就+1,刚执行完的进程优先权PRIORITY就-3,并且已经执行的CPU时间CPUTIME增加1,还需CP
6、U时间ALLTIME减少1。如果一个进程还需CPU时间ALLTIME为0,说明该进程完成了,状态STATE就修改为1,表示进程已经完成了,同时优先权变为0或者更低的数值,表示该进程不能再执行了。程序每运行一个时间片,就调用display()函数将所有进程的字段显示出来。如果所有程序的状态都为1了,表示所有进程都执行完了,程序将退出。五、 实验结果=ID 0 1 2 3 4PRIORITY 9 38 30 29 0CPUTIME 0 0 0 0 0ALLTIME 3 3 6 3 4STATE 0 0 0 0 0RUNNING PROG:1=ID 0 1 2 3 4PRIORITY 10 35 3
7、1 30 1CPUTIME 0 1 0 0 0ALLTIME 3 2 6 3 4STATE 0 0 0 0 0RUNNING PROG:1=ID 0 1 2 3 4PRIORITY 11 32 32 31 2CPUTIME 0 2 0 0 0ALLTIME 3 1 6 3 4STATE 0 0 0 0 0RUNNING PROG:1=ID 0 1 2 3 4PRIORITY 12 0 33 32 3CPUTIME 0 3 0 0 0ALLTIME 3 0 6 3 4STATE 0 1 0 0 0RUNNING PROG:2=ID 0 1 2 3 4PRIORITY 13 0 30 33 4CP
8、UTIME 0 3 1 0 0ALLTIME 3 0 5 3 4STATE 0 1 0 0 0RUNNING PROG:3=ID 0 1 2 3 4PRIORITY 14 0 31 30 5CPUTIME 0 3 1 1 0ALLTIME 3 0 5 2 4STATE 0 1 0 0 0RUNNING PROG:2=ID 0 1 2 3 4PRIORITY 15 0 28 31 6CPUTIME 0 3 2 1 0ALLTIME 3 0 4 2 4STATE 0 1 0 0 0RUNNING PROG:3=ID 0 1 2 3 4PRIORITY 16 0 29 28 7CPUTIME 0 3
9、 2 2 0ALLTIME 3 0 4 1 4STATE 0 1 0 0 0RUNNING PROG:2=ID 0 1 2 3 4PRIORITY 17 0 26 29 8CPUTIME 0 3 3 2 0ALLTIME 3 0 3 1 4STATE 0 1 0 0 0RUNNING PROG:3=ID 0 1 2 3 4PRIORITY 18 0 27 0 9CPUTIME 0 3 3 3 0ALLTIME 3 0 3 0 4STATE 0 1 0 1 0RUNNING PROG:2=ID 0 1 2 3 4PRIORITY 19 0 24 0 10CPUTIME 0 3 4 3 0ALLT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 动态 优先权 进程 调度 算法 模拟 10
限制150内