新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > DSO让Linux成为完美的RTOS

DSO让Linux成为完美的RTOS

——
作者:时间:2007-12-26来源:电子产品世界收藏

  回想从前,电子产品的主要市场都是企业机构用户,家电产品或者供个人使用的电子产品屈指可数,算来算去不过是电视机、电冰箱、收音机。如今,消费电子产品市场的迅猛发展撼动了电子工业的基本格局,成为举足轻重的大市场。从电子产业的角度来看,网络和微处理器已经为整个地球披上了一层“电子皮肤”,而每个微处理器都必须通过操作系统来实现消费电子产品的所有功能。因此,对于消费电子开发商来说,选用什么样的实时操作系统就成为影响全局的一个重要问题。

市场新挑战

  伴随着消费电子产品在品种和数量上的激增,电子产业遇到两大挑战:第一,与面向企业机构的电子产品相比,消费电子产品的生产销售批量都非常大,因而产品成本控制就显得更为关键。第二,消费电子产品推出新款式、新型号的周期更短,面临的市场压力更大,而传统上那种逐个产品单独开发的传统模式已经赶不上市场竞争的要求。

  为了应对上面提到的第一个挑战,也就是降低操作系统的成本,消费电子产品制造商很容易想到。然而,将用于消费电子产品,又遇到了两个问题:第一,的实时性如何保证;第二,Linux作为一种开放源代码的平台,其可靠性、应用开发规范和技术支持与服务都缺乏值得信赖的依靠。这些问题如果处理不好,往往会造成更大的成本和麻烦。

  在这种情况下,如果有一家在设备软件领域拥有先进的专业技术和多年经验的操作系统及开发工具提供商来为Linux提供支持,同时很好地在技术上解决Linux的实时性问题,这显然是众多消费电子产品制造商的一大福音。美国风河系统(Wind River Systems)公司以其VxWorks实时操作系统和Workbench集成化开发平台在业界享有盛誉,最近在Linux领域频频出手,颇有作为。他们将自身在VxWorks平台的传统优势和设备软件开发方面的丰富经验升华为(Device Software Optimization,设备软件优化)方法论并应用于Linux,推出了相应的开发平台——Platform for Consumer Devices, Linux Edition,而且于不久前从FSMLabs购买了Real-Time Linux技术及全部相关的知识产权,成为业界唯一能够支持硬实时Linux解决方案的提供商。

消费电子的实时性需求

  与PC基本上都运行同一种操作系统不同,消费电子产品中的操作系统可算是花样繁多,这是因为消费电子产品本身就是五花八门,不像PC那样具有标准化的硬件结构。大致上看,目前消费电子产品在结构上可以分为三类:

  低端产品通常以ASIC或者SoC为基础,采用廉价的处理器,配备的程序存储器容量通常在256K到1M字节的范围内,软件开发工作基本上都是由单一开发团队完成的。例如入门级的数码相机和喷墨打印机就是典型的低端产品。

  中端产品的特征是程序存储器容量在1M-2M字节的范围内,常常需要多个软件开发团队协同工作。数码摄像机就属于这类产品。
  高端产品的程序存储器容量可能达到32M字节以上,也会采用性能更高的处理器,有较大规模的软件开发团队协作完成。智能手机和机顶盒显然都属于高端产品。

  不同的产品类型对操作系统的要求也有所不同。低端产品在人机交互方面比较简单,通常只是通过几个按键来实现。当使用者按下这些按键后,一定会跟随着一系列的反应和处理动作,这些处理动作在发生的时间和顺序都有非常严格的要求。例如,在数码相机上按下快门键,就会启动测光、聚焦、感光成像和图像存储等一系列动作,每个动作所用的时间都必须严格控制。再比如在喷墨打印机中,必须把图像数据转换成喷墨命令传递给控制马达,移动到指定的位置并精确地喷出墨水。喷墨打印机的打印速度是其市场竞争力的重要指标,这就给时序控制提出了更高的要求。而且,低端产品由于销售批量很大,需要严格控制成本,所以一般都采用性能不高的处理器,因而给软件的实时性提出了更高的要求。{{分页}}

  高端产品通常采用价格和性能都比较高的处理器,而且经常配有协处理器。另外,像智能手机、机顶盒之类的设备,人机互动非常多。一般认为,电子器件的反应速度比人的动作快得多。高性能的处理器,加上动作较慢的人为操作,使有些人认为在高端消费电子产品对实时性的要求没有那么高,但事实并非如此。因为高端消费电子产品在功能上常常覆盖了低端产品。例如:智能手机几乎都配有照相功能,而且还要通过无线网络来传送照片;机顶盒之中会包括DSP部件,用来进行IP路由和视频解码。

  一般来说,高端消费电子产品都需要与比较多样化的外围设备配合使用,无论从功能的多样性和实时性哪方面看,都对操作系统的实时性提出了非常严苛的要求,同时也需要更多的中间件和服务支持。
 

图1: 从低端到高端,消费电子产品对操作系统提出不同的要求。

让Linux的实时性由软变硬

  由于采用不同的技术,各种操作系统的实时性也有所不同。操作系统可大致划分为实时操作系统 (Real-time OS) 和分时操作系统 (Time-Sharing OS)两类。在一个分时操作系统中,计算机资源会被平均地分配给系统内所有的工作。分时系统的设计原则是最大限度地利用处理器资源,尽量不让处理器处于空闲状态,而各项任务需要花多长时间来完成,这一点并不重要;而在一个实时操作系统之中,最关注的是确保在规定的时间内完成确定的任务。在许多应用系统中,在确定的时间内完成任务是至关重要的,一个小小的误差就会造成很大的损失。数码相机的曝光时间误差只是影响到照片的质量,而民航科技控制系统的时间误差甚至关系到生命安全。

  可见,在实时操作系统中,系统必须在特定的时间内完成指定的应用,具有较强的“刚性”,而分时操作系统则注重将系统资源平均地分配给各个应用,不太在意各个应用的进度如何,什么时间能够完成。不过,就算是实时操作系统,其“刚性”和“柔性”的程度也有所不同,就好像是系统的“硬度”有所不同,因而有了所谓的“硬实时(hard real-time)”和“软实时 ( soft real-time)”。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。

  Linux本身原来并不是为了实时性而设计的操作系统。为了在Linux系统中增加实时性,典型的方法是采用“架空”Linux kernel,使得real-time进程得以尽快的被执行。所以,这种系统中的实时任务(real-time task) 其实并不是一个 Linux的进程,而是一个Linux的可加载的Kernel模块( loadable kernel module),或者是一个实时驱动程序的架构,算不上是真正的real-time Linux。但由于它出现的早,且其架构很符合自动控制的需求,因此使用者非常多。

  风河系统公司最近从FSMLabs购买的硬实时Linux技术——RTLinux,是一个完整的发布版本,把Linux kernel、文件系统和工具链(toolchain)与RTCore硬实时执行技术结合起来,形成了一个基于Linux的完整硬实时解决方案。风河公司经过测试验证发现,针对不同的测试基准,其性能可以达到软实时Linux系统的2-5倍。

  简单地说,RTCore是一个为了达到实时性而进行的“中断抽象”。这种实时执行技术提供了一个硬件抽象层,可以管理系统中所有的硬件中断,处理所有的实时响应。当所有的实时请求都处理完后,才把非实时性的工作交给标准的Linux kernel。这种做法可以获得双重好处——一方面为应用提供了必须的硬实时能力,另一方面又不需要对标准Linux进行任何修改,从而可以保证对于第三方应用以及其他Linux进程的完全兼容性。{{分页}}

方法实现全面提升

  电子产品的发展普遍存在“继承性”。也就是说,大多数新产品都是在上一代产品的基础上升级更新,增加新的功能特性,丢弃旧的功能。与传统市场相比,消费电子产品具有更强的时尚性。传统电子产品曾经是以年为周期,而当今消费电子产品跟时装差不多,以季节为周期来更新换代了。相应地,消费电子产品开发的模式必须紧跟市场变化的节奏。传统上那种每个产品都从头开始开发以及单个产品的开发团队独自工作的模式已经跟不上形势,只有在整个企业范围内实行标准化、系列化、组合式和迭代式的开发模式,尽可能增加软件模块的重复使用,才能降低开发成本、缩短产品上市时间,在市场上占据有利地位。这种新的开发模式,就是如今设备软件开发领域常常提到的(Device Software Optimization,设备软件优化)方法论。

 
图2  DSO方法论在设备软件开发中的应用 
 
  DSO方法论是总结过去25年来企业网络化和分布式计算领域逐渐积累起来的策略、方法和最佳实践,致力于优化设备软件的开发流程。归纳起来看,DSO把过去多年的经验归纳为以下几个方面,并以此作为自己的支柱。第一,在整个产品开发项目生命周期中实现工具和流程的标准化;第二,采用集成化的开发和运行时环境,包括支持商业化的硬件、中间件、操作系统和开发框架;第三,吸收和利用由开放源代码社区产生的代码、工具和协议;第四,减少对私有技术的依赖,尽量采用符合业界标准的参考解决方案;第五,以工程项目和市场需求为依据,对开发人员进行灵活有效的管理,摆脱私有技术的锁定。

  Yankee Group分析师指出,设备软件生命周期的发展趋势正在走向集成化、构件化、可重用、标准化、开源以及开发技能的归一化。电子产品制造商和软件工具提供商必须寻求开放、集成化并且基于行业标准的方法,才能符合DSO的要求。由于广泛而深入地吸收了过去20多年整个软件产业的经验,DSO可以更好地保证设备软件的质量和开发效率。
 
  全球领先的设备软件优化解决方案提供商风河系统公司是最早宣布全面提供DSO平台支持的厂商,目前在全球DSO营收和市场份额均居首位,为全球范围的设备软件开发人员提供每周7天、全天24小时的技术支持,其软件产品则已经运行在全球数以亿计的电子产品之中。

  有了DSO方法论和硬实时技术的加持,消费电子开发商已经可以放心地采用Linux作为其产品的操作系统平台。相信业界已经注意到,就在不久前,风河系统公司与全球领先的无线半导体供应商德州仪器(Texas Instruments Incorporated,TI)宣布合作开发支持德州仪器OMAP2430手持设备与个人数字助理(PDA)应用处理器的风河Linux设备软件平台,以及风河Workbench开发工具套件(包含Workbench 片上调试工具等),由风河Linux平台支持OMAP2430处理器的高级多媒体功能,帮助移动手持设备制造商能够更快速、更经济地开发、测试和部署各种下一代赢利型多媒体应用,如视频会议、数字应约、移动终端互联游戏(mobile-to-mobile gaming)和移动电视(mobile TV)等。这件事情足以说明,风河公司的商用级Linux和OMAP处理器的高级多媒体功能特性可以为电子设备制造商提供支持丰富多媒体应用和移动应用的Linux平台系统,进一步降低这些应用从开发到上市的时间和成本。


 

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

linux相关文章:linux教程




关键词: DSO Linux RTOS

评论


相关推荐

技术专区

关闭