
·算法分析:
常用进程调度算法的分析与评价
白红义
(宁夏交通学校宁夏银川
1750200)
要:本文在用远国种常用逐程调度算法基本思想的基励上,对其进行了详知的分新和评价。关键词:进程调度
其法
分新评价
中图分类号:TP311.5
文财标识码,A
数字技术与应用
文章编号:1007-9416(2010)18-0099-02
Processschedulingalgorithmscommonlyusedintheanalysisand
evaluation
Ningxia Traffie Sehool
Ningxia
Yinehuan
750200
Abstract,The paper 'describes four common basie idea of the process of scheduling algorithm,based on its detailed analysis and evaluation
Key words,Process scheduling,Algoriths,Analysis,Evaluation
1引言
操作系统中的调度分高级调度(也称为长程调度,作业调度,宏调度)、低级调度(也称为进程调度,短程调度,微调度)、中级调度。
高级调度决定将处于后备队列中的哪些作业调入内存,并为它创建进程,分配必要的资累,使之处于就绪状态,准备执行,此时,作业得到的是速拟处理机。作业运行结后微善后处理工作,如回收资源,记帐等。
中级调度为提高内存利用率和系统吞吐量,将内存中暂时不能运行的进程调到外存上去等待,此时进程的状态为“就绪驻外存"状态成“挂起"状态,
进程调度是系统内部的低级调度,调度进程得到物理处理机。
作业调度与进程调度的区别:
(1)作业调度为进程活动做准备,进程调度使进程活动起来。
(2)作业调度次数少,进程调度频率高。(3)有的系统不设作业调度,但进程调
度必不可少。
进程调度的算法通常有先来先服务算法。时间片轮转算法,最高优先权优先调度算法、最短进程优先调度算法等。衡量进程调度性能通常需要从定性和定量两个方面来综合考虑,
2进程调度算法评价依据
进程调度性能的衡量方法可以分为定性和定量两种,在定性衡量方面,首先是调度的安全性,比如,一次进程调度是否可能引起数据结构的破坏等。这要求对调度时机的选择和保存CPU现场十分小心。另外,系统开销也是
1
Rosdy
图1
衡量进程调度的一个重要指标,进程调度程序的执行涉及到多个进程的上下文切换,如果调度策略过度繁项和复杂,将会耗去较大的系统开销。这在用户进程调度系统调用较多的情况下,将会造成响应时间大幅度增加。
进程调度的定量评价包括CPU的利用率评价、进程在就绪队列中的等待时间与执行时间之比等。实际上,由于进程进入就绪队列的随机模型很难确定,而且进程上下文切换等也将影响进程的执行效率,从而对进程调度进行解析是很圈难的,一般情况下,大多利用模拟或测试系统响应时间的办法来评价进程调度的性能。
3进程调度方式有非剥夺方式.剩夺方式、介于剥夺和非剥夺之间的方式。 4四种常用进程调度算法的分析与评价
4.1先来先服务算法 4.1.1算法思想
该算法思是按照进入就绪队列的先后次序来分配处理机。FCFS采用非剂夺调度力式,即一且某个进程山有处理机,就一直运行下去,直到该进程完成其上作或因等待某一事件面不能继续执行时才释放处理机。
4.1.2 4.1.3
算法实现服理如国1所示,算法分析与评价
①该算法原理简单,易于实现。 ①各进程平等竞争。
①由于各进程执行的时间不一样,从面导致相对不公平现象的产生。
1
算法实现原理
cpu
Pintoh
说明:Ready表示就绪队列,Pi表示新进人队列的进程,Finish表示进程行完毕退出。
WotPinieh
.M.i.32
Money
图2
Po
说明:Ready表示就绪队列,Pi表示新进人队列的进程,Finish表示进程运行完毕遇出。 NotFinish表示分配给某进程的时间片已用完但任务还没有完成,从而插人到Ready队列尾部。
万方数据
④该算法有利于长进程,不利于短进程。 ③该算法很少用来作为主调度策略,
常常用作辅助调度算法使用。
4.2最高优先权优先调度算法 4.2.1算法思想
该算法的基本思想是进程优先权高者优先调度,是一种最常用的进程调度算法。该算法的关键是如何确定优先数。
通常确定优先数的力法有两种,即静态法和动态法。
静态优先权是在创建进程时确定的,其运行特征是优先数确定之后在整个进行运行期间不再改变。确定静态优先权的依据有进程的类型,进程所使用的资源、进程的估计运行时间等因素,进程所申请的资源越多,估计的运行时间越长,进程的优先权越低,进程类型不同,优先权也不同,如系统进程的优先权高于用户进程的优先权,
动态优先权是指在创建进程时,其运行特征是根据系统资源的使用情况和进程的当前特点确定一个优先权,在进程行过程中再根据情况的变化调整优先权。动态优先权一般根据进程山有CPU时间的长短、进程等待CPU时间的长矩等因索确定。占有处理机的时间越长,则优先权越低;等待时间越长,则优先权越高。
4.2.2
算法分析与评价
(1)静态优先级调度算法实现较为简单,但不能反映系统以及进程在运行过程中发生的各种变化。面动态优先级法可以满足这个力面的需要。(2)动态优先级调度算法的性能一般介于几时间片轮转算法和先来先服务算法之间。
4.3时间片轮转调度算法 4.3.1
算法思想
该算法思想是使每个进程在就绪队列中的等待时间与享受服务的时间成比例,即将CPU的处理时间分成固定大小的时间片,如果在执行的一个进程把它分给它的时间片用完了,但任务还没有完成,则它也只能停止下来,释放它所占的CPU资源,然后排在相应的就绪队列的后面去。
4.3.2
算法实现康理图
该算法实现原理图如剧2所示。 4.3.3
算法分析与诉价
4.3.3.1时间片的长度选择比较围难
(下转101页)
数字技术与应用
99