09第九课-嵌入式实时操作系统.pdf
《09第九课-嵌入式实时操作系统.pdf》由会员分享,可在线阅读,更多相关《09第九课-嵌入式实时操作系统.pdf(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1嵌入式系统嵌入式系统AnIntroductiontoEmbeddedSystem第九课 嵌入式实时操作系统第九课 嵌入式实时操作系统浙江大学胡威浙江大学胡威2课程大纲课程大纲实时系统简介实时系统简介嵌入式实时调度嵌入式实时操作系统嵌入式实时操作系统3实时系统概念实时系统概念 实时系统定义实时系统定义 能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。POSIX 1003.b定义定义:指系统能够在限定的响应时间内提供所 需水平的服务指系统能够在限定的响应时间内提供所 需水平的服务
2、实时系统的正确性实时系统的正确性 不仅仅依赖于计算的逻辑结果不仅仅依赖于计算的逻辑结果 而且依赖于结果产生的时间而且依赖于结果产生的时间 两个特点两个特点 响应时间限定响应时间限定 可预知可预知 两个能力两个能力 在事先先定义的时间范围内识别和处理离散事件的能力在事先先定义的时间范围内识别和处理离散事件的能力 系统能够处理和储存控制系统所需要的大量数据系统能够处理和储存控制系统所需要的大量数据4实时系统的分类实时系统的分类1按任务到达分按任务到达分周期性的系统周期性的系统周期性任务周期性任务periodic任务必须在每个周期内完成一次任务必须在每个周期内完成一次可以在周期开始时启动,也可以在周
3、期开始以后启动可以在周期开始时启动,也可以在周期开始以后启动必须在周期结束前完成必须在周期结束前完成非周期性系统非周期性系统非周期性任务非周期性任务(aperiodic)任务到达没有规则的时间要求任务到达没有规则的时间要求必须有一个启动时间或完成时间必须有一个启动时间或完成时间5多任务多任务实时任务实时任务周期任务周期任务偶发任务偶发任务非周期任务非周期任务非实时任务非实时任务实时任务要求要满足时限实时任务要求要满足时限非实时任务要求要使其响应时间尽可能短非实时任务要求要使其响应时间尽可能短6实时系统的分类实时系统的分类2 按实时性分(时间约束性)按实时性分(时间约束性)硬实时系统硬实时系统-
4、灾难后果灾难后果指应用的时间需求能够得到完全满足,否则就造成重大安全事 故,甚至造成重大的生命财产损失和生态破坏指应用的时间需求能够得到完全满足,否则就造成重大安全事 故,甚至造成重大的生命财产损失和生态破坏航空航天、军事、核工业等航空航天、军事、核工业等 软实时系统软实时系统-性能下降性能下降应用虽提出时间需求,但实时任务偶尔违反这种需求对系统运行 及环境不会造成严重影响应用虽提出时间需求,但实时任务偶尔违反这种需求对系统运行 及环境不会造成严重影响视频点播(视频点播(Video-On-Demand,VOD)、监控系统、信息采 集系统)、监控系统、信息采 集系统 调度算法调度算法 通用系统中
5、以大吞吐量为目标通用系统中以大吞吐量为目标 实时系统实时系统满足时间的正确性满足时间的正确性提供高度动态的,满足在线需求的,适应性的实时调度提供高度动态的,满足在线需求的,适应性的实时调度7实时系统的特点:时间约束性实时系统的特点:时间约束性time constraint是最基本的目标是最基本的目标系统应该能够提供对时间正确性进行指定的方法系统应该能够提供对时间正确性进行指定的方法系统提供一种指定时间尺度的方法系统提供一种指定时间尺度的方法通用系统的延时不能满足通用系统的延时不能满足截止时间、时限(截止时间、时限(deadline)实时系统的任务具有一定的时间约束实时系统的任务具有一定的时间约
6、束时间约束是任何实时系统都固有的约束时间约束是任何实时系统都固有的约束8相关定义相关定义 时限时限(deadline)一个时间界限。它要求一个任务在该时刻之前完成一个时间界限。它要求一个任务在该时刻之前完成 任务执行时间任务执行时间 一个任务从启动到完成所花费的时间。一个任务从启动到完成所花费的时间。分为平均任务执行时间和最坏任务执行时间分为平均任务执行时间和最坏任务执行时间 实时系统中一般指最坏任务执行时间,考虑了可能的等待、阻塞等 最不利的情况实时系统中一般指最坏任务执行时间,考虑了可能的等待、阻塞等 最不利的情况 任务余量任务余量(laxity)时限减去任务执行时间所得的值,反映了系统工
7、作的从容程度时限减去任务执行时间所得的值,反映了系统工作的从容程度 紧时间约束紧时间约束(tight time constraint)在满足任务时限的同时,留给系统的时间比较紧张。由任务的余量 小而引起在满足任务时限的同时,留给系统的时间比较紧张。由任务的余量 小而引起 松时间约束松时间约束(loose time constraint)与紧时限概念相反与紧时限概念相反,指在满足任务时限的同时指在满足任务时限的同时,留给系统的时间比较宽 松留给系统的时间比较宽 松9 时限粒度时限粒度(deadline granularity)任务从启动时刻到时限之间的时间任务从启动时刻到时限之间的时间 当这个值
8、较小时,称为时限粒度小当这个值较小时,称为时限粒度小(或小粒度时限或小粒度时限),反之称为时限粒 度大,反之称为时限粒 度大(或大粒度时限或大粒度时限)强实时强实时(hard real-time)任务任务 强时限任务,要求该任务在时限之前完成强时限任务,要求该任务在时限之前完成,否则其结果将失去否则其结果将失去可用性可用性 弱实时弱实时(soft real-time)任务任务 弱时限任务,若该任务不能在时限到来之前完成弱时限任务,若该任务不能在时限到来之前完成,其结果的可用性将 逐渐下降其结果的可用性将 逐渐下降 关键任务关键任务(critical tasks)任务的重要程度,若任务在时限之前
9、不能完成,则会产生任务的重要程度,若任务在时限之前不能完成,则会产生灾难性灾难性后 果后 果 时限的严格性时限的严格性(strictness of deadline)当一个任务的完成超过时限时当一个任务的完成超过时限时,所得到结果的可用性程度所得到结果的可用性程度10实时系统分类实时系统分类3实时过程控制系统实时过程控制系统系统实时地从外界获得被控系统的当前状态,进行 预定的处理,根据处理结果对外界被控系统进行及 时控制,使其处于要求的状态下系统实时地从外界获得被控系统的当前状态,进行 预定的处理,根据处理结果对外界被控系统进行及 时控制,使其处于要求的状态下实时过程控制系统的模型是一个反馈环
10、结构实时过程控制系统的模型是一个反馈环结构实时信息处理系统实时信息处理系统系统仅从外界系统中获得当前状态并进行相应处理系统仅从外界系统中获得当前状态并进行相应处理不直接控制外界系统的变化不直接控制外界系统的变化11实时系统的特点:可预测性实时系统的特点:可预测性predictability 系统能够对实时任务的执行时间进行判断,确定是否 能够满足任务的时限要求系统能够对实时任务的执行时间进行判断,确定是否 能够满足任务的时限要求 是实时系统的重要性能要求是实时系统的重要性能要求 嵌入式系统的两个可预测性嵌入式系统的两个可预测性 硬件延迟的可预测性硬件延迟的可预测性 软件系统的可预测性软件系统的
11、可预测性应用程序的响应时间是可预测的,即在有限的时间内完成必须的 工作应用程序的响应时间是可预测的,即在有限的时间内完成必须的 工作操作系统的可预测性,即实时原语、调度函数等运行开销应是有 界的,以保证应用程序执行时间的有界性操作系统的可预测性,即实时原语、调度函数等运行开销应是有 界的,以保证应用程序执行时间的有界性 资源约束资源约束 指多个实时任务共享有限的资源时,必须按照一定的资源访 问控制协议进行同步,以避免死锁和高优先级任务被低优先 级任务堵塞的时间(即优先级倒置时间)不可预测指多个实时任务共享有限的资源时,必须按照一定的资源访 问控制协议进行同步,以避免死锁和高优先级任务被低优先
12、级任务堵塞的时间(即优先级倒置时间)不可预测12实时系统的可靠性实时系统的可靠性reliability 可靠性已成为衡量实时系统性能不可缺少的重要指标。可靠性已成为衡量实时系统性能不可缺少的重要指标。采用静态分析和保留资源的方法及冗余配置,使关键任务的 要求总能满足,系统在最坏情况下能正常工作或避免损失采用静态分析和保留资源的方法及冗余配置,使关键任务的 要求总能满足,系统在最坏情况下能正常工作或避免损失 稳定性稳定性 嵌入式的要求:强稳定性,弱交互性嵌入式的要求:强稳定性,弱交互性 容错容错 大部分针对硬件的容错,也有软件容错大部分针对硬件的容错,也有软件容错 分布式应用分布式应用 多机共享
13、资源,共同完成一个任务多机共享资源,共同完成一个任务 困难困难网络的实时性:保证网络传输时间是有界和可预测的网络的实时性:保证网络传输时间是有界和可预测的分布式系统的调度:负载平衡、信息传送、减少开销、任务粒度 划分等分布式系统的调度:负载平衡、信息传送、减少开销、任务粒度 划分等13实时系统的结构实时系统的结构 CPU 高运算速度高运算速度 IO 实时时钟的同步实时时钟的同步 高速中断处理、高高速中断处理、高I/O吞吐率、合理的处理器和吞吐率、合理的处理器和I/O设备的拓扑连接设备的拓扑连接 高速可靠的和有时间约束的网络通信高速可靠的和有时间约束的网络通信 可靠性可靠性 体系结构支持的出错处
14、理体系结构支持的出错处理 体系结构的依赖性体系结构的依赖性 体系结构支持的调度、操作系统体系结构支持的调度、操作系统 实时编程实时编程 实时编程就是使用汇编语言、安排中断优先级、写驱动程序等实时编程就是使用汇编语言、安排中断优先级、写驱动程序等 或采用或采用Ada语言,语言,FORTH语言语言 分布式的实时数据库分布式的实时数据库14实时系统与通用系统的区别实时系统与通用系统的区别通用系统通用系统-“劫富济贫劫富济贫”方便用户管理计算机资源方便用户管理计算机资源追求系统资源最大利用率追求系统资源最大利用率实时系统实时系统-“劫贫济富劫贫济富”调度的实时性调度的实时性响应时间可确定性响应时间可确
15、定性高可靠性高可靠性15性能衡量标准性能衡量标准 对传统的通用系统对传统的通用系统 大的系统吞吐量大的系统吞吐量 合理的响应速度合理的响应速度 对每个系统用户相对公平 的进行计算资源的分配对每个系统用户相对公平 的进行计算资源的分配 实时系统实时系统 实时的数据吞吐实时的数据吞吐取代了吞吐量取代了吞吐量 对硬实时应用的优先响应对硬实时应用的优先响应取代了恰当的反应速度取代了恰当的反应速度 系统的计算资源和其他外 设资源必须优先满足实时 应用的要求系统的计算资源和其他外 设资源必须优先满足实时 应用的要求取代了公平取代了公平16衡量指标衡量指标系统响应时间系统响应时间(System respon
16、se time)系统发出处理要求到系统给出应答信号的时间系统发出处理要求到系统给出应答信号的时间任务切换时间任务切换时间(Context-switching time)任务之间切换而使用的时间任务之间切换而使用的时间;中断延迟中断延迟(Interrupt latency time)计算机接收到中断信号到操作系统作出响应,并完 成换道转入中断服务程序的时间计算机接收到中断信号到操作系统作出响应,并完 成换道转入中断服务程序的时间两个主要评价实时性的指标两个主要评价实时性的指标最大中断禁止时间最大中断禁止时间+任务切换时间任务切换时间17谬误谬误“实时实时”等于等于“快速快速”X实时不意味着时间约
17、束是微秒或纳秒,而首先要求 的是可预测性实时不意味着时间约束是微秒或纳秒,而首先要求 的是可预测性速度越快的系统,实时应用领域越广,实时性越好速度越快的系统,实时应用领域越广,实时性越好强实时任务等于关键任务 强实时任务等于关键任务 X强实时任务是紧时限任务 强实时任务是紧时限任务 X强实时任务等同于小粒度时限任务强实时任务等同于小粒度时限任务 X18课程大纲课程大纲实时系统简介实时系统简介嵌入式实时调度嵌入式实时操作系统嵌入式实时操作系统19实时调度算法分类实时调度算法分类周期任务周期任务优先级调度优先级调度非优先级调度非优先级调度非周期任务调度非周期任务调度20周期任务的调度算法:优先级调
18、度周期任务的调度算法:优先级调度 基于优先级的调度基于优先级的调度 不事先计算任务的调度表,而是在作业释放以后,给它们分 配优先级,并按照优先级次序把作业放入就绪队列不事先计算任务的调度表,而是在作业释放以后,给它们分 配优先级,并按照优先级次序把作业放入就绪队列 分为两种分为两种 固定优先级算法固定优先级算法为每个任务中的所有作业分配相同的优先级为每个任务中的所有作业分配相同的优先级每个周期任务的优先级相对于其他任务来说是固定不变的每个周期任务的优先级相对于其他任务来说是固定不变的 动态优先级算法动态优先级算法给每个任务的单个作业分配不同的优先级给每个任务的单个作业分配不同的优先级作业释放并
19、完成时,任务的优先级相对于其他任务的优先级要发 生变化作业释放并完成时,任务的优先级相对于其他任务的优先级要发 生变化 大多数实用调度算法会给单个任务分配固定的优先级大多数实用调度算法会给单个任务分配固定的优先级 每当作业释放并准备进入就绪队列时,就给作业分配优先级每当作业释放并准备进入就绪队列时,就给作业分配优先级21速度单调算法速度单调算法速度单调算法(速度单调算法(Rate Monotonic,RM算法)算法)1973年,最著名,算法简单、有效、便于实现年,最著名,算法简单、有效、便于实现属于固定优先级算法属于固定优先级算法任务假定任务假定工作由定期任务组织,任务是周期性的工作由定期任务
20、组织,任务是周期性的任务的相对时限等于它的周期任务的相对时限等于它的周期任务时间定长度任务时间定长度算法思想:使用频率高的优先级高算法思想:使用频率高的优先级高22时限单调算法时限单调算法 时限单调算法(时限单调算法(Deadline Monotonic),),DM算法算法 属于固定优先级算法属于固定优先级算法 设计思想设计思想 按照任务的相对时限来分配优先级按照任务的相对时限来分配优先级 相对时限越短,优先级越高相对时限越短,优先级越高 蜕化蜕化 如果每个任务的相对时限与它的周期成正比,则如果每个任务的相对时限与它的周期成正比,则RM算法与算法与DM 算法一致算法一致 当相对时限是任意的时候
21、,当相对时限是任意的时候,DM算法表现最好算法表现最好 此时此时DM算法有时有可能产生可行的调度表,算法有时有可能产生可行的调度表,RM算法缺不可以算法缺不可以 如果如果DM算法不能产生可行的调度表,算法不能产生可行的调度表,RM算法肯定也不能算法肯定也不能23EDF算法算法 最早时限优先算法,截止期优先调度算法,最早时限优先算法,截止期优先调度算法,Earliest Deadline First,EDF 是使用最多的一种动态优先级调度算法是使用最多的一种动态优先级调度算法 按照作业的绝对时限为其分配优先级按照作业的绝对时限为其分配优先级 对于具有任意释放时间和时限的作业集对于具有任意释放时间
22、和时限的作业集J,当作业允许抢占,但作 业并不竞争资源时,当且仅当,当作业允许抢占,但作 业并不竞争资源时,当且仅当J存在可行的调度时,存在可行的调度时,EDF算法才能 够在单处理器上产生一个可行的调度算法才能 够在单处理器上产生一个可行的调度 EDF算法是任务级算法是任务级/作业级动态优先级算法作业级动态优先级算法 一旦作业按照所分配的优先级被放入就绪队列,它相对于队列中其 他作业的次序就是固定的一旦作业按照所分配的优先级被放入就绪队列,它相对于队列中其 他作业的次序就是固定的24LST算法算法 最小空闲时间优先算法(最小空闲时间优先算法(Least Slack Time First,LST
23、)、最短空闲时间优先算法()、最短空闲时间优先算法(Least Laxity First,LLF)属于动态优先级算法属于动态优先级算法 按照空闲时间分配优先级按照空闲时间分配优先级 空闲时间为已执行过的时间长度空闲时间为已执行过的时间长度 每次在新作业释放时,调度程序检查所有就绪作业的空闲时间每次在新作业释放时,调度程序检查所有就绪作业的空闲时间 将新作业和现有作业重新排序将新作业和现有作业重新排序 空闲时间越小,优先级越高空闲时间越小,优先级越高 LST需要监视所有就绪作业的空闲时间需要监视所有就绪作业的空闲时间 只要作业间空闲时间相对发生变化,调度程序就要向作业重新分配 优先级只要作业间空
24、闲时间相对发生变化,调度程序就要向作业重新分配 优先级25扩展扩展以上均属于单处理器调度,本课程不介绍多处 理器调度以上均属于单处理器调度,本课程不介绍多处 理器调度参见并行计算与多核程序设计、多核计算 课程内容参见并行计算与多核程序设计、多核计算 课程内容分布式实时调度分布式实时调度以以RMS为基础的广义为基础的广义RMS调度调度以风车调度以风车调度Sr为基础的为基础的DSr调度调度26静态优先级静态优先级vs动态优先级动态优先级RMS算法算法处理器利用率低处理器利用率低在最坏的情况下处理器的利用率要小于在最坏的情况下处理器的利用率要小于69%一般情况下也要小于一般情况下也要小于88%处理非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 第九 嵌入式 实时 操作系统
限制150内