UML第18章实时系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《UML第18章实时系统课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 18 实时 系统 课件
- 资源描述:
-
1、第第1818章章 实时系统实时系统 18.1 18.1 实时系统的简介及其分类实时系统的简介及其分类 18.2 18.2 实时系统的相关概念实时系统的相关概念 18.3 18.3 实时系统与通用系统的区别实时系统与通用系统的区别 18.4 18.4 多种实时系统的比较多种实时系统的比较 18.5 18.5 实时系统与面向对象实时系统与面向对象 实时系统(实时系统(Real Time SystemReal Time System)是一个对时间)是一个对时间非常重要的系统,必须在有限的时间内,处理非常重要的系统,必须在有限的时间内,处理外部事件,以并行方式执行,而且系统效率经外部事件,以并行方式执
2、行,而且系统效率经常保持最佳状况。常保持最佳状况。18.1 18.1 实时系统的简介及其分类实时系统的简介及其分类 实时系统在工业、商业和军事等领域都有非常实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的。般来说,实时系统通常是比较复杂的。18.1.1 18.1.1 实时系统简介实时系统简介 实时计算任务与常见的只要求逻辑正确性的计实时计算任务与常见的只要求逻辑正确性的计算任务之间的最大不同之处就是要满足处理与算任务之间的最大不同之处就是要满足处理与时间的关系。它经常要处理很多并发事件的输时
3、间的关系。它经常要处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。好的时限内做出相应的响应。实时系统的软硬件结构需要满足以下要求:实时系统的软硬件结构需要满足以下要求:(1 1)可满足系统中实时任务负载的运算速度。)可满足系统中实时任务负载的运算速度。(2 2)延迟时间可预测并可满足响应时间要求的)延迟时间可预测并可满足响应时间要求的中断处理机制。中断处理机制。(3 3)具有时间指标保障能力的)具有时间指标保障能力的I/OI/O处理。处理
4、。(4 4)合理的处理器和)合理的处理器和I/OI/O设备的拓扑连接。设备的拓扑连接。(5 5)高速可靠的和有时间约束的通信。)高速可靠的和有时间约束的通信。(6 6)实时的出错处理。)实时的出错处理。(7 7)实时任务调度和并发处理,主要要求是满)实时任务调度和并发处理,主要要求是满足时间指标的正确性要求,并提供满足运行时足时间指标的正确性要求,并提供满足运行时需求的。需求的。(8 8)实时多任务操作系统,这是现代实时系统)实时多任务操作系统,这是现代实时系统所主要依赖的基础平台,提供实时应用的开发所主要依赖的基础平台,提供实时应用的开发环境。环境。18.1.2 18.1.2 实时系统的分类
5、实时系统的分类 分为周期性的和非周期性的分为周期性的和非周期性的 分为硬实时和软实时分为硬实时和软实时 18.2 18.2 实时系统的相关概念实时系统的相关概念 实时系统的特点是,如果逻辑和时序出现偏差实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。有两种类型的实时系统:将会引起严重后果。有两种类型的实时系统:软实时系统和硬实时系统。软实时系统和硬实时系统。在软实时系统中系统的宗旨是使各个任务运行在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定某一任务必须在多长时得越快越好,并不限定某一任务必须在多长时间内完成。间内完成。在硬实时系统中,各任务不仅要执行无误而且在硬实时系
6、统中,各任务不仅要执行无误而且要做到准时。要做到准时。18.2.1 18.2.1 实时系统的概念实时系统的概念 实时系统是指:其正确性不仅依赖于计算结果实时系统是指:其正确性不仅依赖于计算结果逻辑上的正确,还依赖于计算结果产生的时机逻辑上的正确,还依赖于计算结果产生的时机是否正确。所以对实时系统的要求是其行为的是否正确。所以对实时系统的要求是其行为的可预测并且能够满足系统的时间约束。可预测并且能够满足系统的时间约束。18.2.2 18.2.2 前后台系统前后台系统 不复杂的小系统一般设计成如图不复杂的小系统一般设计成如图18-118-1所示。这所示。这种系统可称为前后台系统或超循环系统。种系统
7、可称为前后台系统或超循环系统。图图18-118-1 18.2.3 18.2.3 任务与多任务任务与多任务 多任务运行的实现实际上是靠多任务运行的实现实际上是靠CPUCPU(中央处理(中央处理单元)在许多任务之间转换、调度。多任务运单元)在许多任务之间转换、调度。多任务运行很像前后台系统,但后台任务有多个。多任行很像前后台系统,但后台任务有多个。多任务运行使务运行使CPUCPU的利用率得到最大的发挥,并使的利用率得到最大的发挥,并使应用程序模块化。应用程序模块化。在实时应用中,多任务化的最大特点是,开发在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多人员可以将很复
8、杂的应用程序层次化。使用多任务应用程序将更容易设计与维护,如图任务应用程序将更容易设计与维护,如图18-218-2所示。所示。图图18-218-2 典型的、每个任务都是一个无限的循环、每个典型的、每个任务都是一个无限的循环、每个任务都处在以下任务都处在以下5 5种状态之一的状态下,这种状态之一的状态下,这5 5种种状态是:休眠态、就绪态、运行态、挂起态和状态是:休眠态、就绪态、运行态、挂起态和被中断态:被中断态:(1 1)休眠态相当于该任务驻留在内存中,但并)休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。不被多任务内核所调度。(2 2)就绪意味着该任务已经准备好,可以运行)就绪意味
9、着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。的优先级低,还暂时不能运行。(3 3)运行态的任务是指该任务掌握了)运行态的任务是指该任务掌握了CPUCPU的控制的控制权,正在运行中。权,正在运行中。(4 4)挂起状态也可以叫做等待事件态)挂起状态也可以叫做等待事件态WAITINGWAITING,指该任务在等待,等待某一事件的发生。指该任务在等待,等待某一事件的发生。(5 5)发生中断时,)发生中断时,CPUCPU提供相应的中断服务,提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被原来正在运行的
10、任务暂不能运行,就进入了被中断状态。中断状态。图图18-318-3表示表示C/OS-C/OS-中一些函数提供的服务,中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。这些函数使任务从一种状态变到另一种状态。图图18-318-318.2.4 18.2.4 共享资源与临界区共享资源与临界区 可以被一个以上任务使用的资源叫做共享资源。可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。打交道时,必须独占该资源,这叫做互斥。临界区指处理时不可分割的代码。一旦这部分临界区指处理时不可分
11、割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。中断,而临界段代码执行完以后要立即开中断。18.2.5 18.2.5 内核内核 不可剥夺型内核。不可剥夺型内核要求每个任不可剥夺型内核。不可剥夺型内核要求每个任务自我放弃务自我放弃CPUCPU的所有权,各个任务彼此合作的所有权,各个任务彼此合作共享一个共享一个CPUCPU。异步事件还是由中断服务来处。异步事件还是由中断服务来处理。不可剥夺型内核的一个优点是响应中断快。理。不可
12、剥夺型内核的一个优点是响应中断快。不可剥夺型内核的另一个优点是,几乎不需要不可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。图使用信号量保护共享数据。图18-418-4示意不可剥示意不可剥夺型内核的运行情况。夺型内核的运行情况。图图18-418-4 可剥夺型内核。当系统响应时间很重要时,要可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如果是中断服务子程序使使用可剥夺型内核。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开中断了的任务被挂起,优先级高的那个任务开始运行。如图
13、始运行。如图18-518-5所示。所示。图图18-518-518.2.6 18.2.6 调度调度 调度(调度(SchedulerScheduler)是内核的主要职责之一,)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。重要程度的不同被赋予一定的优先级。静态优先级。应用程序执行过程中诸任务优先静态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及
14、它们的时间约束在程序编系统中,诸任务以及它们的时间约束在程序编译时是已知的。译时是已知的。动态优先级。应用程序执行过程中,任务的优动态优先级。应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。核应当避免出现优先级反转问题。优先级反转。使用实时内核,优先级反转问题优先级反转。使用实时内核,优先级反转问题是实时系统中出现得最多的问题。如图是实时系统中出现得最多的问题。如图18-618-6所所示是解释优先级反转是如何出现的。示是解释优先级反转是如何出现的。图图18-618-6 图图18-718-7解释如果内核支持
15、优先级继承在上述例解释如果内核支持优先级继承在上述例子中会是怎样一个过程。子中会是怎样一个过程。图图18-718-718.2.7 18.2.7 同步同步 可以利用信号量使某任务与中断服务同步,如可以利用信号量使某任务与中断服务同步,如图图18-818-8所示。所示。图图18-818-8 两个任务可以用两个信号量同步它们的行为,两个任务可以用两个信号量同步它们的行为,如图如图18-918-9所示。这叫做双向同步(所示。这叫做双向同步(bilateral bilateral rendezvousrendezvous)。双向同步同单向同步类似,只)。双向同步同单向同步类似,只是两个任务要相互同步。是
16、两个任务要相互同步。图图18-918-918.2.8 18.2.8 互斥互斥 关中断关中断 处理共享数据时保证互斥,最简便快捷的办法处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断。是关中断和开中断。测试并置位测试并置位 如果不使用实时内核,当两个任务共享一个资如果不使用实时内核,当两个任务共享一个资源时,一定要约定好,先测试某一全程变量,源时,一定要约定好,先测试某一全程变量,如果该变量是如果该变量是0 0,允许该任务与共享资源打交,允许该任务与共享资源打交道。为防止另一任务也要使用该资源,前者只道。为防止另一任务也要使用该资源,前者只要简单地将全程变量置为要简单地将全程变量置为1
17、1,这通常称作测试,这通常称作测试并置位(并置位(Test-And-SetTest-And-Set),或称作),或称作TASTAS。禁止做任务切换禁止做任务切换 如果任务不与中断服务子程序共享变量或数据如果任务不与中断服务子程序共享变量或数据结构,可以使用禁止、然后允许任务切换。结构,可以使用禁止、然后允许任务切换。信号量。信号量是信号量。信号量是2020世纪世纪6060年代中期年代中期Edgser Edgser DijkstraDijkstra发明的。信号量实际上是一种约定机发明的。信号量实际上是一种约定机制,在多任务内核中普遍使用。信号量用于:制,在多任务内核中普遍使用。信号量用于:(1
18、1)控制共享资源的使用权)控制共享资源的使用权 (2 2)标志某事件的发生)标志某事件的发生 (3 3)使两个任务的行为同步)使两个任务的行为同步 如图如图18-1018-10所示中的两个任务竞争得到排它性所示中的两个任务竞争得到排它性打印机使用权,图中信号量用一把钥匙表示,打印机使用权,图中信号量用一把钥匙表示,想使用打印机先要得到这把钥匙。想使用打印机先要得到这把钥匙。图图18-1018-10 多任务共享一个多任务共享一个RS-232CRS-232C外设接口,各任务要外设接口,各任务要送命令给接口另一端的设备并接收该设备的回送命令给接口另一端的设备并接收该设备的回应。如图应。如图18-11
19、18-11所示。所示。图图18-1118-11 计数式信号量用于某资源可以同时为几个任务计数式信号量用于某资源可以同时为几个任务所用。例如,用信号量管理缓冲区阵列所用。例如,用信号量管理缓冲区阵列(buffer poolbuffer pool),如图),如图18-1218-12所示。所示。图图18-1218-1218.2.9 18.2.9 中断中断 中断是一种硬件机制,用于通知中断是一种硬件机制,用于通知CPUCPU有个异步有个异步事件发生了。中断一旦被识别,事件发生了。中断一旦被识别,CPUCPU保存部分保存部分(或全部)现场即部分或全部寄存器的值,跳(或全部)现场即部分或全部寄存器的值,跳
20、转到专门的子程序,称为中断服务子程序转到专门的子程序,称为中断服务子程序(ISRISR)。中断服务子程序做事件处理,处理)。中断服务子程序做事件处理,处理完成后:完成后:(1 1)在前后台系统中,程序回到后台程序。)在前后台系统中,程序回到后台程序。(2 2)对不可剥夺型内核而言,程序回到被中断)对不可剥夺型内核而言,程序回到被中断了的任务。了的任务。(3 3)对可剥夺型内核而言,让进入就绪态的优)对可剥夺型内核而言,让进入就绪态的优先级最高的任务开始运行。先级最高的任务开始运行。微处理器一般允许中断嵌套,也就是说在中断微处理器一般允许中断嵌套,也就是说在中断服务期间,微处理器可以识别另一个更
展开阅读全文