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

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

ID:18824245

大小:156.00 KB

页数:16页

时间:2018-09-21

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

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

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

2、---------------6五.运行结果--------------------------------------9六.实验体会--------------------------------------11七.设计心得--------------------------------------12八.参考文献--------------------------------------1216进程调度算法一.设计要求1.编写一个进程调度程序,允许多个进程并行执行。2.每个进程有一个进程控制块

3、(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。3.进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。二.设计思想流程1.优先权调度模拟流程图开始输入开始进程数n创建n个PCB并加入ready-queue中ready-queue是否为空YNRunning<=idRunning<=逐个将redy_pc中的PCB16阻塞RunningNYRunning=idleYN将Running从r

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

5、ng<=idRunning<=逐个将redy_pc中的PCB阻塞RunningNYRunning=idleYN将Running从ready_queue中删除,再将running加入block_queueb16是否创建新PCBNY创建新进程并加入到ready_queue中随机对block_queue中的进程PCB询问是否要唤醒?处理完了吗YN是否要唤醒NY将其从blick_queuek队列是中删除,再将其加入ready_queuekY时间片轮转调度模拟流程图三.数据结构1.进程管理程序调试好后运行进

6、程管理程序2.优先权调度(1)输入1选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_queue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。16(4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列block_queue中,且将该进程从ready_queue中删除。(5)如果运行时间CPUtime大于等于Alltime,该进程运行完毕,释放该进程;否则插入到就绪队列中

7、。(6)更新就绪队列中的优先级数。(7)随机对阻塞队列block_queue中的进程PCB询问是否要唤醒,唤醒,即从唤醒队列中选择第一个进程,且插入就绪队列中;阻塞队列中没有阻塞进程返回。(8)重复上述步骤,直到本次调度结束。3.按时间片轮转调度(1)输入2选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_queue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。(4)在

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

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

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

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