调度算法:

来源:互联网 发布:mac如何给iphone刷机 编辑:程序博客网 时间:2024/04/30 16:50

调度算法:

先来先服务调度算法:有利长作业(进程),而不利于短作业(进程)

优点:简单,容易实现

有利于CPU繁忙型作业,而不利于I/O繁忙型作业

短作业(进程)优先法:

平均时间短,有利于短作业,不利于长作业

短作业优先(SJF)法:从后背队列中选择一个或若干个估计运行时间最短的作业调入内存。

短进程优先(SPF)调度算法:从就绪队列中选出一个估计运行时间最短的进程,分配处理机使它立即执行直到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。

SJP)F法缺点:

(1)对长作业不利。如果有一长作业进入系统后备队列,由于总是优先调度那些短作业(进程),将导致长作业长期不被调度。

(2)完全为考虑作业的紧迫程度,不能保证紧迫性作业(进程)会被及时处理。

(3)作业(进程)的长短根据用户所提供的估计执行时间而定的,不一定能真正做到短作业优先调度。


以上两个算法的比较,举例:

调度算法: - 小鲍 - 小鲍
 

高优先权优先算法:

1、优先权调度算法的类型

2、优先权的类型

3、高响应优先算法


优先权调度算法:1、非抢占式优先权算法   2、抢占式优先权调度算法

非抢占式优先权算法:把处理机分配给就绪队列中优先权最高的进程分配给处理机,直到 这个处理进程处理完或进入阻塞才进行切换。主要用于对实时性要求不严的实时系统。

抢占式优先权调度算法:把处理机分配给优先权最高的进程,使之进行。在执行期间,只要有出现优先权更高的进程,就重新将处理机分配给新到的优先权最高的进程!

能更好地满足紧迫作业的要求,常用于 要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中!

静态优先权:在创建进程是确定   在进程的运行期间保持不变。   一般地,用某一范围内的一个整数来表示的,例如070255中的某一个整数,又把该整数成为优先数。

确定优先权依据: 1、进程类型:系统进程高于用户进程  2、进程对资源的要求:要求少的进程应用赋予较高的优先权。  3、用户要求。这是由用户进程的紧迫程度所付费来确定。

静态优先权方法的优缺点:简单,系统开销少。

不精确,仅在要求不高的系统中使用

动态优先权:优先权随进程推进或随其等待时间的增加而改变的,以便获得更好的调度性能。

高响应比优先调度算法:引入动态优先权,并使作业优先级随着等待时间的增加而以速率a提高。

优点:兼顾了长短作业,

缺点:做相应的计算,故增加了系统的开销

该优先权的规律为:

优先权=(等待时间+要求服务时间)/要求服务时间

优先权=Rp=响应时间/要求服务时间

Rp:响应比

时间片轮转发:分时系统中多采用此法;

把就绪进程组织成FIFO队列,把CPU分配给对手进程, 规定它执行一个时间片,时间片完成时排在就绪队列的末尾,重新把处理机分配给就绪队列中新的队首 进程,也执行一个时间片。就绪队列中的所有进程在给定时间内,均可获得一个时间片的CPU时间

多级反馈队列调度算法:1、为多个就绪队列赋不同的优先级。 第一个队列的优先级最高,其余逐个降低。  各队列中进程执行的时间片也不同,优先越高的队列中,优先权越高的队列中时间片越小。

 2、新进程进入内存后,首先放入第一队列的末尾,按FCFS原则排队等候调度。到该进程执行时,如果能在该事件片内完成,便准备撤离系统;如果未完成,转入第二队列的末尾,在同样地按FCFS原则等待调度执行;如此下去,当一个长作业从第一队列依次降到第N队列中便采取按时间片轮转动方式运行。

3、仅当第i~(i-1)队列均为空时,系统才处理第i个队列中任务,调度第i个队列中的进程,如果处理机正在第i队列中为某进程服务时,又有新进程进入优先权较高的队列,则新进程将 ”抢占”处理机,即由调度程序把正在运行的进程放回到第 队列的末尾,把处理机分配给新到的高优先权进程

0 0
原创粉丝点击