自由的嵌入——走近嵌入式Linux

Author: 邢国良 Date: 2000年 第24期

  随着Internet的发展,各种智能信息产品层出不穷,机顶盒、数字电视等信息家电及个人PDA、WAP手机等产品都蕴藏着巨大的商机。IDG发布的统计表明,未来的四五年内,信息家电市场会成长5倍~10倍。各个硬件和软件厂商为此都摩拳擦掌,准备大干一场。智能数字产品的核心是其中的控制软件,机顶盒、PDA、WAP手机等产品的设计和功能都很复杂,因此需要有相应的操作系统支持。对这个市场觊觎已久的微软为此推出了Windows CE,但是Windows CE并没有像定位为桌面系统的Windows系列那样横扫对手、所向披靡。其中一个重要原因就是现在厂商和用户多了一个选择:Linux!从1997年刮起来的Linux旋风不仅使Linux在服务器市场上大出风头,而且正在蚕食着Windows桌面应用的市场。在智能数字终端操作系统这个初露端倪的市场上,Linux更是大有先声夺人的气势。事实上,除了智能数字终端领域外,Linux在移动计算平台、智能工控设备、金融业终端系统(POS/ATM机等)、甚至军事领域都有广泛的应用前景。这些Linux统称为“嵌入式Linux”,下面就让我们一起来揭开嵌入式Linux的面纱。
#1    什么是嵌入式计算机 
  传统上一般按照计算机的体系结构、运算速度、适用领域等方面将其分为大型计算机、中型机、小型机和微型计算机。近年来随着微电子技术的迅速发展,实际应用领域产生了很大变化,微型计算机虽然占据了全球计算机工业90%的市场份额,但是各种各样应用于工业设备、电子产品中的专用计算机大量涌现,这些计算机隐藏在各种产品和系统中,嵌入式计算机由此而得名。
  据统计,今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年美国嵌入式系统大会的报告预测,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。我们由此可以推测嵌入式计算机的应用规模。
#1    嵌入式Linux 
  早期的硬件设备很简单,软件的编程和调试工具也很原始,与硬件系统配套的软件都必须从头编写。程序大都采用宏汇编语言,调试是一件很麻烦的事。在70年代的后期,出现了嵌入式系统的操作系统。它们采用汇编语言编写,而且只能运行在相应的专用处理器上,对新的处理器必须重新编写操作系统的所有代码。
  在80年代末,市场上出现了几个著名的商业嵌入式操作系统。今天它们已经成为主流嵌入式操作系统。应用广泛的操作系统包括:Vxwork、pSOS、Neculeus和Windows CE。目前,国际上用于智能终端设备的嵌入式操作系统有40种左右。据最新资料,3Com公司下属子公司的PalmOS全球市场占有份额达50%,而Windows CE不过29%。在美国市场,PalmOS更以80%的占有率独占鳌头。
  由于嵌入式产品在体积、成本等方面有较严格的要求,处理器部分占用空间应尽可能小。系统的可用内存和外存数量也非常受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。但从技术的角度上来说,Windows CE作为嵌入式操作系统有很多缺陷。Windows CE没有开放源代码,使应用开发人员很难实现产品的定制。另外Windows CE在效率、功耗方面的表现并不出色,而且Windows CE像Windows一样占用过多的系统内存,应用程序庞大。Windows CE的版权许可费用也是厂商不得不考虑的因素。
  正是嵌入式操作系统的特殊要求为Linux在嵌入式系统中的发展提供了广阔的舞台。由于Linux的高度灵活性,程序员可以很容易地根据应用领域的特点对它进行定制开发,来满足自己的实际应用需要。而且由于Linux固有的多任务、高效稳定的系统特征,使得Linux成为嵌入式操作系统中的新贵。嵌入式Linux一般是按照嵌入式目标系统的要求而设计,由一个体积很小的内核及一些可以根据需要进行随意裁减的系统模块组成。一般来说整个系统所占用的空间不会超过几M大小。
  目前,国外不少大学、研究机构和知名公司都加入了嵌入式Linux的开发工作,较成熟的嵌入式Linux产品不断涌现,下面我们简单介绍几个较著名的系统。
  RTLinux:由美国新墨西哥理工学院开发的基于标准Linux的嵌入式操作系统。截至目前为止,RTLinux已成功地应用于从航天飞机的空间数据采集、科学仪器测控到电影特技图像处理等广泛的应用领域。RTLinux开发者并没有针对实时操作系统的特性重写Linux的内核,这样做工作量会非常大,而且要保证兼容性也非常困难。为此,RTLinux提供了一个精巧的实时内核,并把标准的Linux核心作为实时核心的一个进程同用户的实时进程一起调度,这样做的好处是对Linux的改动量最小,充分利用了Linux平台下现有的丰富的软件资源。
  Embedix:由嵌入式Linux行业主要厂商之一Lineo推出,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务,包括Web服务器等。系统需要最小8M内存,3M 只读内存或快闪内存。Embedix基于Linux 2.2核心,并已经成功地移植到了intel X86和PowerPC处理器系列上。像其他Linux的发行版本一样,Embedix可以免费获得。Lineo公司还发布了另一个重要的软件产品,它可以让在Windows CE 操作系统上运行的程序能够在Embedix系统上运行,Lineo还将计划推出Embedix的开发调试工具包,基于图形界面的浏览器等,可以说,Embedix是一种较完整的嵌入式Linux解决方案。
  XLinux:由美国网虎公司推出,主要开发者就是CIH病毒的作者——台湾的天才少年陈盈豪,这个让全世界电脑用户心惊胆战的少年加盟网虎几个月便开发出了基于XLinux的、号称是世界上最小的嵌入式Linux系统,核心只有143K字节,而且还在不断减小。
  XLinux核心采用了“超字元集”专利技术,让Linux核心不仅可与标准字符集相容,还涵盖了十二个国家地区的字符集。因此XLinux在推广Linux的国际应用方面有独特的优势。
#1    呼唤国产嵌入式操作系统 
  曾被媒体炒得火热的“维纳斯”与“女娲”之争,使我们认识到了嵌入式操作系统领域的巨大商机。据预测,我国信息家电产品市场规模为2000年达到50亿元~100亿元,2001年达到500亿元~700亿元规模,2003年达到2000亿元~2500亿元规模。由于Linux的开放源码的特点,全世界的开发厂商站在了同一条起跑线上,国内的研究机构和企业也正在投入人力物力,力争在嵌入式操作系统市场上有所作为。
  目前,中科院计算所自行开发的开放源码的嵌入式操作系统Easy Embedded OS(EEOS)已开始进入实用阶段。该嵌入式操作系统重点支持p-Java,系统,目标为一方面小型化,一方面能使用Linux的驱动和其他模块。由于有中科院计算所的强大科研力量作后盾,EEOS有望发展为功能完善,稳定、可靠的国产嵌入式操作系统平台。
  致力于国产嵌入式Linux操作系统和应用软件开发的广州博利思软件公司最近推出了嵌入式Linux中文操作系统——POCKETIX 预览版,它基于标准的Linux内核,并包括一些可以根据需要进行定制的系统模块。支持标准以太网和TCP/IP协议、支持标准的XWindow,中文支持采用国际化标准,提供桌面和窗口管理功能、带WEB 浏览器和文件管理器,并支持智能拼音和五笔字型输入。可适应个人PDA、WAP手机、机顶盒等广泛的智能信息产品。
  但是我们应该清醒地看到,绝大部分嵌入式系统的硬件平台还掌握在外国公司的手中,国产的嵌入式操作系统在技术含量、兼容性、市场运作模式等方面也还有很多工作要做,但是嵌入式操作系统的巨大商业价值和Linux原代码的开放性为我们民族软件产业的发展提供了难得的机会,我们应该在跟踪国外嵌入式操作系统的最新技术的同时,坚持自主产权,力争找到自己的突破点,探索出一条自己的发展道路。