您何时需要实时操作系统?

嵌入式系统 时间:2012-12-21来源:电子产品世界

  扩展实时操作系统以针对应用开发的需求

  尽管使用通用操作系统在确定性环境中有缺陷,但使用它们还是有一些优点的。这些优点就包括支持广泛使用的API,以Linux为例,其开源的模型。开源使得开发人员能够根据应用需求来定义操作系统的组件,在解决问题时也能节省大量的时间。实时操作系统厂商不能不重视这点。所以对POSIX API(Linux以及各种类Unix系统使用的相同的API)的支持就是重要的第一步。因此要提供文档清晰的源代码和定制工具使得能够满足嵌入式开发人员的需求和设计挑战。

  实时操作系统的架构也发挥了重要作用。例如,与使用其他系统架构相比,基于微内核设计的实时操作系统能从根本上简化操作系统的定制过程。在微内核实时操作系统中,只有少数核心基本对象(如信号、计时器、调度程序)才会存在于内核中。所有其他组件——设备驱动程序、文件系统、协议栈、用户应用程序,都会作为单独、内存受保护的进程在内核外部运行(参见图 5)。因此,开发定制的驱动程序和应用程序特定的操作系统扩展组件不需要专门的内核调试工具或内核专家。实际上,作为用户空间程序,开发这种操作系统扩展组件和开发标准应用程序一样容易,因为开发人员都能使用标准、源代码级工具和技术对它们进行调试。

  例如,如果设备驱动程序试图访问其进程空间之外的内存,操作系统就能识别相关进程,指出故障位置并创建可使用源代码级调试工具查看的进程转储文件。转储文件可包括调试程序确定导致故障的源代码行所需的所有信息以及诊断信息(如数据项的内容和函数调用的历史)。

  这种架构还提供了绝佳的故障隔离和恢复功能:如果驱动程序、协议栈或其他系统服务出现故障,它可在不影响其他服务或或损坏操作系统内核的情况下完成这种操作。实际上,“软件监视程序”会持续监测此类事件,并能以动态方式重启出现故障的服务,无需重启整个系统或以任何方式干扰用户。同样,驱动程序和其他服务都能以动态方式停止、启动或升级,无需关闭系统。  


图 5. 在微内核实时操作系统中,系统服务作为标准的用户空间进程运行,
因而简化了操作系统的定制任务。

  绝不可小看这些优势——因为破坏实时性能的最大威胁就是不定期的系统重启!甚至软件更新中包含的以可控制的方式进行的预定重启都会干扰系统运行。为保证一直满足最后期限的要求,软件开发人员必须使用即使在出现软件故障或进行服务升级时,也能保持连续可用的操作系统。

  战略决策

  实时操作系统能使复杂的应用程序变得可预测而且可靠;实际上,实时操作系统实现的精确时间控制,就是通用操作系统无法提供的可靠功能。(如果基于通用操作系统的系统由于计时错误而无法正常运行,我们可以合理认为该系统不可靠。)选择正确的实时操作系统本身仍然是一项复杂的任务。实时操作系统的底层架构是重要标准,而其他因素也不例外。具体包括:

  选择实时操作系统是项目团队的战略性决策。如果实时系统供应商针对以上问题给出了清楚的答案,那么您离现在和将来选择到完全适用的实时操作系统又近了一步。

  [1] Michael Barr“优先级反转简介”《嵌入式系统编程》(Embedded Systems Programming),第 15 卷:2002 年 4 月第 4 版。

1 2 3 4

关键词: QNX 嵌入式 CPU

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版