谁有嵌入式LINUX系统的资料?谢谢大家!

我给你找了两份材料。看看能不能帮到你一点。

嵌入式Linux系统的设计与应用

摘要:随着嵌入式Linux系统的快速发展,嵌入式Linux已经发展成为嵌入式操作系统的一个重要分支。本文介绍了嵌入式Linux的设计和几种流行的嵌入式Linux系统。

关键词:嵌入式Linux

一.导言

嵌入式系统是根据应用需求将操作系统和功能软件集成到计算机硬件系统中,从而实现软硬件一体化的计算机系统。嵌入式系统出现于20世纪60年代末。最初用于控制机电电话交换机,现在已广泛应用于工业制造、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费品等诸多领域。嵌入式系统的数量远超各类通用计算机系统:计算机系统的核心CPU,全球年产量约20亿个,其中80%以上用于各类高度专业化的嵌入式系统。

一般来说,任何带有微处理器的专用软硬件系统都可以称为嵌入式系统。与通用计算平台相比,嵌入式系统往往具有功能单一、体积小、功耗低、可靠性高、可裁剪性好、软硬件集成度高、计算能力相对较低等特点。多年来,嵌入式设备中没有操作系统,主要有两个原因:一是洗衣机、微波炉、冰箱等设备只需要一个简单的控制程序来管理有限的几个按钮和指示灯,不需要使用操作系统;其次,它往往只有有限的硬件资源,不足以支撑一个操作系统。

但是随着硬件的发展,嵌入式系统变得越来越复杂,很多功能逐渐加入到初始的控制程序中,而这些功能很多是操作系统可以提供的。于是,70年代末出现了嵌入式操作系统,大大简化了应用程序的设计,有效保证了软件的质量,缩短了开发周期。简单ES一般不使用操作系统,只包含一些控制进程。但是随着嵌入式操作系统复杂度的增加,简单的进程控制已经不能满足系统的要求,需要考虑使用操作系统作为系统软件。因此,嵌入式操作系统应运而生。

随着EOS的广泛应用,业界推出了一些成功的EOS产品。综上所述,EOS应该具备以下特点:紧凑、实时、可拆卸、代码固化、交互弱、稳定性强、界面统一。目前应用最广泛的EOS产品有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(国内凯斯集团自主研发)等。其中Vxwork应用最广,市场份额最高。其突出特点是实时性强(优先级抢占和轮换调度)。此外,它的可靠性和可扩展性相当好。QNX是一个扩展性很强的系统,它的内核不到一万亿,具有实时POSIX环境和完整的窗口系统。相比之下,微软WinCE的内核庞大,实时性能差强人意。但由于Windows系列友好的用户界面和程序员熟悉的API,以及与IE、Office等应用的捆绑,正逐渐获得更多的市场份额。与这些商业操作系统相比,Linux吸引了越来越多的关注。

二,嵌入式Linux概述

Linux是一个成熟稳定的网络操作系统。将Linux植入嵌入式设备有很多好处。首先,Linux的源代码是开放的,任何人都可以获取并修改它来开发自己的产品。其次,Lirmx是可以定制的,它的最小系统内核只有134kB左右。一个中文系统和图形用户界面的核心程序也可以小于1MB,同样稳定。此外,它与大多数Unix系统兼容,应用程序的开发和移植相当容易。同时,由于其良好的可移植性,人们已经成功地使Linux运行在数百种硬件平台上。

但是Linux并不是专门为实时应用设计的,所以如果要在实时性要求很高的嵌入式系统中运行Linux,就必须给它添加实时软件模块。这些模块运行的内核空间是操作系统实现进程调度、中断处理和程序执行的部分,因此错误的代码可能会破坏操作系统,从而影响整个系统的可靠性和稳定性。Linux以其诸多优点在嵌入式领域得到了广泛的应用,出现了相当数量的嵌入式Linux系统。代表性的有:uClinux,ETLinux,ThinLinux,LOAF等。ETLinux通常用于小型工业计算机,尤其是PC/104模块。ThinLinux面向专用相机服务器、X-10控制器、MP3播放器和其他类似的嵌入式应用。LOAF是Linux on a flop的缩写,运行在386平台上。

三,Linux作为嵌入式操作系统的优势

Linux作为嵌入式操作系统的优势如下:

1,可适用于多种硬件平台。Linux已经移植到各种硬件平台上,这对于资金和时间有限的研发项目来说非常有吸引力。原型在标准平台上开发后可以移植到具体的硬件上,加快了软硬件的开发进程。Linux使用统一的框架来管理硬件,从一个硬件平台到另一个硬件平台的变化与上层应用无关。Linux可以随意配置,不需要任何许可或商业合作关系,源代码可以免费获得。这使得采用Linux作为操作系统而没有任何关于版权的争议成为可能。毫无疑问,这将节省大量的开发成本。内置网络支持,但是嵌入式系统对网络支持的要求越来越高。Linux的高度模块化使得添加组件非常容易。

2.Linux是一个类似Unix的通用操作系统,基于内核,有完整的内存访问控制,支持大量硬件(包括X86、Alpha、ARM、摩托罗拉)。它的程序源代码是完全开放的,任何人都可以在GNU通用公共许可证下修改和发布它。通过这种方式,开发者可以定制操作系统以满足他们的特殊需求。

3.Linux有完善的Unix用户熟悉的开发工具,Unix系统的应用软件几乎都移植到了Linux上。Linux还提供了强大的网络功能,有多种可选的窗口管理器(X Windows)。其强大的语言编译器GCC和C++也可以轻松获得,不仅成熟完善,而且使用方便。

第四,嵌入式Linux的建立

一个完整的嵌入式Linux解决方案应该包括嵌入式Linux操作系统内核、运行环境、图形界面和应用软件。由于嵌入式设备的特殊要求,嵌入式Linux解决方案的内核、环境和GUI与标准Linux有很大不同。主要挑战是如何在窄FLASH、ROM、内存中实现高质量的实时任务调度、图形显示、网络通信等功能。

1,瘦内核

Linux内核有自己的体系结构,其中进程管理、内存管理和文件系统是其最基本的三个子系统。图1简单展示了它的框架。用户进程可以通过系统调用或函数库直接访问内核资源。因为Linux内核有这样的结构,所以在修改内核的时候要注意子系统之间的协调。

嵌入式Linux内核一般是从标准Linux内核切割而来。用户可以根据自己的需要配置系统,消除不必要的服务功能、文件系统和设备驱动程序。经过裁剪压缩后,系统内核一般只有300k左右,非常适合嵌入式设备。与标准Linux不同,嵌入式Linux必须从FLASH或rom启动。标准的Linux启动代码实现了系统初始化和从软盘和硬盘O区引导内核。嵌入式Linux一般存储在FLASH或ROM中,标准LILO无法引导。在支持从FLASH设备直接引导的系统中,如华恒公司的uClinux,引导程序主要完成硬件系统的初始化和操作系统的解压和移位。在不支持直接从闪存引导的系统中,闪存设备只能用作非引导磁盘。此时,可以先从硬盘或软盘加载一个小的操作系统,比如嵌入式DOS,然后执行“Loadlin”加载程序,从FLASH引导嵌入式Linux。

标准Linux的修改主要是虚拟内存和调度程序的修改。由于标准Linux系统使用虚拟内存管理的目的是同时运行多个进程,每个待运行进程分配的CPU时间是有限的,资源的利用效率较低。这样,对于实时性要求较高的嵌入式系统,实时任务往往要求CPU具有较高的突发处理能力,即在某些情况下需要较高的处理效率,因此需要屏蔽内核的虚拟内存管理机制。对于没有硬盘设备的嵌入式系统,虚拟内存管理是不必要的。对实时性要求强的嵌入式应用,可以通过修改任务调度模块来实现,主要是在内核和设备驱动中增加很多切换点。此时,系统检测是否有未处理的紧急中断,如果有,则剥夺内核运行,并及时处理中断。实现实时服务更好的方法是在标准的Linux内核中增加一个实时内核。标准的Linux内核作为任务运行在实时内核上,强实时任务也直接运行在实时内核上,比如RT-Linux。

文件系统对于嵌入式Linux操作系统至关重要。而标准的Linux支持大量的文件系统,所以除了一个满足系统正常运行需要的,其他都可以删除,可以使用原来的设置选项删除。通用嵌入式设备文件系统主要采用RamDisk技术和网络文件系统技术。RamDisk可以驻留在闪存中,并在运行时加载到内存中。

2.简化操作环境

Linux通常的运行环境是指用户运行任何应用的基础设施,主要包括函数库和基本命令集。标准Linux系统为用户提供了静态和动态函数库。静态函数库在生成应用程序时直接链接到用户应用程序。动态库仅在应用程序运行时链接。因为嵌入式系统应用一般都是在开发平台上预先生成的,所以嵌入式系统只需要给应用提供动态函数库就可以了。Linux应用运行所需的函数库主要有C库、数学库、线程库、加密库、网络通信库等。最基础的是glib,C语言的运行时。这个库主要完成基本的输入输出、内存访问和文件处理。一个标准的glib库需要大约1200kB的存储空间。考虑到嵌入式Linux内核往往很小,运行时过大,我们做了一些精简工作。有两种方法:(1),使用静态连接方法,完全不使用运行时动态连接;(2)简化本库的功能。

在桌面系统上,使用动态连接可以带来很多好处。使用动态链接库,应用程序可以脱离函数库的更新升级,方便维护,让多个同时运行的程序享受一段代码。但是在嵌入式系统中,多个程序并行的可能性很小,程序的维护,尤其是库函数的维护和更新并不常见。这时候使用静态连接的优势就极其明显了。因为静态连接只能将库中使用的部分连接到程序中。在应用较少(少于5个)的情况下,静态连接可以达到更好的效果。为了满足未来扩展的需要,我们也采用第二种方法,精简库函数的内容只保留一些基本的函数,另一种方法是采用其他C语言运行时库。但是这些库对兼容性影响很大。

基本命令集也是运行用户应用的基础,主要包括初始化进程init、终端get Getty、Shell和基本命令。嵌入式系统的启动过程可能与标准Linux不同,比如跳过登录过程,直接启动GUI。这需要修改init、getty等。由于大小问题,标准的Linux命令集不能直接应用于嵌入式环境。目前,小命令集的解决方案主要有两种:集成法和组装法。集成方法通过集成公共部分降低了命令集的整体体积,用C实现,具有良好的平台可移植性;汇编方法使用汇编编程来减少每个命令的大小,可以使大小非常小但其平台可移植性差。

3.嵌入式Linux下的图形用户界面。

GUI在嵌入式系统或实时系统中发挥着越来越重要的作用,如PDA、DVD播放器、WAP手机等。,这些都需要一个完整美观的图形用户界面。这些系统对GUI的基本要求包括:(1)、重量轻、资源少;(2)高性能;(3)可靠性高;(4)可配置。这些也成为评价嵌入式系统的重要指标。目前嵌入式Linux上的GUI主要有winCE、Micro Window、compact X Window和MiniGUI(国内做得比较好的免费软件之一)。标准Xfree86由于体积庞大,对运行环境要求高,无法在嵌入式环境下运行。嵌入式GUI主要通过减少功能和性能来达到体积小、占用资源少的目的。目前,嵌入式Linux上的GUI环境主要有两类:X类和win32类。x类GUI分为服务端和客户端。服务器提供鼠标键盘处理和显示功能,客户端是用户应用程序,服务器和客户端通过socket接口用X协议进行通信。使用这种方法非常有利于远程网络图形服务,客户端和服务可以通过网络实现X协议和图形显示。典型的X型GUI包括微窗口、紧凑X窗口等等。win32类的GUI没有客户端和服务器,每个任务都是独立的,任何任务之间的切换和事件分发都由专门的管理任务来处理。WiCE和MiniGUI是类似于win32类GUI。

五、几种流行的嵌入式Linux系统。

除了智能数字终端领域,Linux在移动计算平台、智能工业控制、金融终端系统,甚至军事领域都有广阔的应用前景。这些Linux统称为“嵌入式Linux”。

1、RT-Linux

这是墨西哥理工学院开发的嵌入式Linux操作系统。到目前为止,RT-Linux已经成功应用于航天飞机的空间数据采集、科学仪器测控、电影特技图像处理等广泛领域。RT-Linux开发者没有根据实时操作系统的特点重写Linux的内核,因为这是一个巨大的工作量,而且很难保证兼容性。为此RT-Linux提出了精致内核,将标准Linux内核作为实时内核的一个进程,与用户的实时进程一起调度。这样对Linux内核改动很小,充分利用了Linux下已有的丰富软件资源。

2、uClinux

UCLinux是Lineo公司的主打产品,也是开源嵌入式Linux的典范。UCLinux主要是为目标处理器没有内存管理单元(MMU)的嵌入式系统设计的。已经成功移植到很多平台。因为没有MMU,所以它的多任务实现需要一些技巧。UCLinux是一个优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它继承了标准Linux的优秀特性,经过各方面的小型化改造,形成了一个高度优化、紧凑的嵌入式Linux。虽然它的体积很小,但仍然保留了Linux的大部分优点:稳定性、良好的可移植性、优秀的网络功能、对各种文件系统的完整支持以及丰富的API标准。它为嵌入式系统做了大量的小型化工作,现在已经支持多种CPU。编译后的目标文件可以控制在几百KB的量级,并且已经成功移植到很多平台上。

3、Embedix

Embedix由嵌入式Linux行业主要厂商之一的Luneo推出,是根据嵌入式应用系统的特点重新设计的Linux发行版。Embedix提供超过25种Linux系统服务,包括Web服务器。该系统至少需要8MB内存、3mb ROM或闪存。Embedix基于Linux 2.2内核,已成功移植到Intel x86和PowerPC处理器系列。和其他Linux版本一样,Embedix是免费的。Luneo还发布了另一个重要的软件产品,它使运行在Windows CE上的程序能够在Embedix上运行。Luneo还将计划推出Embedix的开发和调试工具包以及一款基于图形界面的浏览器。可以说Embedix是一个完整的嵌入式Linux解决方案。

4、Xlinux

XLinux由美国Nettiger公司推出,主要开发者是陈盈豪。加入NetTiger几个月后,他开发了基于XLinux的嵌入式Linux系统,据称是世界上最小的系统。内核只有143KB,而且还在减少。XLinux内核采用了“超级字符集”专利技术,使得Linux内核不仅兼容标准字符集,还覆盖了1 ^ 2个国家和地区的字符集。因此,XLinux在推动Linux的国际应用方面具有独特的优势。

5、PoketLinux

议程公司采用的嵌入式Linux操作系统作为其新产品“VR3PDA”。它可以提供一个统一的、标准化的、开放的跨操作系统的信息和通信基础设施,以及在这个结构上实现端到端解决方案的完整平台。PoketLinux资源框架是开放的,因此通用的软件结构可以为所有用户提供一致的服务。PoketLinux平台将用户的目光从设备、平台和网络上移开,这导致了一个新的信息技术时代的出现。在PoketLinux中,它被称为定制信息交换(CIE),即提供和访问为每个用户的需求定制的“主题”信息的能力,而不管使用的是什么设备。

6、米多利奴

Transmeta公司推出的MidoriLinux操作系统是开放的,在GUN通用公共许可证(GPL)下发布,可以在互联网上立即获得。该公司有一个项目叫做“MidoriLinux”。“MidoriLinux”这个名字来源于日语“绿色”——美岛莉,用来体现其Linux操作系统的环保外观。

7.红旗嵌入式Linux

北京中科院红旗软件公司推出的嵌入式Linux是国内比较好的嵌入式操作系统。目前,中科院计算所开发的开源嵌入式操作系统Easy Embedded OS (EEOS)也已进入实用阶段。这个嵌入式操作系统主要支持p-Java。系统的目标一方面是小型化,另一方面可以重用Linux驱动和其他模块。依托中科院计算所强大的科研力量,EEOS有望发展成为功能齐全、稳定可靠的国产嵌入式操作系统平台。

不及物动词结束语

由于Linux是一个内核源代码开放、工具链齐全、网络支持强大、成本低廉的操作系统,嵌入式Linux从诞生之日起就继承了这些独特的优势,使其受到越来越多的关注。Even Data数据显示,预期使用嵌入式Linux的用户数量从2006年的11%增长到2002年的27%,而同期Vxwork仅从16%增长到18%,Win CE从9%增长到14%。另外,在嵌入式Linux的各种应用市场中,通信(语音和数据)位居第一,2000年销售额为13万美元,预计2005年将达到126万美元。可以预见,嵌入式Linux将在未来的通信嵌入式操作系统中占据强势地位。

Linux是目前非常流行的操作系统。它最早是由芬兰赫尔辛基大学的大学生Linus B. Torvolds于1991年编制的。标志性图标是一只可爱的小企鹅

Linux是一个类似Unix的系统,Linus编写它是为了取代一个叫做Minix的操作系统。Minix是由一位名叫Andrew Tannebaum的计算机教授编写的。当时由于Unix是商业软件,其源代码不能用于教学,安德鲁教授自己编写了一个系统用于教学。最

初始Minix可以安装在软盘上。虽然麻雀虽小五脏俱全,但Minix具有通用操作系统的特点,同时也兼容Unix系统。

Linux是一个免费的操作系统,用户可以免费获得它的源代码,并可以随意修改。它是GPL(通用公共许可证)保护下的自由软件,有多个版本,如Red Hat Linux、Slackware、中国的Xteam Linux等。

Linux具有Unix系统的许多功能和特点,可以兼容Unix,但不需要为Unix支付高额费用。例如,一个Unix程序员可以在工作中使用Unix系统,他可以在家里的Linux系统上做同样的工作,而不必再次购买Unix。要知道Unix的价格比常见的Windows高好几倍,和Linux的低价差远了。

Linux也被广泛使用。索尼最新的PS2游戏机使用Linux作为系统软件,这使得PS2成为一个Linux工作站。著名电影《泰坦尼克号》的数字技术合成就是利用100多台Linux服务器完成的。

2006 54 38+0 17年8月,Linux发布了最新版本的Linux 2.4.9,也是十年了。

Linux的优势

Linux很受欢迎,因为它有许多吸引人的地方。

1,完全免费

Linux是一个免费的操作系统,用户可以通过网络或其他渠道免费获得,并且可以随意修改其源代码。这是其他操作系统无法企及的。也正因为如此,无数来自世界各地的程序员参与了Linux的修改和编写,程序员可以根据自己的兴趣和灵感进行修改。这让Linux吸收了无数程序员的精华,发展壮大。

2.完全兼容POSIX 1.0标准。

这使得在Linux下通过相应的模拟器运行常用的DOS和Windows程序成为可能。这为用户从Windows转到Linux奠定了基础。很多用户在考虑使用Linux的时候,都想着Windows下的常用程序是否能正常运行,消除了他们的疑虑。

3、多用户、多任务

Linux支持多用户,每个用户对自己的文件设备都有自己特殊的权限,保证了每个用户之间互不影响。多任务处理是现在计算机最重要的特征之一。Linux可以让多个程序同时独立运行。

4.良好的界面

Linux既有字符界面,也有图形界面。在字符界面中,用户可以通过键盘输入相应的指令进行操作。它还提供了一个类似Windows的图形界面的X-Windows系统,用户可以用鼠标进行操作。在X-Windows环境下,就像在Windows中一样,可以说是Linux版的Windows。

5.丰富的网络功能

互联网在Unix的基础上蓬勃发展,Linux的网络功能当然也不逊色。它的网络功能与其内核紧密相连,Linux在这方面优于其他操作系统。在Linux下,用户可以轻松实现网页浏览、文件传输、远程登录等网络工作。并且可以用作服务器来提供诸如WWW、FTP和电子邮件之类的服务。

6.安全稳定可靠。

Linux采取了很多安全技术措施,包括读写的访问控制、审计追踪、核心授权等技术,都提供了安全性。Linux需要应用在网络服务器上,这也需要很高的稳定性。其实Linux在这方面也很优秀。

7.支持多种平台

Linux可以运行在多种硬件平台上,例如采用x86、680x0、SPARC、Alpha等处理器的平台。另外,Linux是嵌入式操作系统,可以运行在PDA、机顶盒或游戏机上。2006 54 38+0 6月发布的Linux版内核已经能够全面支持Intel 64位芯片架构。Linux也支持多处理器技术。多个处理器同时工作,大大提高了系统性能。

Linux的缺点

因为在目前的个人电脑操作系统行业中,微软的Windows系统仍然占据了大部分份额,大部分软件公司都支持Windows。这就使得Windows有各种各样的应用软件,而其他操作系统就比较少。很多用户在更换操作系统时会考虑之前的软件是否可以继续使用,更换操作系统后是否会不方便。虽然Linux有DOS和Windows模拟器,可以运行一些Windows程序,但是Windows系统极其复杂,模拟器模拟的运行环境无法与真实的Windows环境完全相同,导致一些软件无法正常运行。

很多硬件设备也缺少Linux的驱动,很多硬件厂商推出Windows版本的驱动后才写Linux版本。不过一些大的硬件厂商在这方面做的还是不错的,他们的Linux驱动一般都会及时推出。

缺少软件支持是Linux最大的短板,但是随着Linux的发展,会有越来越多的软件厂商支持Linux,其应用范围也越来越广。这只小企鹅的未来非常光明。