UML第18章实时系统.ppt
《UML第18章实时系统.ppt》由会员分享,可在线阅读,更多相关《UML第18章实时系统.ppt(93页珍藏版)》请在三一办公上搜索。
1、第18章 实时系统,18.1 实时系统的简介及其分类 18.2 实时系统的相关概念 18.3 实时系统与通用系统的区别 18.4 多种实时系统的比较 18.5 实时系统与面向对象,实时系统(Real Time System)是一个对时间非常重要的系统,必须在有限的时间内,处理外部事件,以并行方式执行,而且系统效率经常保持最佳状况。,18.1 实时系统的简介及其分类,实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的。,18.1.1 实时系统简介,实时计算任务与常见的只要求逻辑正确性的计算任务之间的最大不同之处就是要满足处理与时间的关
2、系。它经常要处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。,实时系统的软硬件结构需要满足以下要求:(1)可满足系统中实时任务负载的运算速度。(2)延迟时间可预测并可满足响应时间要求的中断处理机制。(3)具有时间指标保障能力的I/O处理。(4)合理的处理器和I/O设备的拓扑连接。(5)高速可靠的和有时间约束的通信。,(6)实时的出错处理。(7)实时任务调度和并发处理,主要要求是满足时间指标的正确性要求,并提供满足运行时需求的。(8)实时多任务操作系统,这是现代实时系统所主要依赖的基础平台,提供实时应用的开发环境。,1
3、8.1.2 实时系统的分类,分为周期性的和非周期性的 分为硬实时和软实时,18.2 实时系统的相关概念,实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。有两种类型的实时系统:软实时系统和硬实时系统。,在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定某一任务必须在多长时间内完成。在硬实时系统中,各任务不仅要执行无误而且要做到准时。,18.2.1 实时系统的概念,实时系统是指:其正确性不仅依赖于计算结果逻辑上的正确,还依赖于计算结果产生的时机是否正确。所以对实时系统的要求是其行为的可预测并且能够满足系统的时间约束。,18.2.2 前后台系统,不复杂的小系统一般设计成如图18-
4、1所示。这种系统可称为前后台系统或超循环系统。,图18-1,18.2.3 任务与多任务,多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。,在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务应用程序将更容易设计与维护,如图18-2所示。,图18-2,典型的、每个任务都是一个无限的循环、每个任务都处在以下5种状态之一的状态下,这5种状态是:休眠态、就绪态、运行态、挂起态和被中断态:,(1)休眠态相当于该任务驻留在内存中,但并不被多任务
5、内核所调度。(2)就绪意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。,(3)运行态的任务是指该任务掌握了CPU的控制权,正在运行中。(4)挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生。(5)发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态。,图18-3表示C/OS-中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。,图18-3,18.2.4 共享资源与临界区,可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占
6、该资源,这叫做互斥。,临界区指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。,18.2.5 内核,不可剥夺型内核。不可剥夺型内核要求每个任务自我放弃CPU的所有权,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。不可剥夺型内核的一个优点是响应中断快。不可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。图18-4示意不可剥夺型内核的运行情况。,图18-4,可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如果是中断服务子程序使一个高优先级的任务进入就绪态,
7、中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。如图18-5所示。,图18-5,18.2.6 调度,调度(Scheduler)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。,静态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。,动态优先级。应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。,优先级反转。使用实时内核,优先级反转问题是实时系统中出现得最多的问题。如图1
8、8-6所示是解释优先级反转是如何出现的。,图18-6,图18-7解释如果内核支持优先级继承在上述例子中会是怎样一个过程。,图18-7,18.2.7 同步,可以利用信号量使某任务与中断服务同步,如图18-8所示。,图18-8,两个任务可以用两个信号量同步它们的行为,如图18-9所示。这叫做双向同步(bilateral rendezvous)。双向同步同单向同步类似,只是两个任务要相互同步。,图18-9,18.2.8 互斥,关中断 处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断。,测试并置位 如果不使用实时内核,当两个任务共享一个资源时,一定要约定好,先测试某一全程变量,如果该变量是0,
9、允许该任务与共享资源打交道。为防止另一任务也要使用该资源,前者只要简单地将全程变量置为1,这通常称作测试并置位(Test-And-Set),或称作TAS。,禁止做任务切换 如果任务不与中断服务子程序共享变量或数据结构,可以使用禁止、然后允许任务切换。,信号量。信号量是20世纪60年代中期Edgser Dijkstra发明的。信号量实际上是一种约定机制,在多任务内核中普遍使用。信号量用于:,(1)控制共享资源的使用权(2)标志某事件的发生(3)使两个任务的行为同步,如图18-10所示中的两个任务竞争得到排它性打印机使用权,图中信号量用一把钥匙表示,想使用打印机先要得到这把钥匙。,图18-10,多
10、任务共享一个RS-232C外设接口,各任务要送命令给接口另一端的设备并接收该设备的回应。如图18-11所示。,图18-11,计数式信号量用于某资源可以同时为几个任务所用。例如,用信号量管理缓冲区阵列(buffer pool),如图18-12所示。,图18-12,18.2.9 中断,中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)现场即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后:,(1)在前后台系统中,程序回到后台程序。(2)对不可剥夺型内核而言,程序回到被中断了的任务。(3)对可剥夺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 18 实时 系统
链接地址:https://www.31ppt.com/p-5451587.html