OS03特殊系统调度.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS03特殊系统调度

* 为了实现实时调度,OS必须记录下每个实时任务的一些特有的必要信息,从而保证实时任务的及时执行。那么都需要记录哪些信息呢? 1、截止时间显然是必须的,两者之一即可。 2、实时任务是什么时间到达的——就绪时间,周期性实时任务的就绪时间是预先知道的一串时间序列。比如每10秒到达一次,则这个周期性实时任务的就绪时间就是0、10、20、30…,而非周期性的任务系统也可以事先获得; 3、实时执行所需的时间——处理时间,这也需要知道,这样才能判断至少什么时候调度才能保证截止时间要求; 5、尽管实时任务最重要是满足截止时间要求,但是一旦错过截止时间要求,系统又怎么向前推进呢,这是就要参考进程的优先级信息,比如对于硬实时任务,给它以绝对高的优先级,保证它能快速被调度执行,而软实时任务给它相对较高的优先级。 * 第二个基本条件:系统处理能力强。因为如果系统处理能力不强,实时任务又很多,则会出现系统忙不过来的现象。 【设问】如何判断一个实时系统是否可以胜任它所接收的多个实时任务呢? 用下面方法判断:假定…,即第i个实时任务每隔Pi时间到达一次需要Ci时间处理。 对于单处理机情况,必须满足以下限制。 首先Ci ≤ Pi , 即Ci / Pi ≤1 ,又因为有多个任务都要完成,因此还要满足:…。 【举例】1.21,不可调度,即每50ms就要来60ms的处理任务,怎么忙得过来呢? * 【设问】 【分析】前面公式中Ci Pi 都是无法改变的实时任务,若想改变只能改变不等式右端的1,我们知道1代表一个处理机的意思,也就是说如果我们把单处理机改为多处理机系统,N个时,(简化考虑N个处理机的处理能力正好是N倍)限制条件变为: 是不是就改善了处理能力了?! * 3、对于含有硬实时任务的系统,应采用抢占式调度机制,以保证该硬实时任务对截止时间的要求。 4、对于硬实时任务不仅允许抢占,而且应当实现快速抢占,以保证硬实时任务的及时执行。那么这就要求系统具有: (1)因为抢占的时间点都是发生在中断点上的,如果中断间隔较长,就无法实现立即抢占,因此系统必须采用快速的硬件中断机构,允许中断间隔非常短; (2)响应中断后需要进行任务的切换,这又实时系统必须有快速的任务分派能力,从而保证能快速切换的这个紧急的硬实时任务,具体系统可采用运行单位尽可能小的方法。比如以线程为单位。 * 下面来学习实时调度算法的分类,根据不同的角度可以对算法进行不同的划分,比如: 3、静态调度:进程间的执行顺序在执行前调度程序已经固定,就按照这个顺序调度执行;动态调度:根据系统当前的情况决定调度哪个进程执行。执行的顺序是变化的。 重点了解第二种分类。 * 可具体分为: 对于每一种算法将从它们的含义、图示、响应时间、应用范围 四个角度学习。 * 因为该调度算法主要应用于工业生产的群控系统,所以我们就以此为例讲解该调度算法的调度思想。 【调度思想】【结合图讲解】首先工业群控系统就是由计算机控制多个对象完成相应工作,在本算法中考虑为每个对象创建一个进程,并链接成轮转队列;处理机调度程序每次调度时选择队首实时进程运行,运行完成后,将其插入到轮转队列的末尾,再重新调度一个新的队首进程运行。 【分析】那么这个算法的性能如何呢?对于任一新就绪的实时进程,必须得等到队列中前面的进程全部运行完成,它们才能运行,显然对于这个进程从就绪到执行的时间,即调度时间scheduling time,是比较长的,一般响应时间在几秒到数十秒之间,因此仅能应用在不太严格的实时系统。 * 下面再来看非抢占式优先调度算法。 【调度思想】当有新的一个实时任务到达,不是放在轮转队列队尾上,而是放在就绪队列队首,等待当前任务自我终止或运行完成,就马上被调度。【结合图说明】 因为只需当前进程执行完成或自我终止即可,所以响应时间有明显下降,仅为数百毫秒。可用于较为严格的实时控制系统 因为这里优先考虑了新到的实时进程,但又没有抢占当前进程的CPU,所有我们称这种算法为 非抢占式 优先 调度算法。 * 【调度思想】【结合图示描述】 【分析举例】响应时间多长?取决于系统中断间隔的大小,比如每10ms产生一次中断,那么最迟10ms后就会调度这个新的优先级高的实时任务运行。 * 【调度思想】【结合图示描述】 否则请求中断的紧急任务就不能马上被系统感知,进而无法实现立即抢占 * 【英文含义】 (Earliest Deadline First) 【调度思想】根据任务的开始截止时间来确定任务的优先级,即开始截止时间越早,优先级越高,越优先调度。它既可以实现抢占版本也可以实现非抢占版本。即新就绪的实时任务如何开始截止时间考前,是否可以抢占当前进程的CPU的两种情况。 【举例】【动画】 任务1先到达,它的到达时间和开始截止时间分别为,这时因为只有一个实时任务

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档