操作系统 进程调度算法课程设计报告.doc

操作系统 进程调度算法课程设计报告.doc

ID:61499615

大小:123.50 KB

页数:16页

时间:2021-02-07

操作系统 进程调度算法课程设计报告.doc_第1页
操作系统 进程调度算法课程设计报告.doc_第2页
操作系统 进程调度算法课程设计报告.doc_第3页
操作系统 进程调度算法课程设计报告.doc_第4页
操作系统 进程调度算法课程设计报告.doc_第5页
资源描述:

《操作系统 进程调度算法课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统原理课程设计报告题目:进程调度算法课程名称:操作系统姓名:柴婉宁学号:专业:计算机科学与技术学校:辽宁科技大学指导老师:张静日期:2014.3.1目录一.设计要求--------------------------------------3二.设计思想流程--------------------------------3三.数据结构--------------------------------------5四.程序清单--------------------------------------6五.运行结

2、果--------------------------------------9六.实验体会--------------------------------------11七.设计心得--------------------------------------12八.参考文献--------------------------------------12进程调度算法一.设计要求1.编写一个进程调度程序,允许多个进程并行执行。2.每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达

3、时间、需要运行时间、已用CPU时间、进程状态等等。3.进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。二.设计思想流程1.优先权调度模拟流程图开始输入开始进程数n创建n个PCB并加入ready-queue中ready-queue是否为空YNRunning<=idRunning<=逐个将redy_pc中的PCB阻塞RunningNYRunning=idleYN将Running从ready_queue中删除,再将running加入block_queueb更新新进程就

4、绪队列进程优先数,优先数加1是否创建新PCBNY创建新进程并加入到ready_queue中随机对block_queue中的进程PCB询问是否要唤醒?处理完了吗YN是否要唤醒NY将其从blick_queuek队列是中删除,再将其加入ready_queuek优先权调度模拟流程图2.按时间片轮转调度模拟流程图开始输入开始进程数n创建n个PCB并加入ready-queue中ready-queue是否为空YNRunning<=idRunning<=逐个将redy_pc中的PCB阻塞RunningNYRunning=idleY

5、N将Running从ready_queue中删除,再将running加入block_queueb是否创建新PCBNY创建新进程并加入到ready_queue中随机对block_queue中的进程PCB询问是否要唤醒?处理完了吗YN是否要唤醒NY将其从blick_queuek队列是中删除,再将其加入ready_queuekY时间片轮转调度模拟流程图三.数据结构1.进程管理程序调试好后运行进程管理程序2.优先权调度(1)输入1选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_qu

6、eue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。(4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列block_queue中,且将该进程从ready_queue中删除。(5)如果运行时间CPUtime大于等于Alltime,该进程运行完毕,释放该进程;否则插入到就绪队列中。(6)更新就绪队列中的优先级数。(7)随机对阻塞队列block_queue中的进程PCB询问是否要唤醒,唤醒,即从唤醒队列中选择第一个进程,且插入就绪

7、队列中;阻塞队列中没有阻塞进程返回。(8)重复上述步骤,直到本次调度结束。3.按时间片轮转调度(1)输入2选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_queue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。(4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列block_queue中,且将该进程从ready_queue中删除。(5)如果运行时间CPUtime大于等于Alltime,

8、该进程运行完毕,释放该进程;否则插入到就绪队列中。(6)随机对阻塞队列block_queue中的进程PCB询问是否要唤醒,唤醒,即从唤醒队列中选择第一个进程,且插入就绪队列中;阻塞队列中没有阻塞进程返回。(7)如果时间到,本次调度结束,否则重复上述步骤,直到本次调度结束。四.源程序代码#include#include#i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。