- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第18章 实时系统 18.1 实时系统的简介及其分类 18.2 实时系统的相关概念 18.3 实时系统与通用系统的区别 18.4 多种实时系统的比较 18.5 实时系统与面向对象 实时系统(Real Time System)是一个对时间非常重要的系统,必须在有限的时间内,处理外部事件,以并行方式执行,而且系统效率经常保持最佳状况。 18.1 实时系统的简介及其分类 实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的。 18.1.1 实时系统简介 实时计算任务与常见的只要求逻辑正确性的计算任务之间的最大不同之处就是要满足处理与时间的关系。它经常要处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。 实时系统的软硬件结构需要满足以下要求: (1)可满足系统中实时任务负载的运算速度。 (2)延迟时间可预测并可满足响应时间要求的中断处理机制。 (3)具有时间指标保障能力的I/O处理。 (4)合理的处理器和I/O设备的拓扑连接。 (5)高速可靠的和有时间约束的通信。 (6)实时的出错处理。 (7)实时任务调度和并发处理,主要要求是满足时间指标的正确性要求,并提供满足运行时需求的。 (8)实时多任务操作系统,这是现代实时系统所主要依赖的基础平台,提供实时应用的开发环境。 18.1.2 实时系统的分类 分为周期性的和非周期性的 分为硬实时和软实时 18.2 实时系统的相关概念 实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。有两种类型的实时系统:软实时系统和硬实时系统。 在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定某一任务必须在多长时间内完成。 在硬实时系统中,各任务不仅要执行无误而且要做到准时。 18.2.1 实时系统的概念 实时系统是指:其正确性不仅依赖于计算结果逻辑上的正确,还依赖于计算结果产生的时机是否正确。所以对实时系统的要求是其行为的可预测并且能够满足系统的时间约束。 18.2.2 前后台系统 不复杂的小系统一般设计成如图18-1所示。这种系统可称为前后台系统或超循环系统。 18.2.3 任务与多任务 多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。 在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务应用程序将更容易设计与维护,如图18-2所示。 典型的、每个任务都是一个无限的循环、每个任务都处在以下5种状态之一的状态下,这5种状态是:休眠态、就绪态、运行态、挂起态和被中断态: (1)休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。 (2)就绪意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。 (3)运行态的任务是指该任务掌握了CPU的控制权,正在运行中。 (4)挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生。 (5)发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态。 图18-3表示μC/OS-Ⅱ中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。 18.2.4 共享资源与临界区 可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。 临界区指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。 18.2.5 内核 不可剥夺型内核。不可剥夺型内核要求每个任务自我放弃CPU的所有权,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。不可剥夺型内核的一个优点是响应中断快。不可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。图18-4示意不可剥夺型内核的运行情况。 可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。如图18-5所示。 18.2.6 调度 调度(Scheduler)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。 静态优先级。应用程序执行过程中
文档评论(0)