嵌入式实时操作系统保证了飞机、火车、汽车以及工厂设备的实时运行。一个嵌入式RTOS的核心就是确定性,它绝对保证了当接受到时钟间隔或一个中断信号时,系统可以正确的做出响应。
但是如今只有这些还不够,还要有安全性,保密性以及通讯范围等其他要求。鉴于工业控制供应商乔治亚州Norcross 的西门子能源和自动化公司(SEA)的经验,公司希望在其客户的工厂内配置一台电脑。SEA负责工程软件产品的产品市场部经理Eric Kaczor说,工程师们很快发现一台标准的办公室用电脑并不能起作用。为了避免电脑有被撞坏以及被冻住的危险,他们决定使用RTOS。
然而,他们在选择RTOS 时,很重要的一点就是看它是否还保留了办公室电脑软件的功能。“当我们选择实时操作系统的时候,我们希望可以很方便地应用我们的办公室软件。”Kaczor说。
比PLC 具有更多的功能
如今RTOS必须可以与多种型号相连,并且满足安全性和保密性的要求,实际上,它现在就像是一台办公室里的个人电脑。作为对这些需求的反应,RTOS销售商提供了更多的功能,这些要求对于内存和其他的一些约束性配件施加了很大的压力。幸运的是,RTOS
SEA 使用Ardence(一个在马萨诸塞州Waltham的Citrix公司)公司RTX RTOS系统来一起制造其Simatic Microbox 420工业用电脑部件。RTOS 功能的拓展已经超越了偶尔观察RTOS 人的想象。“他们看着这个东西,然后他们认为它是一个PLC...,他们没有意识到它的实际功能远比PLC 强大。”Kaczor 说。
另外一个额外的功能就是可连接性。PaulChen 是在加利福尼亚州Alameda 的RTOS 销售商Wind River Systems 公司的VxWorks 生产线经理,他注意到,对于最新型的嵌入式实时操作系统来说,与外部世界相连是一个非常重要的功能需求。这包括一些用户需要的技术如USB,工业以太网和无线通讯。最终用户也希望有关的标准能对其安全性作出规定,这些标准诸如下一代因特网(IPv6),关于无线通讯的802.x 体系,关于移动通讯应用的MIPv4 和MIPv6 以及IPsec 协议和HTTPS 协议。
顾客引导着RTOS供应商。“如果实时操作系统软件不能提供这些功能的话,我们的顾客可能自己编程来实现这些功能。”Chen 说。
高性能的闪存芯片的发展使得工业系统能够放弃短寿命的硬盘并且用OPT来替代固态存储器。来自西门子能源及自动化公司
而危险在于,如果最终用户或原始设备制造商(OEM)自己附加软件有可能产生危险,如可能会对系统内的行程安排软件产生影响,而这个软件是整个RTOS最重要的一部分用来确保整个系统的确定性。由于知道编码,RTOS 的供应商可以为他们的产品增加性能,而同时保留实时性。
这也同样适用于安全与保密方面的功能。这项性能在机载系统,工业应用以及医用软件中有需求,这些都写在下面的规定中(这些规定都是三个字母的缩写):FAA DO-178B,IEC 61508, and FDA 510(k)。
增加的可连接性的功能使得嵌入式RTOS的功能更难实现,特别是它的安全性能。有种版本的安全性能原本是用于军事方面的,以前这个版本对于不同的系统会有不同的安全性能等级。而如今人们需要试图将所有等级的安全性能都放入一个硬件中,这就意味着硬件或软件的集成信息将会变成最高机密。
安全性能的另外一个版本,虽然与任何一台的办公室电脑都很相似,然而程序可以错误的进入其他的存储空间,然后外部的力量就可以攻击它。
Chen 注意到了硬件的发展,在最先进的嵌入式RTOS内的第三大驱动器可以帮助其避免类似问题。就拿一件事来说,半导体制造商正在往他们的芯片内加入过程元素以便专用功能可以通过软件来卸载。
其它的功能包括对安全性能的编码和网络病毒侦测的模式匹配。“专用的硬件通常比软件运行的要快,因此RTOS软件需要能够支持协调不同的硬件引擎。”Chen 这样说道。
他补充到,多核处理器现在对于嵌入式系统来说也变得可能了。由于将一个处理器变成多个相同的单元或内核,微处理器制造商可以将升级周期大大加快,因此就能以低功耗完成高性能。因而,如果软件支持多核处理器的话,嵌入式RTOS 可以从这些硬件中受益。
Robert Day(Lynuxworks公司在加州San Jose的市场部副经理),注意到先进的微处理器内核供应商非常注重内存部分,他们使用砖结构的划分方式以保证每一个部分都是相互隔离的。这一概念也同样可以延伸到使用小型RTOS 来作为一个超级监控器以
作为RTOS 供应商的,Dan Mender(加州Santa Barbara 的Green Hills 软件公司RTOS商务开发的主管)注意到如果使用相互隔离的内核的话,对于他们来说要支付额外的钱。他说:“同样的原理(互相隔离并且使得外来的攻击只能影响到系统的一部分)也可以用来编写系统,以防该系统出现由于不经意的编程错误导致的安全性问题。”
必需品
除了需要支持并利用这些硬件的更新,一个RTOS 必须能够满足可连接性,保密性及安全性能的需求。然而,Day 很快指出软件的一些其他功能也绝对是必须的。特别是必须有几种形式的通讯方式,以便在多任务情况下可以立即运行一个应用软件,并且不影响到其他程序。
“大多数有多任务需要的应用软件都有几种任务间通信的方法,如队列法,信号量及Mutexs,后者对于应用软件来说尤为重要,因为它可以阻止优先权倒置(即允许低优先权的任务阻碍系统重要功能的运行)”Day 说道。
对于在工业自动化方面的应用,Day 补充道,RTOS 应该允许单调速率调度及时间和空间的分
对于自动化应用方面及设备,有一些通讯协议及特殊要求。由于其它的标准,如IPv4 和IPv6 可能就已经足够了,所以这些协议及特殊要求有可能并不需要。然而,如果用上这些协议的话会很有帮助。这些协议包括:控制器区域网络(CAN),OPC,分布式通用对象模型(DCOM),无线通讯的工业无线局域网,Profinet或其他的工业以太网协议及基于XML和SOAP协议(该协议组成了Web services 堆栈的基本层,为其提供一个基本的通讯框架以便可以创建更多的抽象层)的Web services。另外其他一些新的技术及标准,如无线通讯领域的ZigBee,已经成为了RTOS的一部分。
Mark Hamilton(加州Santa Clara的中间件供应商Real-Time Innovations 公司(RTI)的现场应用工程师),给情报及军事公司设计,开发及配置实时系统的有着相当丰富的经验。一个广泛的可用协议范围及其他的一些功能是很好的有时也是必须的,但是他提醒道对于加载一个RTOS 上的这些协议及功能的数量必须有个限制。
由于多功能已经成为系统的一部分,因此现在需要注意的一点是哪个调度程序不可以简单地运行软件线程。在这种情况下,RTOS 的决定能力就会受到影响。那么系统的功能及操作与一台台式机就没有什么两样了。
不出意料,他指出中间件可以通过应用软件间的通讯管理来避免这样的问题。RTOS的这一功能可以使其通过其可连接性而不用通过提高调度程序的要求来卸载掉一些负载。中间件甚至可以对一些常见的问题提供现成的解决方法。
“中间件可以使得你系统中CPU 之间的数据移动变得可能,并且你不必担心会需要写很多的网络代码”Hamilton 说道。
这样的卸载及分区功能除了调度程序的限制要求外还有个必须的理由。一个嵌入式RTOS 通常是使用在内存及储存器都是受到限制的情况下的。同时,由于设备都增加了新的功能,并且应用的趋势是功能的更多样化。这样的结果是RTOS 的存储器的占用量在支持日益增长的设备功能的同时必须还维持在很小的占用量。
RTOS供应商必须使用多种方法来满足这两个矛盾的要求。一个方法就是将最后的决定权放在开发者和最终用户手上。RTOS 的最终配置是在搭建的时候增加一些或出去一些模块来决定的,这样就允许对功能与占用量之间的平衡进行细致的控制。这种方法就可以将潜在的节省变为现实。
比如,在开发及测试阶段,用户可能会选择需要编程来显示诊断信息。当开发完成,这些诊断信息可以删除,这个有时候可能节省了占用量的百分比的两位数。
一个必然的结论是模块自身必须很小。这样就能保证最终的搭建及RTOS本身可以集成。然而,通过仔细选择适合的编程语言及编译器也是为应用软件减肥的一种方法。这有可能使得应用软件的体积大幅度的减小。如美国国家仪器公司的LabView 的软件,对于开发,集成及再使用都有现成的代码可选,然后将RTOS 的设计面向翻译:高海洋不同的目标。
由于RTOS 及应用软件占用空间的指示之间的相互作用,无论什么方法去让其适应这些限制到最后都将是在RTOS,应用软件,软件工具及硬件的功能之间整合。Wilsonville 的电子自动化设计供应商,Mentor Graphics集团公司,的Nucleus Kernals 生产线的产品市场部经理,Todd Brian,注意到没有一个RTOS的供应商是绝对独立的。所有的的工作都在一个生态系统下进行,这个系统对于嵌入式R TOS 能否得到最佳的运行性能来说是至关重要的。“一个供应商需要合作伙伴一起集成在供应商的操作系统内。这样的话,他们就不会被集成过程给束缚了。”Brian 说道。
这样的整合对于RTOS供应商及最终用户来说是有利的,同样也期待一个嵌入式RTOS和它的供应商之间也有这样的整合。“设备设计的复杂性的增长是如此之快,以至于软件的开发远远跟不上其步伐。这样软件必须与其集成在一起这样客户可以不用由于软件的原因而受到束缚”Brian 说道。
微软在嵌入式系统中的应用
对于普通版本的微软Windows操作系统来说不太可能满足制造业自动化及过程控制中固有的优先权的要求。微软已经发现了这一问题并且已经开发出了新的Windows版本来为了满足嵌入式系统应用中对于不同层面的尺寸,可测量性及功能性的各种要求。这些包括微软Windows 嵌入式CE,嵌入式Windows XP 及Window Embedded for Point of Service。
更多信息请看www.microsoft.com/embedded.
For more information, visit: 需要更多的
www.ardence.com
www.controleng.com
www.ghs.com
www.lynuxworks.com
www.mentor.com
www.microchip.com
www.ni.com/realtime
www.rti.com
www.sea.siemens.com
www.siliconsystems.com
www.windriver.com