课程设计:进程调度模拟实验

课程设计:进程调度模拟实验

ID:21759141

大小:987.49 KB

页数:19页

时间:2018-10-24

课程设计:进程调度模拟实验_第1页
课程设计:进程调度模拟实验_第2页
课程设计:进程调度模拟实验_第3页
课程设计:进程调度模拟实验_第4页
课程设计:进程调度模拟实验_第5页
资源描述:

《课程设计:进程调度模拟实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、摘要无论在批处理系统还是分时系统屮,一个系统最重要的任务就是进程的凋度。进程一般都多于处理机数,但是,处理机在某一时刻只能执行一个进程。这将导致进程互相争夺处理机,导致处理效率低下。因此,引进进程调度这一机制。进程的调度有多种算法,我们为了更好地了解这些算法,决定对此进行模拟,主要包括:先來先服务调度算法、最高优先数优先算法、时间片轮转算法。目录姗1麵3课程设计任务及要求32.1设计任务32.2设计要求3算法及数据结构43.1算法的总体思想43.1.1最高优先数优先的调度算法43.1.2时间片轮转法4

2、3.1.3先来先服务算法43.2最高优先数优先模块43.2.1功能43.2.2数据结构53.2.3算法53.3时间片轮转法模块53.3.1功能53.3.2数据结构63.3.3算法63.4先来先服务模块63.4.1功能63.4.2数据结构73.4.3算法8程序设计与实现94.1程序流程图94.2程序代码124.3实验结果14结论16收获、体会和建议17陈亦信心得17潘炯填心得17参考文献171.概述这次课程设计要求用C语言编写一个进程调度模拟程序,并使其在红帽Linux环境下能够正常运行。程序要求能够i

3、±用户自己选择进程调度的算法:1、S高优先数优先算法;2、时间片轮转法;3、先来先服务算法。并根据用户选择的算法,系统能够自动进行运行,并给出进程调度的结果,输出在页而上。课程设计任务及要求2.1设计任务陈亦信工作进度表时间完成工作完成人周三下午审题,根据耍求,编写基本的链表结构陈亦信周四上午商议工作分配,编写输出函数陈亦信周四下午编写时间片轮转算法的代码陈亦信周五上午编写最髙优先级优先算法的代码陈亦信周五下午完成上述算法的代码陈亦信潘炯填工作进度表时间完成工作完成人周三下午完成文档排版,算法设计思想

4、并画程序流程阁潘炯填周四上午完成大部分文档,并根据文档内容编写FCFS算法代码潘炯填周四下午根据文裆㈧容编写FCFS算法代码潘炯填周五上午根据文档内容编写FCFS算法代码潘炯填周五下午根据代码及运行结果,完成文档潘炯填2.2设计要求(丨)编写一个进程调度程序,允许多个进程共享进程调度程序。(Linux系统下运行)(2)采用高优先数优先的调度算法(即把处理机分配给优先数S高的进程);时间片轮转法;先来先服务算法。(3)每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到

5、达时间、需要运行时间、已用CPU时间、进程状态等等。(4)进程的优先数、到达时间、时间八以及需要的运行时间由随机数产生。(5)选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。程序屮进程的运行时间以时间片为单位计算算法及数据结构3.1算法的总体思想3.1.1最高优先数优先的调度算法在每一个进程的PCB屮可有一个数字用来表示该进程的优先级;当需要进行分配时,系统就在就绪进程集中选择优先级最高的进程投入

6、运行;进程优先级的岛低应与进程所对应的事件的紧迫程度相关。对于比较紧迫的进程,优先级更高;反之,优先级更低。1.2时间片轮转法(1)将所有的就绪进程按FCFS策略排成一个就绪队列;(2)系统可设置每隔一定时间便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行一个时间片;(3)当它运行完毕后,又分配给就绪队列屮新的队首进程,也让它执行一个时间片。保证就绪队列中所有进程在确定的时间段内,都能获得一个时间片的时间。3.1.3先来先服务算法(丨)每次调度是从就绪的进程队列屮选择一个

7、最先进入该队列的进程,为之分配处理机,使之投入运行;(2)该进程一直运行到完成或发生某事件而阻塞后,进程调度程序才将处理机分配给其它进程。3.2最高优先数优先模块3.2.1功能最高优先数优先调度算法,可以根据进程的类型、进程对资源的谣求、川户的要求等,定义进程的优先级,让急需立刻完成的进程优先执行。而不至于因为一些必要进程得不到优先执行,导致程序发生错误或影响用户对程序的体验感觉。3.2.2数据结构3.2.3算法3.3时间片轮转法模块1.2.1功能时间片轮转算法,可以设置每隔一定的时间就产生一次中断,

8、去激活进程调度程序进行调度,保证就绪队列屮所有进程在确定的时间段内,都能获得一个时间片的时间。而时间片的大小对系统性能有很大的影响,系统可以通过时间片大小的设定,提升系统自身的性能。3.3.2数据结构3.3.3算法3.4先来先服务模块3.4.1功能先來先服务调度算法可用于作业调度,也可用于进程调度。当在进程调度中采用FCFS算法时,每次调度是从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻

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

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

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