Linux的单核设计在系统的稳定性、可靠性以及安全性等诸多方面存在着问题。一个更好的结构,比如在一些嵌入式操作系统中已经采用了微核结构,就把设备驱动程序、网络协议栈、文件系统和其他复杂的软件放到应用地址空间中,这样就不会危害到内核以及其他应用了。
上述Linux操作系统在嵌入式系统领域面临的种种技术挑战已经引起了业界的重视。目前已经有多种措施来提高Linux系统的实时性能。主要策略有:
● 增加实时子内核。如RTLinux,由两个子内核构成,一个用于Linux环境,一个用于实时环境。另外遵循GPL的RTAI(实时应用程序接口)也类似于这种方式,采取硬件虚拟化技术对Linux内核做了硬实时(Hard Real-Time)的扩充。这两种方法可以有效改善系统中断延迟时间的问题。
● 为Linux打实时补丁。可以借助Linux操作系统的源代码补丁来提高系统的实时性能。当前主要的实时补丁有低响应时间补丁、抢先任务补丁以及实时调度程序补丁等等。虽然打过补丁的Linux系统能够改善系统实时性能,但是仍旧不能够用于任务繁重的实时嵌入式系统应用中。
技术的改进为Linux在嵌入式系统中的应用扫除了一些障碍,但是如果Linux操作系统想在嵌入式领域夺取一席之地,要做的事情还远不止这些。
非技术因素
貌似免费
Linux的广泛应用很大程度上来源于大众对“Linux是免费的”这个概念的误解。在现实情况中,使用嵌入式Linux产品的相关费用是非常昂贵的。例如,MontaVista、Hard Hat Linux的开发商,每年要向每个使用其产品的嵌入式系统开发人员收取1.5万美元的费用。按照五年计算,一个由五人组成的嵌入式系统开发团队就需要支付37.5万美元。与此相比,很多由开发商独立设计提供的嵌入式系统解决方案的花销都要低很多。
还有一些使用Linux的嵌入式系统开发者选择直接从网上下载Linux资源,然后按照“业内权威”的意见和建议来解决在Linux使用中碰到的各种问题。他们以为这样做就避免了使用商业化产品带来的巨额花销,但实际上他们低估了用于支持Linux使用带来的内部消耗。有些公司宣称他们只需要一个全职的Linux高手做员工就能解决一切问题。而根据一个保守的估计,这些公司每年要为这个全职的员工支付15万美元的薪水,那么五年下来的开销就是75万美元,这远远大于它们去采用那些专门的嵌入式系统解决方案所需的费用。而且还有一个问题不能忽视,那就是虽然一个“权威”可以解决很多的Linux问题,但是他们显然还是不如那些产品研发者对自己的东西了解得透彻。
相对于其他专门的嵌入式系统解决方案,支持Linux的开销太高,所以有很多曾经试图采用嵌入式Linux系统后来又发现这个实际情况的用户给Linux找了个新的形容词:貌似免费。
长期的支持
大部分的嵌入式产品都有一定的市场周期,一般是几年。有些航空电子设备前期开发要耗费十几年的时间,而它真正的使用时间也不过就是比研发时间长几年。甚至某些手持设备从开始在工厂里研发到最后在市场上消失,整个生命周期也就是几年的光景。
嵌入式系统的开发人员往往希望他们的产品所依托的开发商具有稳定的、经得起考验的运作模式。因为他们必须要依赖这些开发商在较长时间内来支持他们的产品,更关键的是还要能够继续支持他们进行后续产品的开发。
很多嵌入式Linux开发商已经意识到他们并不能够满足嵌入式系统开发者所要求的长期支持和服务。惟一的解决方法就是适当地增加售后支持工程师的队伍。而目前大部分嵌入式Linux开发商采用的运营方式是以相对低廉的价格出售他们的产品,并以此作为主要盈利方式。
有一些已经意识到了这一困境的开发商为了卖出产品,就开始对Linux进行一些自己独有的嵌入式系统扩充,或者是增加一些迎合市场需求的软件。这么做使他们陷入了另一个境地:通过增加那些独有的嵌入式系统扩充,Linux开发商把成为另一个自行设计的专用嵌入式系统解决方案的提供商,而不再是一个纯粹的嵌入式Linux开发商。Linux社团不会接受更不会去提倡Linux开发商们的这种行为,因为他们这么做已经违背了Linux倡导的自由精神。
Linux在嵌入式系统领域的应用面临着重重挑战,有技术层面上的,更有非技术层面上的。这些挑战造成了当前Linux在嵌入式系统领域举步维艰的局面。到底Linux是不是适合于嵌入式系统的应用是我们当前务必要认真思考的一个问题,毕竟Linux操作系统从诞生之日起就是为桌面和服务器系统打造的,也许把它应用于嵌入式领域只是我们的一相情愿。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页 1 2 3 45 下一页
上一篇:嵌入式Linux系统的动态电源管理技术 下一篇:RTOS设备驱动向嵌人式Linux的移植
|