热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

嵌入式Linux 家族回顾与瞻望

来源: 作者: 时间:2007-03-18 Tag: 点击:

在1991 年Linux 诞生以前,嵌入式系统和嵌入式操作系统(如VxWorks、pSOS、Lynux、Neculeus)已经得到了广泛的应用,而Linux基于GPL 开放源代码授权模式、易于定制,可以方便地裁剪和移植,与多样的嵌入式系统堪称天作之合。所以伴随着自身的完善,Linux 从最初的面向桌面PC和小型服务器,迅速应用和普及到各种不同的嵌入式平台和应用环境,在电信设备、交换机、路由器、移动终端、智能手机、汽车电子、工业控制、数码电视、机顶盒、娱乐设备等领域得到了广泛的应用,成为Linux 的一个重要分支,而自成一个嵌入式Linux大家族。嵌入式Linux在2005年的市场总额已经超过1亿美元,而且在2010年以前都将保持快速显著增长的势头。目前大多数新型的嵌入式系统,尤其是基于SoC快速成型的系统,都会给出基于Linux操作系统的软件解决方案, 而早期的嵌入式操作系统,也大都实现了基于POSIX标准的API级兼容。

开放、灵活、应用广泛的家族

开放、灵活和应用广泛,嵌入式Linux的这几大特点,很大程度上是从Linux 继承而来。Linux开放源代码,而且代码层次结构清楚,很容易阅读、裁剪和维护。虽然Linux本身不是完全的微内核操作系统,但是可以通过 menuconfig、xconfig等方便的裁剪和配置内核,也可以开放的对内核进行实时性、最小化改造。
同时,Linux对每一个外围的物理设备, 统一抽象定义为字符设备、块设备或者网络接口,可以按照规范开发驱动程序,加载成一个模块而装入内核中,通过虚拟文件系统(VFS)等方便的管理和维护。这样, 可以快捷而低成本的设计出正好满足特定嵌入式系统需求的操作系统。
同时,GNU 为Linux 配备了一整套工具链,可以很容易地自行建立嵌入式系统的开发环境、交叉编译环境和交叉运行调试环境。而Linux 各种版本大都在不同程度上符合IEEE POSIX 标准,使应用程序具有较好的可移植性。
嵌入式Linux 可以很方便的定制一套完整的工具链(toolchain),利用GNU 的gcc做编译器,用gdb、kgdb、xgdb做调试工具,能够实现从操作系统到应用软件各个级别的开发和调试。

开源、开放的家族产品:uClinux 和RTLinux

从普通的Linux到嵌入式Linux,有两个方面必须认真的考虑:精悍可靠,必须足够小,同时足够稳定;机敏实时,必须有足够的实时响应,以满足大部分嵌入式系统高实时性的要求。uClinux 和RTLinux在这两个方面做了经典的探索,是嵌入式Linux家族中极其具有代表性的两个产品。

◆ uCLinux(http://www.uclinux.org)
uClinux 是一个完全符合GNU/GPL 公约的项目, 完全开放代码, 专门针对没有MMU 的CPU,或者不使用CPU 的MMU(很多嵌入式系统的CPU不使用MMU,或者存储简单而不必使用MMU),并且针对嵌入式系统做了许多代码和运行时小型化的工作。uClinux 与标准Linux的架构完全一致, 最大区别就在于内存管理,即因为不能使用MMU,而不能使用处理器的虚拟内存管理技术,所以采用存储器分页管理,采用实存储(real memeory)管理策略,对于内存直接访问,对内存空间没有保护,各个进程实际上共享一个运行空间,而开发人员可以访问任意的地址空间。

◆ RTLinux-Real-Time Linux

RTLinux 最初是美国墨西哥理工学院的一个嵌入式实时Linux操作系统的科研项目,在于将当时采用分时机制的Linux 改造成具有实时性的操作系统。RT-Linux 没有重写Linux的内核,而是利用内核模块机制,采用插入模块的方式加载了一个RTLinux内核,把原来的Linux内核作为实时核心的一个低优先级的进程,同用户的实时进程一起调度。普通Linux 内核中的进程可以通过FIFO 和实时内核的进程进行通信。这样对Linux内核的改动非常小,并且充分利用了普通Linux内核的资源,可以直接运行软件。
优秀的家族商业产品:MontaVista Linux
在操作系统大小和系统实时嵌入式Linux 家族回顾与前瞻性方面,许多公司也参与其中进行改造,推出了高稳定性、高实时性的商业嵌入式操作系统产品。目前这些产品已经广泛的使用于手机、汽车、电信、网络设备及消费电子产品, 以及航空航天和军事领域。其中MontaVista Linux 是其中的佼佼者。

◆ MontaVista Linux(http://www.mvista.com)
MontaVista Linux是MontaVista Software于1999 年开始推出的,专门面向嵌入式系统的商业级操作系统。目前最新版本的MontaVista Linux 专业版4.0(Pro 4.0),基于Linux内核2.6,采用可抢占内核技术,集合了MontaVista硬实时技术,性能远远高于标准2.6内核,具有更短的抢占延迟,反映速度是标准内核的200倍;采用优先级线程实现中断服务程序的调度,提供三种选择模式进行实时性的配置,O(1)调度实现固定优先级实时调度,实现微秒级时钟分辨率(HRT),高速实时域(FRD,Fast RealtimeDomain);同时支持多线程、多进程、多处理器,本地POSIX线程库为内核的组件更好实现了对POSIX 兼容性;内建内存保护机制有效阻止运行错误,虚拟内存过渡使用机制防止内存溢出,并且提供了很多增强的I/O支持和设备的支持,支持32/64位处理器; 基于升级的Eclipse和CDT,设计实现了MontaVista DevRocket (TM)开发环境,支持高性能多线程设计并且改进了调试功能。
与Linux 家族兼容的产品:VxWorks 和LynxOS
已经有一些嵌入式操作系统产品,并非从Linux裁剪或者改造而来,但是已经基本实现POSIX 兼容,在接口级与嵌入式Linux系列产品达成一致。这些产品具有优良的传统和特定的实时性、可靠性实现,在嵌入式操作系统中具有重要地位。

◆ VxWorks(http://www.windriver.com/)
VxWorks 操作系统是美国WindRiver 公司于1983年设计开发的一种嵌入式实时操作系统,具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据最重要的一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。VxWorks具备一个高效的微内核,支持实时系统的多任务,中断支持,任务抢占式调度和循环调度。微内核设计使VxWorks缩减了系统开销,并加速了对外部事件的反应,内核的运行非常快速和确定。

◆ LynxOS(http://www.lynuxworks.com/)LynxOS作为LynuxWorks公司的核心产品,是一个强实时的嵌入式操作系统,1988年发布了第一个版本,现在已经成为完全可抢占和可重入的,使用于高可靠性场合的商业嵌入式操作系统。LynxOS的高度模块化是其具有很强的可扩展性而且易于配置,能够适用从大规模复杂系统到小嵌入式控制器的需求。

最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册