记录督促学习历程18

二十章

这一章主要是介绍嵌入式实时系统的重要特征和实时软件工程,理解嵌入式软件的概念,嵌入式软件用于必须对那些来自其环境的外部事件作出反应的控制系统,介绍实时系统的设计过程(实时系统?)软件系统组织成一组协作的过程,理解常用于嵌入式实时系统设计的三大体系结构模式,理解实时操作系统的构成以及它们在嵌入式实时系统中的作用。

计算机直接与硬件装置交互,它们需要对硬件产生的事件作出响应并发出相应的控制信号,在实际应用中,软件系统响应外部事件有一个时限,如果超过了这个时限,整个硬件软件系统将不能正确地运行。

现在由于几乎每种电器设备都包括软件,嵌入式软件变得非常重要,与其他类型的软件系统相比,嵌入式软件系统更多。

实时响应是嵌入式系统和其他软件系统之间一个最为重要的不同点。

这里所说 的其他系统,如信息系统、基于Web的系统或者个人软件系统,它们的主要目的是数据处理。对于非实时系统,它们的正确性可以通过指定系统输入如何映射到由系统产生的对应的输出来定义,对一个输入的相应,系统应该产生对应的一个输出,通常应该储存一些数据,。

但是,在实时系统中,准确性既依赖于对输入的响应,又依赖于产生该响应的时间。例子是汽车刹车。

对于所有嵌入式西戎来说,及时响应是一个重要的因素,但是在一些情况下,不需要非常快速的响应。例如,胰岛素泵系统就是一个嵌入式系统,但是,在需要对血糖值做检测的周期性间隔中,不需要对外部事件进行十分迅速的响应、

除了包含实时响应的需求以外,嵌入式系统和其他类型的软件系统之间还有其他的重要不同点:

1嵌入式系统通常持续运行而不终止,硬件开始,系统就开始执行,且必须执行直到硬件被关闭。
2和系统环境的交互时不可控制和不可预测的。在交互系统中,交互的节奏是受系统控制的,实时嵌入系统必须能对任何时候的意外事件作出反应,这就使得对实时系统的设计是基于并发性的,多个进程并行执行。
3存在影响系统设计的物理限制、
4直接硬件交互时必要的,在交互式系统和信息系统中,有一个软件层,就是设备驱动,对操作系统影藏了硬件,这是可能的,因为你只能将集中类型的设备连接到系统,例如键盘、鼠标、显示器等,相反,嵌入式系统要和各种各样的硬件设备交互,而这些设备没有单独的设备驱动。
5安全性和可靠性在系统设计中占据主要的地位,许多嵌入式系统控制的设备如果失败了会带来高昂的人力或经济成本。

嵌入式系统可以看做是反应式系统,必须以环境所要求的特定的速度对环境中时间做出反应,响应时间通常是由物理学定律所控制的而不是人为的,这一点与其他软件系统很不一样。其他类型软件系统控制着交互速度。

嵌入式系统的设计过程是一个系统工程的过程,在该过程中软件设计者要深入考虑系统硬件的设计和性能,部分系统设计过程是要决定哪些系统能力要用软件实现,哪些要用硬件实现。对于很多嵌入在消费类产品中的实时系统来说,硬件的成本和电能消耗是一个非常重要的问题。需要使用专用的处理器来支持嵌入式系统,而对于某些系统,可能还需要设计和建造专用的硬件。

这意味着自上而下的软件设计过程,即设计开始于抽象模型,通过一系列阶段对抽象模型分解和开发。这一过程对于绝大多数实时系统来说是不现实的。

考虑到嵌入式系统是对它们的环境中的事件作出反应式系统,对嵌入式实时软件设计的一般方法是基于激励-响应模型,激励是发生在软件系统环境中引起系统以某种方式响应的事件,响应是由软件发送到它的环境的一种信号或消息。

我们可通过李处由系统接收的激励和相关联的响应,以及响应必须产生的时间,来定义一个实时系统的行为。

激励有两类:
1周期性的激励
2非周期性的激励。

实时系统需要响应不同时间里发生的激励。因此,它的体系结构的组织需要保证只要接收到激励,立即将相应的控制传到适当的处理单元中去。
正常情况下,实时软件系统都被设计成一组并发写作的进程。为了支持这些进程的管理,实时系统所处的执行平台可能包括实时操作系统。实时操作系统所提供的功能通过对所用的实时编辑语言的实时支持系统访问。
并没有标准的嵌入式系统设计过程,使用不同的过程取决于系统的烈性,可利用硬件以及开发系统的机构。实时软件设计过程可能包含几步:
1平台选择
2激励/响应识别
3时序分析
4进程设计
5算法设计
6数据设计
7进程调度
在实时软件系统设计过程中这些活动的顺序依赖于索要开发的系统的类型、它的过程和它的平台需求。
实时系统中的进程一定是需要协调也需要共享信息。

当设计进程间信息交换时,要考虑这些进程以不同的速度在运行这一事实,一个进程产生信息,另一个进程消费那个信息。如果生产者比消费者运行得快,在消费者进程读原来的信息之前,新的信息可能重写先前读入的信息项。

问题在于:如果消费者进程比生产者进程运行块,同样的信息可能被读两遍。
为了解决这个问题,应该使用共享缓冲区并且用互斥机制控制对缓冲区访问的方法实现信息交换。意味着在信息被读之前不可能被重写并且信息不能被读两次。

一旦为系统选择了执行平台,设计了锦城的体系结构并确定了调度策略。接下来就要检查系统是否满足它们的时序需求。

时序约束或者是其他需求有时意味着我们最好是用硬件而不是软件来实现某些系统功能。

实时系统需要响应时间通常引起系统从一个状态转移到另一个状态,因为这个原因,状态模型通常用来描述实时系统。

系统的状态模型时一个很好的语言无关的表达实时系统设计的方式,因此它是实时系统设计方法的一个基本组成部分,UML使用状态图支持状态模型的开发,状态图是形式化的状态机模型,支持层次化的状态,这样多个状态组可以当成一个单个实体。

这里我理解是,状态图可以作为描述实时系统模型的一种表达方式。

系统建模结束、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值