优先级调度算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

优先级调度算法

1、调度算法

考虑到紧迫型作业进入系统后能得到优先处理,引入了高优先级优先调度算法。

优先级调度的含义:

(1)当该算法用于作业调度时,系统从后背作业队列中选择若干个优先级最高的,且系统能满足资源要求的作业装入内存运行;(2)当该算法用于进程调度时,将把处理机分配给就绪进行队列中优先级最高的进程。

2、调度算法的两种方式

非抢占式优先级算法:在这种调度方式下,系统一旦把处理机分配给就绪队列中优先级最高的进程后,该进程就能一直执行下去,直至完成;或因等待某事件的发生使该进程不得不放弃处理机时,系统才能将处理机分配给另一个优先级高的就绪队列。

抢占式优先级调度算法:在这种调度方式下,进程调度程序把处理机分配给当时优先级最高的就绪进程,使之执行。一旦出现了另一个优先级更高的就绪进程时,进程调度程序就停止正在执行的进程,将处理机分配给新出现的优先级最高的就绪进程。常用于实时要求比较严格的实时系统中,以及对实时性能要求高的分时系统。

3、优先级的类型

进程的优先级可采用静态优先级和动态优先级两种,优先级可由用户自定或由系统确定。

静态优先级调度算法

含义:静态优先级是在创建进程时确定进程的优先级,并且规定它在进程的整个运行期间保持不变。

确定优先级的依据:

1)进程的类型。

2)进程对资源的需求。

3)根据用户的要求。

优点:简单易行;系统开销小。

缺点:不太灵活,很可能出现低优先级的作业,长期得不到调度而等待的情况;静态优先级法仅适合于实时要求不太高的系统。

动态优先级调度算法

含义:动态优先级是创建进程时赋予该进程一个初始优先级,然后其优先级随着进程的执行情况的变化而改变,以便获得更好的调度性能。

优点:使相应的优先级调度算法比较灵活、科学,可防止有些进程一直得不到调度,也可防止有些进程长期垄断处理机。

缺点:需要花费相当多的执行程序时间,因而花费的系统开销比较大。

4、实时调度算法

由于在任何一个实时系统中毒存在着若干个实时进程或任务,用来反应或控制相应的外部事件,并往往具有某种程度的紧迫性,所以对实时系统中的调度算法提出了某些特殊要求。

对实时系统的要求

硬软实时系统含义:实时系统通常分为硬实时系统和软实时系统。前者意味着实时处理必须规定的时间限制内完成,后者意味着若偶尔实时处理超过时间限制是可以容忍的。

实时系统的要求:

1)提供必要的调度信息;

就绪时间,这是该进程变成就绪状态的起始时间;

开始执行截止时间和完成执行截止时间;

处理所需要的时间;

资源要求;

优先级。

2)调度方式

在实时控制系统中,广泛采用抢占式调度方式,特别是那些实时要求严格的实时系统中。非抢占调度方式对于一些小的实时系统,如果能预知进程执行的开始截止时间,则采用此调度方式。

3)具有快速响应外部中断的能力

每当紧迫的外部事件请求中断时,系统应能及时响应。这不仅要求系统具有快速硬件中断机构,而且要求中断处理程序执行的时间短,进程切换速度快。

相关文档
最新文档