新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 从RTOS移植到实时Linux

从RTOS移植到实时Linux

作者:时间:2010-07-01来源:网络收藏

使用虚拟化进行运行时划分
对于期望采用的工程师而言,虚拟化是另一种可行的路径。虚拟化包括操作系统的驻留或者作为一个应用程序运行在另一个虚拟平台之上,其中一部分系统软件(运行在“裸机”之上或作为驻留的应用程序)可实现一个或多个“客户”OS实例的执行。在企业级计算中,基于的虚拟化技术是数据中心的主流功能,而且虚拟化也在嵌入式系统中找到了许多的应用。


嵌入式虚拟化要求将CPU、内存和其他资源进行划分,以驻留以及一个或多个客户“应用程序”操作系统(通常是)来运行更高层次的软件。

图2 采用虚拟化划分开的运行时


虚拟化可以通过允许应用程序和自身几乎原样地运行在新设计之中,而Linux则运行在自己的分区之中,以支持。这种方案适用于遗留代码依赖于RTOS的API和RTOS的性能特点的情况,例如性能或协议栈的具体实现。


工程师可以使用虚拟化作为从遗留代码向基于Linux的新设计过渡的简短且可靠的桥梁。不过,这种策略可能需要成本。OEM需要支付传统RTOS运行时的使用费,还需要与VM供应商谈判商用许可证。

图3 RTOS的本地端口

逐步将应用到Linux
仿真和虚拟化可以提供直接明了的移植路径来进行原型制作、开发、甚至是对运行在Linux上的传统RTOS应用进行部署。但是,它们的缺点是需要额外的代码,并会涉及基础设施和许可费用。相反,在Linux实现“本地化”就能降低复杂度,简化许可程序,并增强可移植性和性能。

图4 将RTOS任务映射为Linux线程

当设计团队首次动手处理移植项目时,他们往往会选择仿真和虚拟化技术。随着他们不断学习并更加熟悉Linux的开发工具和运行时属性,OEM可以逐步地重新建造传统应用,以实现本地Linux执行。


一种方法是选择单个传统程序进行本地移植,并将它们驻留在独立的Linux进程中。在软件显示出其对其他子系统有着极小或者正常依赖性的情况下,这种技术最为适用。另一种明智的做法是,即使在部署仿真或虚拟化的时候也只将新的功能以本地代码的形式来实现。


重要的一点是,要注意到这种选择并不一定是相互排斥的。例如,设计团队可以每次选择一个关键的传统程序,逐步地将传统应用改造为本地Linux执行,然后将它们放入单独的Linux进程中,而新功能只以本地代码方式来实现。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

关键词: Linux 实时 移植 RTOS

评论


相关推荐

技术专区

关闭