设计一个按优先数调度算法实现处理器调度的程序(共10页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《设计一个按优先数调度算法实现处理器调度的程序(共10页).doc》由会员分享,可在线阅读,更多相关《设计一个按优先数调度算法实现处理器调度的程序(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目:设计一个按优先数调度算法实现处理器调度的程序 提示:(1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的格式为:进程名、指针、要求运行时间、优先数、状态。进程名P1P5。指针按优先数的大小把5个进程连成队列,用指针指出下一个进程PCB的首地址。要求运行时间假设进程需要运行的单位时间数。优先数赋予进程的优先数,调度时总是选取优先数大的进程先执行。状态假设两种状态,就绪,用R表示,和结束,用E表示。初始状态都为就绪状态。(2) 每次运行之前,为每个进程任意确定它的“优先数”和“要求运行时间”。(3) 处理器总是选队首进程运行。采用动态改变优先数的办法,进程
2、每运行1次,优先数减1,要求运行时间减1。(4) 进程运行一次后,若要求运行时间不等于0,则将它加入队列,否则,将状态改为“结束”,退出队列。(5) 若就绪队列为空,结束,否则,重复(3)。2程序中使用的数据结构及符号说明:#define num 5/假定系统中进程个数为5 struct PCB char ID;/进程名 int runtime;/要求运行时间 int pri;/优先数 char state; /状态,R-就绪,F-结束;struct PCB pcblistnum;/定义进程控制块数组3流程图: (1)主程序流程图:结 束调用运行子程序调用初始化子程序开 始 (2)子程序ini
3、t()流程图: 开 始定义ii=0inum输出操作提示输入ID,pri,runtimestate=Rgetchar()结束i=i+1(3) 子程序max_pri_process()流程图:开始定义i,key,max=100i=0inumpcblisti.state=rmaxpcblisti.pri&pcblisti.state=Rmax=pcblisti.pri key=i pcblistkey.state=Freturn -1return key 结 束return -1i=i+1(4)子程序show()流程图:开始定义i输出提示i=0inum输出pcblisti的ID,pri,runtim
4、e,state提示按键继续i=i+1结 束(5)子程序run()流程图:开始定义i,j,tj=0jnumt+=pcblistj.runtimej=j+1输出提示show()getchar()jtmax_pri_process()!=-1j=0pcblistmax_pri_process().state=ri=0inumpcblisti.state=rpcblisti.pri-=1 pcblisti.runtime-pcblisti.runtime=0pcblisti.state=Fpcblisti.state=Rshow() getchar()i=i+1j=j+1结 束4.源程序清单/按优先数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 一个 优先 调度 算法 实现 处理器 程序 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内