|
嵌入式Linux技术的现状与发展动向 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
金西(中国科技大学) 黄汪(华恒网络技术有限公司) |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
关键词:信息家电 嵌入式Linux 路由器开发 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
1 引言 863智能计算机首席专家高文教授说:所谓后PC时代,是英文pervasive computing的中文意译,pervasive的原意是普遍的、蔓延的、渗透的,所以pervasive computing这个词组直接的翻译应该是渗透到各个方面的计算。因而我们可以认为,所谓后PC时代是指:计算机无所不在,它渗透到我们工作和生活的方方面面。当然,这样的无所不在的计算机也绝不都是象今天的PC一样摆在桌子上或放在书包里,后PC时代的绝大多数计算机是以非计算机的形式出现的,例如作为随身物品出现的电话、遥控开关、电子戒指、电子手杖等,再例如作为家庭网络组成部分的电视机、电冰箱、空调等等。这些设备的核心部分都有计算机,但大多是以嵌入式系统的形式存在,而不是以整机的形象出现。所以,我们也可以说后PC时代的特点是计算机无处不在、很少可见。 在IT业,如果要问当今最热门的话题是什么[1],从事硬件开发的人会毫不犹豫地回答:信息家电;从事软件开发的人同样也会毫不犹豫地回答:Linux。事实上,当人们在谈论PDA、手持电脑、机顶盒时,后PC时代就到来了,或者说信息家电时代到来了。信息家电之所以直到现在才变得火爆,一个很重要的原因就是Linux的加入。廉价的Linux资源与信息家电结合,真正宣告了信息家电时代的到来,嵌入于信息家电(或其他设备)中的Linux棗嵌入式Linux,是国际软件界的一个新宠。Linux是个天生的网络操作系统,成熟而且稳定。Linux是开放源代码的,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核最小时目前只有134kB。一个带有中文系统以及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。因此,Linux作为嵌入式系统新的选择,是非常有潜力的[3]。 国际上有数以百计的嵌入式Linux开发计划,在国内,这方面的发展也有了较大进展。博利思软件公司在这方面做了一些有益的尝试,并于最近推出了一个嵌入式Linux操作系统棗PocketIX 预览版(下载网址为:www.pocketix.com/software/software.htm。)。PocketIX是一个内核基于标准Linux的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其系统占用空间小、启动速度快、稳定性好,并具有多任务、多线程的特征。与传统的嵌入式系统相比,PocketIX采用标准的Linux结构,所有运行在标准Linux下的应用软件都可平滑移植到该系统上。 在传统家电向信息家电过渡时,操作系统小型化、产品稳定性及是否易于开发等成了至关重要的问题。嵌入式Linux虽然只是刚刚兴起的热门技术,但它却能很好解决上述问题。作为嵌入式Linux产品的研发,涉及到嵌入式微处理器技术、Linux技术、网络通讯技术、通讯产品设计师的行业经验,华恒网络技术公司正是基于在以上经验的优势,成功推出国内首款基于嵌入式Linux超小型应用产品――网络管理卡,该产品已经批量生产、投放市场。有关详情可访问该公司站点(http://www.hhcn.com)。 2 嵌入式Linux开发的优点及版本 嵌入式Linux由于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中应用起来,比起pSOS+,VxWorks等专用系统有许多优势,Linux甚至支持蓝牙技术,VxWorks对于新技术的支持远没有Linux那么迅速;从我们开发路由器卡可知:从产品上市时间到产品的功能不断扩充、开发人力的投入都验证了使用嵌入式Linux作为操作系统平台的优势。如果是用VxWorks作为平台来做就相当困难,一系列的防火墙协议以及Web Server协议、TCP/IP整个体系结构、拨号协议等等,不是自己开发就是要买VxWorks的编译好的库(不公开源代码的),价格也比较昂贵。表1将专用嵌入式实用操作系统与嵌入式Linux作了详细的分析和比较。 表1 专用嵌入式实时操作系统与嵌入式Linux的比较
Linux是自由的多任务操作系统,用户可以获得多种配置及体系不同的Linux版本。因此,如何选择Linux的发行版本,也是我们要解决的一个重要问题。 Linux的版本主要有3大类: (1)标准的Linux版本。 (2)小型化的嵌入式版本(Small foot-print“embedded”Version)。 (3)具有实时扩展功能的Linux版本。 这3大类Linux版本的各自用户所占的百分数统计饼图如图1所示。
图 1 各类Linux操作系统用户分布图
另外,Linux还有一些特殊应用、把Linux移植到非X86体系的CPU(包括PowerPC、RISC、68K以及许多别的微控制器)上的版本。例如有许多针对不同的如“瘦服务器”或“防火墙”应用的小型化、实时特性增强的特殊版本。 我们要认识到,所有的Linux发行版本都是在同一个框架结构类型下发展演变的,它们使用的基本模块都相同,其中包括Linux内核、Shell命令(命令执行解释模块)以及许多的通用工具。不同的是,数以百计的Linux应用程序,被包含在不同的发行版本当中,安装的进程处理程序也不同。 3 嵌入式Linux的一个开发实例分析 传统的路由器都是使用专用的RTOS开发的,在开发TCP/IP、防火墙协议以及Web Server协议时都只能自己去实现,产品上市的周期非常长,对新协议、新接口的支持以及设备升级的周期也很长,因为专用的RTOS有关内容都要自己开发;而对于Linux来说,这些都可以直接从网上获得代码,针对应用系统的要求作必要的改动即可,对新协议、新接口的支持也是如此,无需要自己从头去开发。 在表2中,我们将分别利用VxWorks专用操作系统和嵌入式Linux操作系统来开发路由器作了详细地比较和分析。 表2 开发路由器情况表
4 嵌入式Linux的网上资源 4.1 标准的Linux版本 (1)Caldera:http://www.calderasystems.com/ (2)Corel:http://linux.corel.com/ (3)Debian:http://www.debian.org.com/ (4)Mandrake:http://www.linux-mandrake.comlen/ (5)Red Hat:http://www.reahat.com/ (6)Slackware:http://www.slackware.com/ (7)SuSE:http://www.suse.com (8)Turbo Linux:http://www.turbolinux.com/ 4.2 小型化的嵌入式版本 (1)ETLinux:http://www.prosa.it/embedded/etlinux/ (2)LEM:http://www.linux-embedded.com/lem.php3 (3)Linux Router Project:http://www.linuxrouter.org/ (4)LOAF:http://loaf.ecks.org/ (5)ucLinux:http://www.uclinux.org/ (6)uLinux:http://sunsite.auc.dk/mulinux/ (7)ThinLinux:http://www.thinlinux.org 4.3 具有实时扩展功能的Linux版本 (1)RTLinux:http://www.rtlinux.com (2)RTLinux:http://www.FSMLabs.com (3)RTAI:http://www.rtai.org/ (4)EL/IX:http://www.sourceware.cygus.com/elix/ (5)SRT-Linux:http://www.cl.cam.ac.uk/~dmi1000/linux-srt/index.html 4.4 Linux特殊应用版本 (1)FirePlugLinux:http://www.fireplug.net/ (2)KOSIX:http://www.touchdynamics.com/KOSIX.html (3)Linux Router Project:http://www.linuxrouter.org/ (4)Pizzabox Linux:http://www.jrcs.co.wk 5 结束语 尽管绝大部分的嵌入式系统的硬件平台仍掌握在外国大公司的手中,国产的嵌入式操作系统在技术含量、兼容性、市场运作模式等方面还有相当长的一段距离。但由于Linux自由操作系统的出现,特别是将嵌入式系统和Linux有机结合起来的嵌入式Linux,给我们提供跟踪国外嵌入式操作系统最新应用技术难得的机遇。嵌入式Linux将在机顶盒、掌上电脑或PDA、手机和寻呼机上网、车载盒、工业控制等方面有着广泛地应用。
参考文献 1.廖原.细看嵌入式中文Linux 中国计算机报 2000.7.4 2.金西 黄汪.嵌入式Linux技术及其应用 计算机应用 2000.7 3.金西 黄汪.Linux操作系统是嵌入式系统新的选择 微计算机信息 2000.6 |