2022年实验高优先权优先的进程调度算法模拟归纳 .pdf

上传人:Che****ry 文档编号:30550733 上传时间:2022-08-06 格式:PDF 页数:10 大小:102.81KB
返回 下载 相关 举报
2022年实验高优先权优先的进程调度算法模拟归纳 .pdf_第1页
第1页 / 共10页
2022年实验高优先权优先的进程调度算法模拟归纳 .pdf_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2022年实验高优先权优先的进程调度算法模拟归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年实验高优先权优先的进程调度算法模拟归纳 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验 3 高(动态)优先权优先的进程调度算法模拟1. 实验目的通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。2. 实验环境装有操作系统Windows XP 和开发工具VC+6.0,内存在 256M 以上的微机;或者:装有Linux(Fedora 7)操作系统和gcc 编译器,内存在256M 以上的微机。3. 实验内容(1)用 C 语言来实现对N 个进程采用动态优先权优先算法的进程调度。(2)每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:进程标识数ID;进程优先数PRIORITY ,并规定优先数越大的进程,其优先权越高;进程已占用的CPU时间 CPUTIME;进程还

2、需占用的CPU时间 NEEDTIME 。当进程运行完毕时,NEEDTIME变为 0;进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK 个时间片后, 进程将进入阻塞状态;进程被阻塞的时间BLOCKTIME ,表示已阻塞的进程再等待BLOCKTIME个时间片后,进程将转换成就绪状态;进程状态STATE ;(READY , RUNNING, BLOCK, FINISH) 队列指针NEXT ,用来将 PCB排成队列。(3)优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加1;进程每运行一个时间片,优先数减3。(4)假设在调度前,系统中有5 个进程,它们的初始状态如下:I

3、D 0 1 2 3 4 PRIORITY 9 38 30 29 0 CPUTIME 0 0 0 0 0 NEEDTIME 3 3 6 3 4 STARTBLOCK 2 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE READY READY READY READY READY (5)为了清楚地观察进程的调度过程,程序应将每个时间片内的进程的情况显示出来,参照的具体格式如下:RUNNING PROCESS: $id0 READY QUEUE: $id1-$id2 BLOCK QUEUE: $id3-$id4 FINISH QUEUE: $id0-$id1-$id2-$i

4、d3-$id4 = ID PRIORITY CPUTIME NEEDTIME STATE STARTBLOCK BLOCKTIME 0 XX XX XX XX XX XX 1 XX XX XX XX XX XX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 2 XX XX XX XX XX XX 3 XX XX XX XX XX XX 4 XX XX XX XX XX XX = 4. 实验要求(1) 将源程序 (priori

5、ty.c) 和程序运行结果写入实验报告。(2) 将该算法执行过程与高响应比优先调度算法的执行过程进行比较。#include #include using namespace std; int i; / 循环值int j; / 还在阻塞或就绪队列中的进程数int s; int m; / 最大 priority 的 id struct pcb int id; int p; /priority int cputime; int alltime; int startblock; int blocktime; int state; /0 表示 ready 1 表示 end -1 表示 block ; s

6、truct pcb pro5= 0,9,0,3,2,3,0, 1,38,0,3,-1,0,0, 2,30,0,6,-1,0,0, 3,29,0,3,-1,0,0, 4,0,0,4,-1,0,0 ; int changestate0() if(pro0.startblock=0) pro0.state=-1; pro0.startblock-; return 1; if(pro0.blocktime=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - -

7、 - - - - - - pro0.state=0; return 1; if(pro0.state=0&pro0.startblock!=-1) pro0.startblock-;return 1; if(pro0.state=-1&pro0.blocktime!=0) pro0.blocktime-;return 1; int state0() changestate0(); s=pro0.p; if(pro0.state=-1) s=-100; return s; int maxp()/ 求出最大priority state0(); int max=s; m=pro0.id; for(i

8、=0;iproi.p) max=proi+1.p; m=proi+1.id; return m; void change() maxp(); int x;/ 得到 m 现在的数组编号for(i=0;ij;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - proi.p+; for(i=0;ij;i+) if(proi.id=m) x=i; prox.cputime+; prox.p=prox.p-4; prox.allti

9、me-; if(prox.alltime=0) prox.state=1; void display() change(); coutRUNNING PROG:mendl; cout=n; coutID ; for(i=0;ij;i+) cout.width(10); coutproi.id; coutendlPRIORITY ; for(i=0;ij;i+) cout.width(10); coutproi.p; coutendlCPUTIME ; for(i=0;ij;i+) cout.width(10); coutproi.cputime; coutendlALLTIME ; for(i

10、=0;ij;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - cout.width(10); coutproi.alltime; coutendlSTARTBLOCK; for(i=0;ij;i+) cout.width(10); coutproi.startblock; coutendlBLOCKTIME ; for(i=0;ij;i+) cout.width(10); coutproi.blocktime; cout

11、endlSTATE ; for(i=0;ij;i+) cout.width(10); coutproi.state; coutendl; int main() j=5;/ 刚开始有5 个进程while(j!=0) for(i=0;ij;i+) if(proi.state=1) for(;ij;i+) proi=proi+1; j=j-1; display(); getchar(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - -

12、- 运行结果:RUNNING PROG:1 = ID 0 1 2 3 4 PRIORITY 10 35 31 30 1 CPUTIME 0 1 0 0 0 ALLTIME 3 2 6 3 4 STARTBLOCK 1 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE 0 0 0 0 0 RUNNING PROG:1 = ID 0 1 2 3 4 PRIORITY 11 32 32 31 2 CPUTIME 0 2 0 0 0 ALLTIME 3 1 6 3 4 STARTBLOCK 0 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE 0 0

13、 0 0 0 RUNNING PROG:1 = ID 0 1 2 3 4 PRIORITY 12 29 33 32 3 CPUTIME 0 3 0 0 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - ALLTIME 3 0 6 3 4 STARTBLOCK -1 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE -1 1 0 0 0 RUNNING PROG:2 = ID 0 2 3 4 PRIO

14、RITY 13 30 33 4 CPUTIME 0 1 0 0 ALLTIME 3 5 3 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 2 0 0 0 STATE -1 0 0 0 RUNNING PROG:3 = ID 0 2 3 4 PRIORITY 14 31 30 5 CPUTIME 0 1 1 0 ALLTIME 3 5 2 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 1 0 0 0 STATE -1 0 0 0 RUNNING PROG:2 = ID 0 2 3 4 PRIORITY 15 28 31 6 CPUTIME 0 2

15、1 0 ALLTIME 3 4 2 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 0 0 0 0 STATE -1 0 0 0 RUNNING PROG:3 = ID 0 2 3 4 PRIORITY 16 29 28 7 CPUTIME 0 2 2 0 ALLTIME 3 4 1 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 0 0 0 0 STATE 0 0 0 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10

16、页 - - - - - - - - - RUNNING PROG:2 = ID 0 2 3 4 PRIORITY 17 26 29 8 CPUTIME 0 3 2 0 ALLTIME 3 3 1 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 0 0 0 0 STATE 0 0 0 0 RUNNING PROG:3 = ID 0 2 3 4 PRIORITY 18 27 26 9 CPUTIME 0 3 3 0 ALLTIME 3 3 0 4 STARTBLOCK -1 -1 -1 -1 BLOCKTIME 0 0 0 0 STATE 0 0 1 0 RUNNING PR

17、OG:2 = ID 0 2 4 PRIORITY 19 24 10 CPUTIME 0 4 0 ALLTIME 3 2 4 STARTBLOCK -1 -1 -1 BLOCKTIME 0 0 0 STATE 0 0 0 RUNNING PROG:2 = ID 0 2 4 PRIORITY 20 21 11 CPUTIME 0 5 0 ALLTIME 3 1 4 STARTBLOCK -1 -1 -1 BLOCKTIME 0 0 0 STATE 0 0 0 RUNNING PROG:2 = ID 0 2 4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

18、 - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - PRIORITY 21 18 12 CPUTIME 0 6 0 ALLTIME 3 0 4 STARTBLOCK -1 -1 -1 BLOCKTIME 0 0 0 STATE 0 1 0 RUNNING PROG:0 = ID 0 4 PRIORITY 18 13 CPUTIME 1 0 ALLTIME 2 4 STARTBLOCK -1 -1 BLOCKTIME 0 0 STATE 0 0 RUNNING PROG:0 = ID 0 4 PRIORITY 15 1

19、4 CPUTIME 2 0 ALLTIME 1 4 STARTBLOCK -1 -1 BLOCKTIME 0 0 STATE 0 0 RUNNING PROG:0 = ID 0 4 PRIORITY 12 15 CPUTIME 3 0 ALLTIME 0 4 STARTBLOCK -1 -1 BLOCKTIME 0 0 STATE 1 0 RUNNING PROG:4 = ID 4 PRIORITY 12 CPUTIME 1 ALLTIME 3 STARTBLOCK -1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心

20、整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - BLOCKTIME 0 STATE 0 RUNNING PROG:4 = ID 4 PRIORITY 9 CPUTIME 2 ALLTIME 2 STARTBLOCK -1 BLOCKTIME 0 STATE 0 RUNNING PROG:4 = ID 4 PRIORITY 6 CPUTIME 3 ALLTIME 1 STARTBLOCK -1 BLOCKTIME 0 STATE 0 RUNNING PROG:4 = ID 4 PRIORITY 3 CPUTIME 4 ALLTIME 0 STARTBLOCK -1 BLOCKTIME 0 STATE 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁