操作系统进程调度模块设计
时间:2014-01-22 10:07 来源:未知 作者:admin
摘要
为了提高计算机系统的效率、增强计算机系统内各种硬件的并行操作能力,引入了进程了概念。单个处理机被若干进程共享时,进程调度程序根据一定的算法将CPU分派给就绪队列中的某个进程,它实现CPU在进程间的切换,进程调度是操作系统最为核心的部分。本文基于对静态优先权调度算法的深入理解,分析了某些低优先级的进程无限的等待CPU的“饥饿”问题后,使用“论年头”方法设计了动态优先权调度算法。“论年头”方法使系统中等待CPU很长时间的进程逐渐提升优先级,从而解决“饥饿”问题。
由于动态优先级随着时间的推移而变化,系统要经常计算各进程的优先级,因此,系统要为此付出一定的时间开销。针对时间开销问题,本文又设计了时间开销很小的时间片轮转法。但在时间片轮转法中,所有进程以相同的速度往前推进,必然影响一些“紧急”作业、短作业和要求I/O操作多的作业。针对上诉问题,本文提出采用“多队列”方法优化时间片调度算法的建议,即根据进程的优先数不同划分两个或者两个以上的就绪队列,并赋给每次队列不同的优先数。最后,进一步地,在对时间片轮转算法优化的基础上设计了多级反馈队列调度算法。综上,本文成功设计了动态优先权法,时间片轮转法,多级反馈队列调度算法,并且达到较高的性能。
关键词:操作系统,进程调度,动态优先级,时间片轮转,多级反馈队列
目录
1 绪论............................................ 1
1.1 研究背景和研究意义.............................................. 1
1.2 论文研究内容及论文结构............................................... 1
1.2 论文研究内容及论文结构............................................... 1
1.2 研究方法、创新之处和不足之处............................................... 2
2 进程调度...............................................3
2.1进程调度的职能............................................... 3
2.2进程调度的主要数据结构...............................................3
2.3进程调度的方式............................................... 4
2.4进程调度算法............................................... 5
3 动态优先权调度算法............................................... 6
3.1优先权调度算法............................................... 6
3.2动态优先权调度算法...............................................7
3.2.1 设计思想............................................... 7
3.2.2 流程图............................................... 8
3.2.3 主要涉及的数据结构............................................... 9
3.2.4 函数和算法............................................... 9
3.2.5 运行结果和分析............................................... 10
3.2.6 性能分析...............................................12
3.2.7 主要伪代码...............................................13
4 时间片轮转调度算法...............................................16
4.1时间片轮转法的原理...............................................16
4.2设计思想... 16
4.3主要涉及的数据结构...............................................17
4.3主要涉及的数据结构...............................................17
4.4函数和算法...............................................17
4.5运行结果............................................... 18
4.6性能分析............................................... 20
4.7主要伪代码............................................... 21
4.8算法优化............................................... 23
5 多级反馈队列调度算法............................................... 24
5.1算法原理............................................... 24
5.2设计思想............................................... 24
5.3主要涉及的数据结构............................................... 25
3.4函数和算法............................................... 25
5.5性能分析............................................... 26
5.6算法优化............................................... 27
5.7三种算法的比较...............................................27
结论 ............................................ 28
致谢 ............................................ 29
参考文献............................................... 30
附录............................................ 31
1绪论
1.1研究背景和研究意义
操作系统的重要特征是并发和共享。为了提高计算机系统的效率、增强计算机系统内各种硬件的并行操作能力,引入了进程的概念。单个处理机被若干进程共享时,进程调度程序根据一定的算法将CPU分派给就绪队列中的某个进程,它实现CPU在进程间的切换,它是操作系统最为核心的部分。
进程调度的核心是进程调度算法.从系统角度考虑,调度算法设计必须考虑以下4个原则:
(1)均衡利用有限资源的原则,即CPU、I/O设备与主存利用的均衡性;
(2)满足紧急事件进程优先调度的原则;
(3)统筹兼顾的合理选择原则,例如,一些运行时间很短,对资源要求不高,发生阻塞状态可能性很小的进程应得到优先执行:
(4)尽量减少进程调度过程中的CPU损耗原则.进程就绪队列是一维的,采用优先级调度算法时,只能通过比较算法进行确认,比较过程实现是以牺牲CPU资源为代价的.具体调度算法应避免因CPU资源损耗过大,影响系统整体效率的问题.
一种进程调度算法同时满足以上4点是困难的,只能是趋近上述目标。[1]
联系我们
学位论文:1157918155
2860401462
期刊论文:2860401462 1157918155
电话:张老师:13189798483
推荐阅读