记录督促学习历程19

实时编程,用于实时系统开发的程序语言必须包括能访问系统硬件的能力,而且它要能够预测语言中的特别操作的时序,硬实时系统现在还仍然使用汇编语言来编程,这是因为,只有使用汇编语言才能满足苛刻的时限要求。系统级语言,比如c语言,能够生成搞笑的代码,所以也是广泛使用的。

使用像c语言这样的低级系统编程语言的优势是,能够开发出高效的程序,但是,这些语言不包含支持并发或资源共享管理的结构,并行性和资源管理是通过调用实时操作系统提供的的源于实现的,例如互斥信号量。需要知道如何使用系统调用提供对实时性的支持。

因为实时系统必须满足它们的时序约束,对于硬实时系统就不能使用面向对象的开发。面向对象开发会通过对象中所定义的操作隐藏数据表示和访问的属性值。

已经有了为嵌入式系统开发所涉及的Java版本,不同公司都有其不同的Java实现。

体系结构模式。体系结构模式是对号的设计实践的抽象的格式化的描述,它们封装了系统体系结构的组成,什么时候应该使用这些体系机构,以及它们的优势和劣势。然而,我们不应该把体系结构模式作为一种通用的设计来实现。

嵌入式和交互式软件的不同意味 着,对于嵌入式系统我们需要使用不同的体系结构模式。
经常使用的实时体系结构模式有:

1观察和反应
2环境控制
3处理管道,(该模式用于在数据被处理之前需要从一种表示转换到另一种表示的时候,变换实现为一系列可并行执行的处理步骤,由于单独的核或处理器可以执行每个变换,因此该模式允许非常快速的数据处理)

这些模式可以结合使用,并且通常你可以看到一个系统中存在多种模式。

这里讨论的模式是描述嵌入式系统的总体结构的体系结构模式。这些体系结构模式是嵌入式系统设计的七点,然而它们并不是设计模板,如果当成模板使用,就会设计出低效的过程体系结构。因此,需要优化过程体系结构,从而确保系统没有太多过程。

观察和反应:监控系统是嵌入式实时系统的一个重要类别,监控系统通过一组传感器来检查它的环境,并且通常以某种方式显示环境的状态。
观察和反应模式是常用于监控系统的模式,观测传感器的值,当发现特殊的值时,系统以某种方式作出反应,监控系统由多个观察和反应模式的实例组成,系统中每一种传感器都有一个模式的实例,依据系统需求,我们可以通过合并锦城来优化设计。

(合并进程)

环境控制,嵌入式软件使用的最为广泛的可能是在控制系统中,在这些系统中, 软件基于来自设备所处的环境的激励来控制设备的运行。
控制系统会使用环境控制模式,即包含传感器进程和执行器进程的通用控制模式。

这个模式可以作为控制系统设计的基础,基本的做法是针对每一个控制执行器给出一个环境控制模式的实例。

处理管道,许多实时系统主要是从系统环境采集数据,然后将数据从原始数据表示转换成系统便于分析和处理的数字表示,系统也可以将数字数据转换成模拟数据,然后发送给它的环境,这些系统中,数据处理必须得到快速执行。否则输入数据可能丢失并且输出符号可能由于基本信息的丢失而被破坏,管道处理模式使得这种快速处理成为可能,通过把所需要的书库处理分解成一系列独立变换,且每个变换可以由一个独立的进程来执行。这对于使用多重处理器和多喝处理器的系统是一个非常搞笑的体系结构。

告诉数据采集系统是使用管道处理模式的系统的一个例子。

时序分析,实时系统的正确性并不仅仅依赖于输出的正确性,而且还取决于产生输出的时间,这就意味着在起入室实时软件开发过程中的一个重要方面是时序分析。在这个分析中,计算系统中每个进程的执行频率来确保所有的输入的到处理并且所有的系统响应及时产生,时序分析的结果决定每个进程应该执行的频率,以及实时操作系统应该如何调度这些进程。

当系统要混合处理周期性和非周期性的激励与响应时,实时系统的时序分析就是相当困难的,由于非周期 性激励是不可预测的,因此必须假设这些激励发生并因而在特定时间要求服务的可能性,。这些假设可能是不正确的,系统性能在系统交付后可能不够好。

在许多系统中,使用周期性激励的设计已成为可能,由于处理延迟通常给系统带来某些损失,当处理器很慢的时候,就需要采用非周期性激励以确保重要事件在它们的时限得到处理,。

当分析嵌入式实时系统的时序需求和设计系统满足这些需求的时候,需要考虑三个因素,1时限
2频率
3执行时间

在实时系统中,时序分析的七点是时序需求,时序需求设定了每个所要求的的响应的时限,来自系统自身检测子程序的激励,来自外部的用于对系统测试的激励,以及在系统误发劲爆情况下关掉系统的激励都忽略了,这样系统剩下两类激励需要处理:
1停电
2侵入者报警。

为了确保满足时序需求定义的实现,接下来需要决定相关锦城的运行频率,以及在进程每一次运行期间有多少传感器需要被检测。
设计进程的最后一步是设计一个调度系统,以确保进程总是能在其时限内得到调度。只有知道所使用的实时操作系统所支持的调度方法才能做到这一点,实时操作系统的调度程序为进程分配一个处理器一定的时间,时间能固定,或者依据进程的优先权来变化。

在分配进程优先权时,要考虑每一个进程的时限以便又短时限的进程接受到处理器时间来满足时限。

大多数应用系统的执行平台是操作系统,操作系统管理共享资源,提供如文件系统、运行时进程管理等特征,然而在常规操作系统中,大量功能占据了许多空间并使程序的运行变慢,而且,系统的进程管理特征的设计并不允许进行细粒度的进程调度控制。
标准的操作系统,通常不用作实时系统的执行平台,非常简单的嵌入式系统不用操作系统,而是直接运行在硬件上,系统自身包括系统启动和关闭,进程和资源管理以及进程调度,更常见的是,嵌入式应用建立在实时操作系统(RTOS)上,实时操作系统是一个搞笑的操作系统,它提供了实时系统所需要的各种特征。

实时操作系统为实时系统管理进程和资源的分配。

一般来说,一般的实时系统包括:
1实时时钟
2中断处理器
3调度单元
4资源管理器
5分配单元
对于大型系统的实时操作系统比如过程控制或电信系统,会有额外的设施。

实时系统必须快速地处理外部事件,在某些情况下,需要在某个时限到来之前处理完这些时间,意味着时间处理进程必须及时地调度执行来检测时间,并需要分配给进程重组的处理器资源保证其在时限之前完成,在RTOS中的进程管理器负责选择进程去执行,分配处理器和内存资源,并在处理器上启动和终止进程执行。

进程管理器需要用不同的优先级来管理进程,对于一些激励,比如那些与某些异常事件相关联的激励,对它们的处理在规定的时限之内完成是很重要的。

对于RTOS对于系统来说,必须能管理至少两个等级优先权。
1中断级
2始终级
在每一类的优先级中,不同类型的进程会分配到不同的有限顺序,周期性进程是这样一种今晨,预先规定的时间间隔上执行数据采集和执行机构控制,在绝大多数实时系统中,将会有多种类型的周期性进程,RTOS利用应用程序所规定的时序需求安排周期进程的执行。

在任何时间里,可能有多个进程会得到执行,每个进程的优先级不同,这是就需要调度单元实现系统调度策略决定这些进程的执行顺序,有两个基本调度策略:
非抢占调度
2抢占调度。

在这些策略中,产生了不同的调度算法,包括循环式调度,每个进程轮流执行,速度单调调度,具有最短周期的进程被赋予优先权,最短实现有线调度,队列中进程具有最短实现的有限调度,
被执行的进程的信息传给资源管理器,资源管理器分配储存器和处理器给进程,在多处理器系统中,需要选择一个处理器来执行该进程,,于是,这个进程就被放入“就绪列表”中,这是一个包含一组准备执行的进程的列表。当处理器执行完一个进程处于控线状态时,分派单元被激活,它扫描就绪列表以寻找一个能在这个处理器上执行的进程,然后开始执行这个进程。
用例子解释为什么实时系统通常需要使用并发进程来实现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值