摘要:
嵌入式系统和Linux的有机结合,成为后PC时代计算机最普遍的应用形式。本文介绍了嵌入式Linux技术的版本与特点,结合开发路由器的实例分析了嵌入式Linux的优势和发展动向,并给出与嵌入式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 预览版(下载网址为:。)。PocketIX是一个内核基于标准Linux的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其系统占用空间小、启动速度快、稳定性好,并具有多任务、多线程的特征。与传统的嵌入式系统相比,PocketIX采用标准的Linux结构,所有运行在标准Linux下的应用软件都可平滑移植到该系统上。
在传统家电向信息家电过渡时,操作系统小型化、产品稳定性及是否易于开发等成了至关重要的问题。嵌入式Linux虽然只是刚刚兴起的热门技术,但它却能很好解决上述问题。作为嵌入式Linux产品的研发,涉及到嵌入式微处理器技术、Linux技术、网络通讯技术、通讯产品设计师的行业经验,华恒网络技术公司正是基于在以上经验的优势,成功推出国内首款基于嵌入式Linux超小型应用产品――网络管理卡,该产品已经批量生产、投放市场。有关详情可访问该公司站点()。
2 嵌入式Linux开发的优点及版本
嵌入式Linux由于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中应用起来,比起pSOS+,VxWorks等专用系统有许多优势,Linux甚至支持蓝牙技术,VxWorks对于新技术的支持远没有Linux那么迅速;从我们开发路由器卡可知:从产品上市时间到产品的功能不断扩充、开发人力的投入都验证了使用嵌入式Linux作为操作系统平台的优势。如果是用VxWorks作为平台来做就相当困难,一系列的防火墙协议以及Web Server协议、TCP/IP整个体系结构、拨号协议等等,不是自己开发就是要买VxWorks的编译好的库(不公开源代码的),价格也比较昂贵。表1将专用嵌入式实用操作系统与嵌入式Linux作了详细的分析和比较。
表1 专用嵌入式实时操作系统与嵌入式Linux的比较
专用嵌入式实时操作系统
嵌入式Linux操作系统
版权费
每生产一件产品需交纳一份版权费
免费
购买费用
人民币数十万元
免费
技术支持
由开发商独家提供有限的技术支持
全世界的自由软件开发者提供支持
网络特性
另加人民币数十万购买
免费而且性能优异
软件移植
难,因为是封闭系统
易,代码开放,有许多应用软件支持
应用产品开发周期
长,因为可参考的代码有限
短,新产品上市迅速,因为有许多公
开的代码可以参考和移植
实时性能
好
需改进,可用RT_Linux等模块弥补
稳定性
好
较好,在高性能系统中仍需改进
Linux是自由的多任务操作系统,用户可以获得多种配置及体系不同的Linux版本。因此,如何选择Linux的发行版本,也是我们要解决的一个重要问题。
Linux的版本主要有3大类:
(1)标准的Linux版本。
(2)小型化的嵌入式版本(Small foot-print“embedded”Version)。
(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 开发路由器情况表
使用VxWorks专用操作系统
使用嵌入式Linux操作系统
产品上市时间
长达9个月
仅需3个月
投入开发的人力
多达6人以上
只需3人
产品的附加成本
每台路由器需要交一份版权费,成本大大提高
没有任何附加费
产品功能的丰富性
一般,增加功能要象厂家购买模块
丰富,可利用自由软件的大量公开代码移植
网络特性
另外购买网络模块,如OSPF动态路由协议库,很昂贵;若自行开发则稳定性较差且开发时间长
免费获得自由软件代码,只需移植,由于来
自桌面Linux平台,继承性好、稳定性好、
开发时间短
产品升级以及对
新网络协议的支持
厂家反映慢,支持慢,不一定能支持新特性
利用全世界Linux自由软件开发团体的力量
,支持迅速
4 嵌入式Linux的网上资源
4.1 标准的Linux版本
(1)Caldera:
(2)Corel:
(3)Debian:
(4)Mandrake:
(5)Red Hat:
(6)Slackware:
(7)SuSE:
(8)Turbo Linux: