505.嵌入式Linux操作系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章嵌入式Linux操作系统3.1Linux及其应用3.1.1Linux与Unix和GNU1.Linux的历史可以说Linux完全是一个互联网时代的产物,是在互联网上产生、发展和不断壮大起来的。1990年的秋天,芬兰学生LinusBenedictTorvalds正在赫尔辛基大学自行开发了一套保护模式下的操作系统,这就是Linux的原型。Linux第一次问世是在1991年10月5日,为0.02版。该版本首先发布在赫尔辛基大学的一台FTP服务器上,该服务器的管理员认为这个系统是Linus的Minix,于是将两个名字混起来当作存放该系统的目录名,就是Linux。1993年,Linux的第一个正式版本1.0版发布,并遵从GPL(GNUGeneralPubIicLicense)版权协议。1994年3月14日,Linux的第一个正式商业版本1.0版发布。1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由OpenLinux公司打包)符合POSIX标准。1998年后,Linux迅速在国内科研、教学机构流行开来。1999年相继出现了红旗Linux、TurboLinux等简体中文版Linux系统。2.Linux与Unix系统Linux的源头要追溯到最早的Unix。1969年,Bell实验室,在KenThompson,DennisRitchie共同努力下,诞生了最早的Unix。早期的Unix是用汇编语言编写的,但第三个版本用C重新设计。Unix系统正式发表于1974年,1975年成为真正的多用户分时系统。1980年,Bell实验室公布了VAXll/780系统平台的32位操作系统Unix32V。在Unix32V的基础上,Unix系统走上以AT&T和加州Berkeley分校为主的发展道路。1980年,Berkeley先后公布了UnixBSD4.0和UnixBSD4.1,1983年公布UnixBSD4.2,而AT&T在1982年、1983年发布了UnixsystemⅢ和UnixsystemV。几年之后,美国IEEE的POSIx委员会统一了Unix系统标准。经过多年发展,Unix从实验室走出来并成为了操作系统的主流,几乎每个主要的计算机厂商都有其自有版本的unix。直到今天,unix系统以其稳定、高效的性能在服务器高端市场中依然占有绝对优势。Unix是一个简单却非常优秀的操作系统模型。Linux系统最初以unix为原型,以实现POSIX标准作为其目标。Linux从unix的各个流派中不断吸取成功经验,接受unix的优点,抛弃unix的缺点,成为操作系统发展的热点。基于这个核心构建的Linux操作系统,也被Microsoft公司视为最强有力的竞争对手。3.Linux与自由软件运动Linux只是自由软件家族中的一员,是其中最具影响的成员之一。自由软件最早由美国麻省理工学院(MIT)的Richardstallman提出,自由软件的源代码应该拥有属于全人类的公共知识产权,应该在编写和使用程序的人员之间自由地传播,而不应该是商人谋求利益的手段。由此可见,自由软件不仅仅是个免费使用的问题,而主要是个版权的问题。4.Linux的发行版本当提到Linux时,一般是指Kernel,即内核,它是所有Linux操作系统的“心脏”。但仅Linux并不能成为一个可用的操作系统,还需要许多软件包、编译器、程序库文件、xWidow系统等。当Linux走向成熟时,一些人开始建立软件包来简化新用户安装和使用Linux的方法。这些软件包称为Linux发布或Linux发行版本(Distributions)。任何人都可以将Linux内核和操作系统的其他组成部分组合在一起进行发布。Linux操作系统在市场上有多种发行版本,它们并不都一样。所有的发行版本具有一样的Linux内核,内核包含着所有核心的操作系统功能以及网络协议栈。另外,它们都提供标准的工具、一系列的应用程序、一些打印的文档以及有限的技术支持。每种发行版都带有xwindow系统以及一个图形用户界面、WebServer、E—mailServer以及FTPServer。真正不同的地方在于其安装、配置、支持以及第三方应用。(1)RedHatLinuxRedHatLinux已经成为Linux市场中最重要的一员,主要是因为它提供了最优秀的安装程序以及先进的包管理程序。如果是第一次使用Linux,RedHat是最好的选择。RedHat因其包管理程序(RPM)而闻名,这是一个开放源码的程序,在其他许多发行版中也广泛应用。RPM使安装和反安装应用变得安全,避免了程序冲突,甚至可以对内核本身进行升级而无须重装整个系统。相关资源站点:.redhat.com,ftp.redhat.tom/pub。(2)DebianGNU/LinuxDebianGNU/Linux在主要的发行版中是惟一仍由一群志愿的程序员开发的。该版本许多强有力的特性,成为黑客中流行的选择。Debian被认为是最难安装的发行版。当完成安装后,Debian包含的XWindow可以使工作稍微容易一些。该发行版最大的卖点在于包括一个可选的包管理——DebianPackageanagementSystem,它可以在安装之前对新的应用程序进行扫描,并且检查系统现有的配置情况,以决定所需安装的包,以免发生冲突。Debian由LinuxPress发行。相关资源站点:.corn,ftpdebianorg。目前,RedHat发行版本的安装更容易,应用软件更多,已成为最流行的Linux发行版本。中文化的Linux发行版本也有很多,国内自主建立的如BluePointLinux、FlagLinux、XtermLinux以美国的XLinux、TurboLinux等。这些发行版本大多对安装及使用界面进行了部分汉化。每种发行版本都有其各自的优点和弱点,但它们都提供相对完整的应用软件及帮助文档,都使用相同的内核和开发工具,都使用同一个名称——Linux系统。3.1.2Linux的特点Linux是Unix操作系统的克隆,可以免费使用,遵循GPL声明,可以自由修改和传播。可以说,与Windows等商业操作系统不同,Linux完全是一个自由的操作系统。Linux包含了人们希望操作系统拥有的所有功能特性,这些功能包括真正的多任务、虚拟内存、世界上最快的TCP/IP驱动程序、共享库和多用户支持。Linux是类Unix操作系统。按照层次结构的观点,在同一种硬件平台上,Linux可以提供与Unix相同的服务,即相同的用户级和程序员级接口。同时,Linux绝不是简化自Unix,相反,它是强有力和具有创新意义的Unix操作系统。它不仅继承了Unix的特征,而且在许多方面超过了Unix。Linux兼容POSIXl003.1标准,具有下列特点:多任务支持。多用户支持。多处理器支持。跨平台支持。Linux可在几乎所有常见的硬件体系结构上运行,从PC机到Alpha工作站。按需调入执行。只有实际执行中需要的程序块才会被装入到内存中。分页机制。Linux将一个不常使用的4KB大小内存页面中的数据置换到外存上,并将需要的数据页面由外存调入内存中。动态外存缓存。在内存中保留一块空间作为外存操作的缓存。Linux中可以动态地调整缓存的大小。共享库支持。开放性。Linux遵循IEEEPOSIX标准。Linux自从1.2版本起就开始完全支持POSIXl003.1。与国际标准接轨使得Linux在界面上具有很强的通用性。设备独立性。设备独立性是指操作系统把所有外部设备统一当作文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道其具体存在形式。多种不同格式可执行文件支持。可靠的系统安全。Linux采取了许多安全技术措施,包括对读/写进行权限控制、带保护的子系统、审计跟踪、核心授权等。支持不同种类的文件系统。在Linux中最常使用的是其系统自带的ext2/ext3文件系统。此外,MSDOS、VFAT、NTFS、AFF、HPFS。丰富的网络功能。完善的内置网络是Linux的一大特点。*支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件。*文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。*远程访问是其网络功能之三。对于网络上的嵌入式系统(有网络支持的嵌入式系统),Linux支持NFS(NetworkFileSysterm)。这在软件开发过程中是很重要的。举例来说,工程师可以在本地编辑程序,交叉编译后,不需要烧录到嵌入式Linux系统中即可通过NFS直接运行。良好的用户界面。Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即Shell,它既可以联机使用,又可存在文件上脱机使用。Shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序。这个程序可以单独运行,也可以与其他程序同时运行。系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等功能,给用户呈现一个直观、易操作、交互性强的图形化界面。健壮性。Linux系统已经在真实世界中被广泛地运用和执行,时间证明它是一种可靠性和健壮性非常高的系统。它的Bug总是可以很快被发现,然后很快被解决。而对于许多源代码不公开的商业操作系统,即使发现了Bug也只能忍受漫长的等待修正Bug的时间。Bug的出现,往往是对操作系统(包括Linux)的错误理解和使用,而不是操作系统本身的纯代码Bug或基本设计错误。Linux的优点就在于其源码是公开的,并有很好的注释和完整的文档说明,从而也就拥了控制与解决一切问题的能力基础。当然,嵌入式Linux也有它的不足。例如,它很占内存,尽管不比一些商业竞争者的情况坏。一般可以通过削减一些不必要的功能来改善。但这样做也有可能得不偿失,因为很可能会产生比较严重的Bug。缺乏商业级的调试工具,如WindRiver公司的TornadoIDE开发环境。调试仍然是以打印语句printk()为主;低等级、内核级的调试工具仍然不是很好用;内核调试器kgdb会使人感到很不适应,而常要重新启动等等。大量的高级程序设计语言已移植到Linux系统上,Linux还有许多独到之处:它的源代码几乎全部都是开放的。它可以运行在许多硬件平台上。它不仅可以运行许多自由发布的应用软件,还可以运行许多商品化的应用软件。目前有越来越多的应用程序厂商(如Oracle、Infomix、Sybase、IBM等)专持Linux。强大的网络功能。Linux诞生、成长于网络,自身的网络功能相当强大,具有内置的TCP/IP协议栈,可以提供FTP、Telnet、等服务。Linux系统能充分发挥硬件的功能,因而它比其他操作系统的运行效率更高,非常适用于嵌入式系统。因此,Linux以其特有的性能、功能和可用性有着广泛的应用前景。3.1.3Linux的应用及发展1.开发模式软件工程的发展,实现了软件的工程化生产——在经过详细的需求分析之后,进入设计阶段,然后是实现、测试等等,整个过程有严格的工作流程、时问限制和质量控制。这样的开发模式强调的是统一规划,集中管理。自由软件的开发过程完全是另一种情形。一大批广泛分布于世界各地的软件爱好者,以互联网为纽带,同时参与一个软件开发项目。一个初步工作的软件雏形首先发布出来,然后大家同时开始工作,分别结合自己的实际经验和需要,寻找软件中的漏洞,提出改进意见,发布在互联网上,很快,发现了漏洞,提出改进方案,给出补丁。经过分头修整,这个软件好像滚雪球一样,以很快的速度不断完善。在这样的开发模式中,程序员是

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功