设计师转向 Linux 操作系统,以满足今天消费电子产品对用户界面、联网和多媒体逐步升级的需求。
要 点
随着 32 b处理器和内存价格的下滑,Linux 在下一代消费电子设备中将占据相当大的份额。
设计师可以为小占位面积的系统配置 Linux 内核,提供一个功能强大操作系统应有的多种特性。
以往公司内部开发操作系统的设计团队正在转向 Linux,以应对日益提升的设备复杂性。
Linux 供应商的盈利方式是将订户支持、工具和服务与客户分销捆绑起来。
大量的 Linux 开发者在线社区为用户提供稳定的技术知识来源,快速解决遇到的问题。
低开销
Linux 是模块化的,开发者可以构建一个经修改的小型软件包,装入每台设备的内存中,从而消除了专用的多用途操作系统中的代码开销。Linux 还支持大量的微处理器,使之最适合于变化多端的消费产品市场。由于设计师可以将 Linux 移植到最常见的嵌入式处理器上,不存在迫使开发者改变硬件决策的软件限制。设计师可以用一个低成本的微处理器开始生产,它只需满足当前的需求,而随着设备需求和功能的扩展,又能够方便地升级为一个功能更强大的 CPU。
Linux 开发人员会定期对内核进行更新,使之包含来自用户社团的插入码和建议内容。可以从 www.kernel.org 找到最新内核的相关信息,下载最新版本。现在的 2.6 版包括很多抢先点,允许调度器可以挂起一个工作任务,而起动一个更高的优先级进程。进程调度算法经过重写,加快了多任务应用中作业的切换速度。除了实时方面的改进外,2.6 版还有多个有益于消费设备应用程序的更新。例如,蓝牙和 USB 2.0 等增强外设选项,ALSA(高级 Linux 声音架构)可以使应用程序处理多个音频流,而 Video4Linux 则增加了一个视频子系统。用于深度嵌入系统的其它更新内容也只占很少空间,适用于容量有限的应用。
Linux 的许可协议对消费设备开发者来说有正、反两方面的意义。从好的一面说,你可以下载免费的 Linux 拷贝,在自己的产品中使用,无需支付专利金,想用多少就可以用多少。Linux 是按照 GNU 的 GPL(通用公共许可)使用规则发放许可。如果你修改并重新分发 GPL 软件,你的修改也自动遵从 GPL,并且必须公开源码。应用程序和设备驱动可能会保持专有性,只要它们与 Linux 内核无关,不含 GPL 代码。但代码隔离的要求是小型消费设备开发者所担心的事,因为他们会将所有软件保存在一个 ROM里。
除了许可的不确定性外,Linux 用户还面临其它非技术性因素。例如,SCO(Santa Cruz Operation) 集团提出法律质疑,称 Linux 包含残余的专有 Unix 代码,并强制对内核作修改,甚至要求获得专利金。在2005年 12 月,SCO 集团提出扩展对 Novell 的诉讼,它是 UNIX 知识产权原来的所有者,也是现在的一个 Linux 开发商。最新的消息和 SCO纠纷的全部历史可以浏览Linux 在线网站,www.linux.org。
内核补码
开发者在开放源 Linux 环境中预见到的另一个可能的危险是软件破碎的可能性。如果公司 A 决定修改 Linux 内核来解决自己产品中的一个集成问题,而公司 B 作了类似但不兼容的修改,于是现在就有了三个 Linux 版本。当下一个正式 Linux 更新版推出时,两家公司都要搜索修正后的代码,重新纳入这些改动内容,或者继续使用旧版本。最聪明的选择恐怕是不修改内核,而使用为调试用的源代码,或者了解 Linux 的内部功能。现在,Linux 社团利用复杂系统的升级建议与发布,已经成功地防止了多版本的出现。
虽然 Linux 是一个免费的操作系统,但很多设计师仍希望付费获得专业支持、特殊工具、定制服务以及预包装好的配置,以方便开发过程。商业化供应商用定制的嵌入式配置、订户支持包、开发工具套件、应用实例,以及咨询服务,作为 Linux 的增强服务。但与限制用户使用单一来源的商业化专有操作系统不同,Linux 用户仍然享有从任何其他供应商处获得支持的自由。
看到 Linux 在 CE 产品中日益普遍的应用,某些商用 RTOS(实时操作系统)供应商也加入了开放源运动,提供定制分销、开发工具,支持并向严格的实时应用推广自己的专有软件。例如,Wind River 产品系列经理 Glenn Seiler 这样总结公司的策略:“市场希望有个选择。在有些情况下,市场想要 RTOS,因为有严格的实时要求或占位面积小的要求,有些客户仍然反感 GPL 概念。其他一些进行了大量既有投资的用户也想继续使用 RTOS。”
Seiler 也描述了其他一些客户,他们希望得到快速创新的好处、无专利金的模式,他们希望控制源码,希望保持与供应商的无关性,也不怕 GPL 的麻烦。他说,这些客户的态度更偏向 Linux。他解释说:“我们希望提供一种既能满足 RTOS 客户,也能满足 Linux 客户的解决方案。我们的方案采用了一种基于 Workbench 工具套件的策略,它是一个万能的生命周期产品,覆盖从电路板设计到固件开发,直到内核电路板支持开发、应用程序开发和调试等全部内容。”Wind River 的 Workbench 套件是建立在开放源的 Eclipse 集成开发环境上的(图 1)。

同样,MontaVista 软件公司提供 Linux CEE(消费电子版),这是一个用于 CE 设备的嵌入式操作系统和交叉开发环境。该软件包具有动态电源管理、增强的文件系统、用于系统性能调整的新开发工具、处理器和外设的支持、适合应用开发的交叉开发工具,以及样品实用工具、库和驱动程序等。CEE 支持来自Freescale、Intel、Renesas 和 Texas Instruments的多种为消费设备定制的处理器。MontaVista 还为无线手机和移动产品提供 Linux for Mobile Devices(Mobilinux),满足它们对电源管理、严格实时性能、快速起动以及占位面积小的需求(图 2)。

TiVo 领头
很多 CE 设备都组合有 Linux 操作系统,但 TiVo 个人录像机是被最普遍公认的。TiVo Linux 也是爱好者们最喜欢拿来修改的软件,修改后可以使用更大硬盘或通过添加硬盘来增加存储容量,或者将录制的节目传送到计算机或其它设备中。Linux 可能会成为索尼为它下一代游戏机 PlayStation 3 提供软件包的一部分,该产品预计在 2006 年春季上市。Linux也为最近推出的诺基亚 770 Internet Tablet所采用,它带有 802.11、USB 和蓝牙连接、800×480 像素触摸屏以及 64 MB 闪存(图 3)。除了网页浏览器以外,770 还带有一个 E-mail 客户机、媒体播放器、文件管理器、游戏,以及几个通用应用程序。诺基亚 770 的网购价格为 360 美元。

在今年拉斯维加斯的消费电子大展上,Sonos 推出了基于 Linux 的 ZonePlayer ZP80(见图),它是一个无线系统的组成部分,可以使

如果你对 CE 使用的 Linux 还比较陌生,可以到 CELF(消费电子 Linux 论坛)查找消息、讨论和定制源码。该论坛的目标是通过公开规范并管理面向 CE 的代码,增强在 CE 设备中使用的 Linux 的功能。
另外也可以在 www.linuxdevices.com 上找到有关 Linux CE 产品的信息。该网站包括最新消息、文章以及有关 Linux 编程的教程、现有分销商名单,以及有关嵌入系统主题的论坛。
当下一代 CE 设备进入市场时,设计师必须准备好为定制的应用软件提供复杂的用户界面、网络联接能力,以及实时数据安全功能。Linux 提供了一种无需专利金的开放源操作系统,已经内置了一些这样那样的功能。事实上,在互联网上已经有数百万免费的 Linux 兼容软件,支持 CE 开发项目。有了这些好处以及越来越多的技术爱好者,Linux 在 CE 行业一定有光明的前景。