2011-05-30 17:37:13 来源: 互联网 责编:楷维留学指南
四、如何提高嵌入式实时操作系统的可靠性
提高RTOS的可靠性的关键取决于RTOS的架构。例如在实时执行模式架构中,大部分或所有软件组件都在一个单一的内存地址空间中运行,包括操作系统内核、网络协议栈、设备驱动程序、应用程序等。虽然这种架构的效率较高,但有两个明显的缺陷:任何组件中的一个指针错误,都可能破坏操作系统内核或任何其它组件,导致不可预测的行为和整个系统的崩溃;很难动态修复或替换任何有故障的组件,大多数情况下,出现这些问题时系统复位是唯一的选择。
有一些RTOS试图通过使用单内核架构来解决这个问题。在这种架构中,用户的应用程序在隔离的、受保护内存地址空间中运行。如果一个应用程序试图访问其地址空间之外的数据,内存管理单元(MMU)将通知操作系统,操作系统可能会采取保护措施,例如终止出错进程。由于这样的操作系统需要将大多数或所有驱动程序、文件系统和其它系统服务绑定到内核中,因此任何组件中的一个错误都可能带来灾难性的内核故障。
采用微内核(mricokernel)架构可提供更精确的故障隔离,如QNX Neutrino等操作系统都基于微内核架构。微内核有两个明确的特征:(1)在操作系统内核中只实现了一个包含了基本OS服务的小内核(如信号量、定时器、任务调度等),包括驱动程序、文件系统、协议栈和用户应用程序在内的所有其它的组件在内核外部分离的、保护内存的进程中运行。有问题的系统服务不再作为孤立的故障点,而是在破坏其它服务或操作系统内核之前被终止并重启。(2)所有的组件能够通过消息传递进行通信,一个定义良好的通信机制保障了程序在保持彼此安全隔离的前提下进行数据交换。适当实现的消息传递也可以作为一个虚拟的“软件总线”,允许任何的软件组件,甚至是一个设备驱动程序被动态地加入或替换,对于必须提供连续服务的系统而言这是一项关键要求。
基于消息传递的微内核RTOS通常提供了更好的容错性和动态升级能力。在实际应用中,如果实现正确,消息传递的性能可以接近底层硬件的内存带宽。例如,一个微内核RTOS可以采用多段式消息和线程到线程的消息数据直接拷贝等各种技术,来确保系统性能可以达到传统的进程间通信方法的水平。
免责声明:本站注明稿件来源为互联网或其他媒体的文、图或视频等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。
上一篇: C语言教法初探
若文章来源为“楷维留学指南www.keywin.org”,转载时请务必注明出处。
[美国]德雷塞尔大学 Drexel University
[楷维推荐指数]: 67 [所在州/地区]:宾夕法尼亚州 [所在城市]:费城 [学费]:¥51930/年
[阿根廷]贝尔格拉诺大学 Universidad de Belgrano
[楷维推荐指数]: 0 [所在州/地区]:布宜诺斯艾利斯省 [所在城市]:拉普拉塔 [学费]:¥0/年
[美国]佛罗里达大学 University of Florida
[楷维推荐指数]: 76 [所在州/地区]:佛罗里达州 [所在城市]:盖恩斯维尔 [学费]:¥43790/年
[美国]劳伦社区大学 Lorain County Community College
[楷维推荐指数]: 0 [所在州/地区]:俄亥俄州 [所在城市]:伊利里亚 [学费]:¥0/年
[法国]图卢兹国立综合理工学院 National Polytechnic Institute of Toulouse
[楷维推荐指数]: 0 [所在州/地区]: [所在城市]: [学费]:¥0/年