<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 意得法电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=385 </link><title>嵌入式Linux系统的设计与应用</title><author>稻草人</author><pubDate>2009-12-14 8:43:19</pubDate><description><![CDATA[摘要：随着<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="35"><font color="#0033cc">嵌入式</font></a>Linux系统的迅速发展，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="36"><font color="#0033cc">嵌入式</font></a>Linux已发展成为<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="37"><font color="#0033cc">嵌入式</font></a>操作系统的一个重要分支。本文介绍了<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="38"><font color="#0033cc">嵌入式</font></a>Linux的设计和几种流行的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="39"><font color="#0033cc">嵌入式</font></a>Linux系统。 关键词：<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="40"><font color="#0033cc">嵌入式</font></a>Linux 一、引言 <a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="41"><font color="#0033cc">嵌入式</font></a>系统(Embedded Systems)是根据应用的要求，将操作系统和功能软件集成于计算机硬件系统之中，从而实现软件与硬件一体化的计算机系统。<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="42"><font color="#0033cc">嵌入式</font></a>系统出现于60年代晚期，它最初被用于控制机电电话交换机，如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="43"><font color="#0033cc">嵌入式</font></a>系统在数量上远远超过了各种通用计算机系统：计算机系统核心CPU，每年在全球范围内的产量大概在二十亿颗左右，其中超过80％应用于各类专用性很强的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="44"><font color="#0033cc">嵌入式</font></a>系统。 一般的说，凡是带有<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_03.html" target="_blank" jquery1260751341334="45"><font color="#0033cc">微处理器</font></a>的专用软硬件系统都可以称为<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="46"><font color="#0033cc">嵌入式</font></a>系统。和通用的计算平台相比，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="47"><font color="#0033cc">嵌入式</font></a>系统往往具有功能单一、体积小、功耗低、可靠性高、剪裁性好、软硬件集成度高、计算能力相对较低等特点。多年来，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="48"><font color="#0033cc">嵌入式</font></a>设备中没有操作系统，其主要原因有二：首先，诸如洗衣机、微波炉、电冰箱这样的设备仅仅需要一道简单的控制程序，以管理数量有限的按钮和指示灯，没有使用操作系统的必要；其次，它往往只具有有限的硬件资源，不足以支持一个操作系统。 然而，随着硬件的发展，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="49"><font color="#0033cc">嵌入式</font></a>系统变得越来越复杂，最初的控制程序中逐步的加入了许多功能，而这些功能中有很多可以由操作系统提供。于是，在70年代末期出现了<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="50"><font color="#0033cc">嵌入式</font></a>操作系统(Embedded Operating Systems)，它的出现大大简化了应用程序设计，并可以有效的保障软件质量和缩短开发周期。简单的ES一般并不使用操作系统，只包含一些控制流程，但是随着<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="51"><font color="#0033cc">嵌入式</font></a>操作系统在复杂性上的增长，简单的流程控制就不能满足系统的要求，这是就必须考虑使用操作系统做系统软件。因此，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="52"><font color="#0033cc">嵌入式</font></a>操作系统就应运而生。 随着EOS的广泛应用，业界已推出一些应用比较成功的EOS产品。归纳起来EOS应该具有以下几个特点：小巧、实时性、可装卸、固化代码、弱交互性、强稳定性和统一的接口。目前使用最多的EOS产品包括有：Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(国内凯思集团公司自主研制开发)等。其中，Vxwork使用最为广泛、市场占有率最高，其突出特点是实时性强(采用优先级抢占和轮转调度等机制)，除此之外，其可靠性和可剪裁性也相当不错。QNX是一种伸缩性极佳的系统，其核心加上实时POSIX环境和一个完整的窗口系统还不到一兆。相比之下，Microsoft WinCE的核心体积庞大，实时性能也差强人意，但由于Windows系列友好的用户界面和为程序员所熟悉的API，并捆绑IE、Office等应用程序，正逐渐获得更大的市场份额。而与这些商业化的操作系统相比，Linux已经越来越受到人们的注意。 二、<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="53"><font color="#0033cc">嵌入式</font></a>Linux概述 Linux是一个成熟而稳定的网络操作系统。将Linux植入<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="54"><font color="#0033cc">嵌入式</font></a>设备具有众多的优点。首先，Linux的源代码是开放的，任何人都可以获取并修改，用之开发自己的产品。其次，Lirmx是可以定制的，其系统内核最小只有约134kB。一个带有中文系统和图形用户界面的核心程序也可以做到不足1MB，并且同样稳定。另外，它和多数Unix系统兼容，应用程序的开发和移植相当容易。同时，由于具有良好的可移植性，人们已成功使Linux运行于数百种硬件平台之上。 然而，Linux并非专门为实时性应用而设计，因此如果想在对实时性要求较高的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="55"><font color="#0033cc">嵌入式</font></a>系统中运行Linux，就必须为之添加实时软件模块。这些模块运行的内核空间正是操作系统实现进程调度、中断处理和程序执行的部分，因此错误的代码可能会破坏操作系统，进而影响整个系统的可靠性和稳定性。Linux的众多优点还是使它在<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="56"><font color="#0033cc">嵌入式</font></a>领域获得了广泛的应用，并出现了数量可观的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="57"><font color="#0033cc">嵌入式</font></a>Linux系统。其中有代表性的包括：uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用于在小型工业计算机，尤其是PC／104模块。ThinLinux面向专用的照相机服务器、X-10控制器、MP3播放器和其它类似的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="58"><font color="#0033cc">嵌入式</font></a>应用。LOAF是Linux On A Floppy的缩略语，它运行在386平台上。 三、Linux作为<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="59"><font color="#0033cc">嵌入式</font></a>操作系统的优势 Linux作为<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="60"><font color="#0033cc">嵌入式</font></a>操作系统的优势主要有以下几点： 1、 可应用于多种硬件平台。Linux已经被移植到多种硬件平台，这对于经费，时间受限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发后移植到具体的硬件上，加快了软件与硬件的开发过程。Linux采用一个统一的框架对硬件进行管理，从一个硬件平台到另一个硬件平台的改动与上层应用无关。Linux可以随意地配置，不需要任何的许可证或商家的合作关系，源代码可以免费得到。这使得采用Linux作为操作系统不会遇到任何关于版权的纠纷。毫无疑问，这会节省大量的开发费用。本身内置网络支持，而目前<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="61"><font color="#0033cc">嵌入式</font></a>系统对网络支持要求越来越高。Linux的高度模块化使添加部件非常容易。 2、 Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制，支持大量硬件(包括X86，Alpha、<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_02.html" target="_blank" jquery1260751341334="62"><font color="#0033cc">ARM</font></a>和Motorola等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开，任何人可以修改并在GUN通用公共许可证(GNU General Public License)下发行。这样，开发人员可以对操作系统进行定制，适应其特殊需要。 3、 Linux带有Unix用户熟悉的完善的开发工具，几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能，有多种可选择窗口管理器(X Windows)。其强大的语言编译器GCC，C++等也可以很容易得到，不但成熟完善，而且使用方便。 四、<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="63"><font color="#0033cc">嵌入式</font></a>Linux的建立 完整的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="64"><font color="#0033cc">嵌入式</font></a>Linux解决方案应包括<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="65"><font color="#0033cc">嵌入式</font></a>Linux操作系统内核、运行环境、图形化界面和应用软件等。由于<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="66"><font color="#0033cc">嵌入式</font></a>设备的特殊要求，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="67"><font color="#0033cc">嵌入式</font></a>Linux解决方案中的内核、环境、GUI等都与标准Linux有很大不同，其主要挑战是如何在狭小的FLASH、ROM和内存中实现高质量的任务实时调度、图形化显示、网络通信等功能。 1、 精简内核 Linux内核有自己的结构体系，其中进程管理、内存管理和文件系统是其最基本的3个子系统。图1简单表示了它的框架。用户进程可直接通过系统调用或者函数库来访问内核资源。正因为Linux内核具有这样的结构，因此修改内核时必须注意各个子系统之间的协调。 <img border="0" src="/info/images/tougao/050725/qrsLinux-a.gif" alt="" /> <a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="68"><font color="#0033cc">嵌入式</font></a>Linux内核一般由标准Linux内核裁剪而来。用户可根据需求配置系统，剔除不需的服务功能、文件系统和设备驱动。经过裁剪、压缩后的系统内核一般只有300k左右，十分适合<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="69"><font color="#0033cc">嵌入式</font></a>设备。同标准Linux不同的是<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="70"><font color="#0033cc">嵌入式</font></a>Linux必须要实现从FLASH或ROM的启动。标准Linux启动代码实现了系统初始化和从软盘、硬盘O盘区引导内核。<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="71"><font color="#0033cc">嵌入式</font></a>Linux一般保存在FLASH或ROM中，标准LILO无法引导。在支持直接从FLASH设备引导的系统中，如华恒公司的uClinux，引导程序主要完成对硬件系统的初始化工作和操作系统的解压、移位工作。在不支持直接从FLASH引导的系统中，FLASH设备只能作为非引导磁盘使用。此时，可采用先从硬盘或软盘加载一个小操作系统，如<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="72"><font color="#0033cc">嵌入式</font></a>DOS，然后再执行&quot;Loadlin&quot;加载程序从FLASH引导<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="73"><font color="#0033cc">嵌入式</font></a>Linux。 对标准Linux的修改主要是虚拟内存和调度程序部分的改动。因为标准Linux系统使用虚拟内存管理的目的是为了能同时运行多个进程，但是这样每个待运行的进程所能分配的CPU时间片就受限制，资源的使用效率就低。这样对于实时性要求较高的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="74"><font color="#0033cc">嵌入式</font></a>系统来说，实时任务往往要求CPU具有很高的突发处理能力，即在有些时候需要极高的处理效率，因此需要屏蔽内核的虚拟内存管理机制。对于无硬盘设备的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="75"><font color="#0033cc">嵌入式</font></a>系统，不必采用虚存管理。强实时需求的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="76"><font color="#0033cc">嵌入式</font></a>应用可以通过修改任务调度模块实现，主要是在内核和设备驱动程序中加入了许多切换点。在该点处，系统检测是否存在未处理的紧急中断，有则剥夺内核的运行，及时处理中断。实现实时性服务的一个较好的方法是在标准的Linux内核上增加一个实时内核，标准Linux内核作为一个任务运行于实时内核上，强实时性任务也直接运行在实时内核上，如RT-Linux等。 文件系统是<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="77"><font color="#0033cc">嵌入式</font></a>Linux操作系统必不可少的。但标准Linux支持大量的文件系统，因此除了满足系统的正常运行需要而保留一种外，其它的全部可以删除，利用原有的设置选项可以移除。一般<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="78"><font color="#0033cc">嵌入式</font></a>设备文件系统主要使用RamDisk技术和网络文件系统技术。RamDisk可驻留于Flash，运行时加载到内存中。 2、 精简运行环境 Linux通常的运行环境指用户运行任何应用的基础设施，主要包括函数库和基本命令集等。标准Linux系统同时向用户提供了静态和动态函数库。静态函数库在生成应用时直接链接到用户应用中。动态库在应用运行时才链接。由于<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="79"><font color="#0033cc">嵌入式</font></a>系统应用一般都是在开发平台上预先生成的，因此<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="80"><font color="#0033cc">嵌入式</font></a>系统只需向应用提供动态函数库。Linux应用运行所需的函数库主要有C库、数学库、线程库、加密库、网络通信库等。其中最基本的是C语言的运行库glib。这个库主要完成基本的输入输出，内存访问，文件处理。一个标准的glib库大约要1200kB存储空间，考虑到<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="81"><font color="#0033cc">嵌入式</font></a>Linux内核往往很小，这种运行库实在太大，我们做了一些精简的工作，方法有两种：(1)、使用静态连接的方法，完全不使用运行库动态连接；(2)、对这个库的函数进行精简。 在一个桌面系统上，使用动态连接可以带来许多好处。使用动态连接库，可以让应用程序跟函数库的更新、升级分离，便于维护，可以让同时运行的多个程序共享一段代码。但是，在<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="82"><font color="#0033cc">嵌入式</font></a>系统中，很少有多个程序并行的可能，程序的维护，尤其是库函数的维护更新是不常见的。这时，使用静态连接的优势就极为明显。因为静态连接可以只将库中用到的部分连接进程序。在应用程序较少(小于5)的情况下，静态连接可以达到较好的结果。为了便于将来扩充的需要，我们也采用第二种方法，针对我们的需要，对库函数的内容进行精简，只保留一些基本功能，还有一种方法是采用其它的C语言运行库。但是这些库对兼容性影响很大。 基本命令集同样是运行用户应用的基础，主要包括初始化进程init，终端获取getty、Shell和基本命令等。<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="83"><font color="#0033cc">嵌入式</font></a>系统的启动过程可能与标准Linux不同，例如跳过登录过程直接启动GUI等。这就要求修改init，getty等。标准Linux命令集同样由于体积问题无法直接应用于<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="84"><font color="#0033cc">嵌入式</font></a>环境。目前，小命令集的解决方法主要有集成方法和汇编方法两种。集成方法采用集成公共部分减少命令集整体体积，用C实现，有较好的平台移植性；汇编方法则采用汇编编程减少每个命令的体积．这样可使体积很小但其平台移植性较差。 3、 <a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="85"><font color="#0033cc">嵌入式</font></a>Linux下的GUI GUI在<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="86"><font color="#0033cc">嵌入式</font></a>系统或者实时系统中的地位越来越重要，比如PDA、DVD播放机、WAP手机等，都需要一个完整．漂亮的图形用户界面。这些系统对GUI的基本要求包括：(1)、轻型、占用资源少；(2)、高性能；(3)、高可靠性；(4)、可配置。这些也成为评价<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="87"><font color="#0033cc">嵌入式</font></a>系统的重要指标。目前，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="88"><font color="#0033cc">嵌入式</font></a>Linux上的GUI主要有winCE、Micro Window、紧缩的X Window、MiniGUI(国内做得较好的自由软件之一)。标准Linux的Xfree86由于体积庞大，运行环境要求高，无法运行于<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="89"><font color="#0033cc">嵌入式</font></a>环境。<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="90"><font color="#0033cc">嵌入式</font></a>GUI主要通过削减功能，降低性能来实现体积小和占用资源少。目前<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="91"><font color="#0033cc">嵌入式</font></a>Linux上的GUI环境主要有两类：X类和win32类。X类GUI分为服务方和客户方两方。服务器方提供鼠标、键盘处理和显示功能，客户方是用户应用，服务方和客户方通过socket接口和X协议通信。采用该方式十分有利于远程网络图形化服务，客户方和服务方可通过网络实现X协议和图形显示。典型的X类GUI有Micro Window、紧缩的X Window等。win32类的GUI不存在客户方和服务方，每个任务都自成一体，任何任务间的切换、事件分发由专门的管理任务负责。如wiCE、MiniGUI就是类似于win32类的GUI。 五、当前流行的几种<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="92"><font color="#0033cc">嵌入式</font></a>Linux系统 除了智能数字终端领域以外，Linux在移动计算平台、智能工业控制、金融业终端系统，甚至军事领域都有着广泛的应用前景。这些Linux被统称为&quot;<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="93"><font color="#0033cc">嵌入式</font></a>Linux&quot;。 1、RT-Linux 这是由美国墨西哥理工学院开发的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="94"><font color="#0033cc">嵌入式</font></a>Linux操作系统。到目前为止，RT-Linux已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等广泛领域。RT-Linux开发者并没有针对实时操作系统的特性而重写Linux的内核，因为这样做的工作量非常大，而且要保证兼容性也非常困难。为此，RT-Linux提出了精巧的内核，并把标准的Linux核心作为实时核心的一个进程，同用户的实时进程一起调度。这样对Linux内核的改动非常小，并且充分利用了Linux下现有的丰富的软件资源。 2、uClinux uCLinux是Lineo公司的主打产品，同时也是开放源码的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="95"><font color="#0033cc">嵌入式</font></a>Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit) 的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="96"><font color="#0033cc">嵌入式</font></a>系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU，其多任务的实现需要一定技巧。uCLinux是一种优秀的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="97"><font color="#0033cc">嵌入式</font></a>Linux版本，是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性，经过各方面的小型化改造，形成了一个高度优化的、代码紧凑的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="98"><font color="#0033cc">嵌入式</font></a>Linux。虽然它的体积很小，却仍然保留了Linux的大多数的优点：稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API。它专为<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="99"><font color="#0033cc">嵌入式</font></a>系统做了许多小型化的工作，目前已支持多款CPU。其编译后目标文件可控制在几百KB数量级，并已经被成功地移植到很多平台上。 3、Embedix Embedix是由<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="100"><font color="#0033cc">嵌入式</font></a>Linux行业主要厂商之一Luneo推出的，是根据<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="101"><font color="#0033cc">嵌入式</font></a>应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务，包括Web服务器等。系统需要最小8MB内存，3MB ROM或快速闪存。Embedix基于Linux 2.2内核，并已经成功地移植到了Intel x86和PowerPC处理器系列上。像其它的Linux版本一样，Embedix可以免费获得。Luneo还发布了另一个重要的软件产品，它可以让在Windows CE上运行的程序能够在Embedix上运行。Luneo还将计划推出Embedix的开发调试工具包、基于图形界面的浏览器等。可以说，Embedix是一种完整的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="102"><font color="#0033cc">嵌入式</font></a>Linux解决方案。 4、Xlinux XLinux是由美国网虎公司推出，主要开发者是陈盈豪。他在加盟网虎几个月后便开发出了基于XLinux的、号称是世界上最小的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="103"><font color="#0033cc">嵌入式</font></a>Linux系统，内核只有143KB，而且还在不断减小。XLinux核心采用了&quot;超字元集&quot;专利技术，让Linux核心不仅可能与标准字符集相容，还含盖了1 2个国家和地区的字符集。因此，XLinux在推广Linux的国际应用方面有独特的优势。 5、PoketLinux 由Agenda公司采用、作为其新产品&quot;VR3PDA&quot;的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="104"><font color="#0033cc">嵌入式</font></a>Linux操作系统。它可以提供跨操作系统构造统一的、标准化的和开放的信息通信基础结构，在此结构上实现端到端方案的完整平台。PoketLinux资源框架开放，使普通的软件结构可以为所有用户提供一致的服务。PoketLinux平台使用户的视线从设备、平台和网络上移开，由此引发了信息技术新时代的产生。在PoketLinux中，称之为用户化信息交换(CIE)，也就是提供和访问为每个用户需求而定制的&quot;主题&quot;信息的能力，而不管正在使用的设备是什么。 6、MidoriLinux 由Transmeta公司推出的MidoriLinux操作系统代码开放，在GUN普通公共许可(GPL)下发布，可以在http：//midori.transmeta.com上立即获得。该公司有个名为&quot;MidoriLinux计划&quot;。&quot;MidoriLinux&quot;这个名字来源于日本的&quot;绿色&quot;---Midori，用来反映其Linux操作系统的环保外观。 7、红旗<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="105"><font color="#0033cc">嵌入式</font></a>Linux 由北京中科院红旗软件公司推出的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="106"><font color="#0033cc">嵌入式</font></a>Linux是国内做得较好的一款<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="107"><font color="#0033cc">嵌入式</font></a>操作系统。目前，中科院计算所自行开发的开放源码的<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="108"><font color="#0033cc">嵌入式</font></a>操作系统---Easy Embedded OS(EEOS)也已经开始进入实用阶段了。该款<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="109"><font color="#0033cc">嵌入式</font></a>操作系统重点支持p-Java。系统目标一方面是小型化，另一方面能重用Linux的驱动和其它模块。由于有中科院计算所的强大科研力量做后盾，EEOS有望发展成为功能完善、稳定、可靠的国产<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="110"><font color="#0033cc">嵌入式</font></a>操作系统平台。 六、结束语 由于Linux是一个内核源代码开放、具备一整套工具链、有强大的网络支持及成本低廉的操作系统，因此<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="111"><font color="#0033cc">嵌入式</font></a>Linux自诞生起就秉承了这众多独特优势，这使它正在并越来越多地受到人们的关注。据Even Data数据显示，期望使用<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="112"><font color="#0033cc">嵌入式</font></a>Linux的用户从2001年的11％增到2002年27％，而同期Vxwork只是从16％到18％，Win CE从9％到14％。另外，在<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="113"><font color="#0033cc">嵌入式</font></a>Linux的各种应用市场中，通信(语音和数据)名列第一，2000年的销售额是1300万美元，而2005年预计将达到1.26亿美元，可以预见，<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="114"><font color="#0033cc">嵌入式</font></a>Linux将在未来的通信用<a class="jt" href="http://www.eeworld.com.cn" rel="http://www.eeworld.com.cn/my/keyad/ad_content_01.html" target="_blank" jquery1260751341334="115"><font color="#0033cc">嵌入式</font></a>操作系统中占据强有力的地位。
<script type="text/javascript">
function ImgZoom(Id)//重新设置图片大小 防止撑破表格
{
var w = $(Id).width;
var m = 650;
if(w < m){return;}
else{
var h = $(Id).height;
$(Id).height = parseInt(h*m/w);
$(Id).width = m;
}
}
window.onload = function()
{
var Imgs = $("content").getElementsByTagName("img");
var i=0;
for(;i<Imgs.length;i++)
{
ImgZoom(Imgs[i]);
}
}
       </script>]]></description></item></channel></rss>