从实践中学嵌入式Linux操作系统(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-22 12:28:03

点击下载

作者:华清远见嵌入式学院

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

从实践中学嵌入式Linux操作系统

从实践中学嵌入式Linux操作系统试读:

内容简介

本书介绍了操作系统的几大组成部分,并以嵌入式开发领域中的主流Linux操作系统为例说明了各功能的实现。

全书共分为11章,内容包括嵌入式Linux操作系统的基本概念,Linux系统的安装与使用,操作系统的存储管理、进程管理、文件管理、设备管理等几个核心模块,其中涉及对Linux内核代码的部分分析介绍。其中,第10章综合介绍了开发嵌入式Linux系统的全过程,包括建立开发环境、编译Bootloader、编译内核、部署根文件系统等全过程;第11章介绍了以Linux为内核的Android系统的编译和移植方法。

本书可作为大学院校电子、通信、自动化、计算机等专业“嵌入式操作系统”课程的教材,也可供嵌入式Linux爱好者参考使用。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据从实践中学嵌入式Linux操作系统/华清远见嵌入式学院编著.—北京:电子工业出版社,2012.3高等院校嵌入式人才培养规划教材ISBN 978-7-121-15875-9Ⅰ.①从… Ⅱ.①华… Ⅲ.①Linux操作系统-高等学校-教材 Ⅳ.①TP316.89中国版本图书馆CIP数据核字(2012)第021860号策划编辑:胡辛征责任编辑:李云静特约编辑:赵树刚印  刷:三河市鑫金马印装有限公司装  订:三河市鑫金马印装有限公司出版发行:电子工业出版社     北京市海淀区万寿路173信箱 邮编 100036开  本:787×1092 1/16  印张:19.25 字数:493千字印  次:2012年3月第1次印刷印  数:4000册  定价:39.80元

凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。

质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。

服务热线:(010)88258888。

推荐序

移动与云计算的发展推动了越来越多的新技术、新应用和新产品的涌现,推动了嵌入式电子产品世界的不断更新和快速发展。作为嵌入式行业最著名的厂商之一,20多年来ARM除了不断地加大研发投资,开发最新的微处理器、图形技术、物理IP和开发工具,为产业升级搭建了最佳的开发架构;同时,也一直致力于建设一个开放的、具有强大生命力和发展前景的ARM嵌入式生态系统,使得每个存在于这个生态系统的成员都能发挥各自的特长,通过有效的产业分工和协作开发出高性能、低功耗、人性化的嵌入式产品服务于广大的消费者。

在这个生态系统中,嵌入式操作系统是必不可少的重要环节,是“链接”底层硬件和上层应用软件的纽带。其中,Linux作为开源的嵌入式操作系统,多年来一直受到广大工程师朋友的喜爱,特别是在基于Linux内核的Android操作系统发布以来,Linux的应用和发展到了一个崭新的高度。ARM作为应用最广泛的嵌入式处理器,对Linux操作系统的发展也做出了大量的支持与贡献。吴雄昂ARM中国区总经理前 言

在今天所处的大时代背景下,嵌入式、3G、物联网、云计算俨然已经成为信息产业的主旋律,不管是从政府大力扶持,还是从产业变革来说,这股潮流早已势不可当。而嵌入式系统正是这些产业应用技术中最核心的部分。随着智能化电子行业的迅猛发展,嵌入式行业更是凭借其“应用领域广、人才需求大、就业薪资高、行业前景好”等众多优势,成为当前最热门、最有发展前途的行业之一,与此同时,嵌入式研发工程师更是成为IT职场的紧缺人才。因此,近几年来,各院校纷纷开设嵌入式专业课程。但是,各院校在嵌入式专业教学建设的过程中几乎都面临教材难觅、内容更新迟缓的困境。虽然目前市场上嵌入式开发相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合高校的教学要求。

针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关岗位的真实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了数十所开设“嵌入式工程技术”专业的院校课程设置情况、学生特点和教学用书现状。通过细致的整理和分析,对专业技能和基本知识进行了合理划分,编写了这套高等院校嵌入式人才培养规划教材,包括:《从实践中学ARM嵌入式体系结构与接口技术》 。《从实践中学嵌入式Linux操作系统》 。《从实践中学嵌入式Linux C编程》 。《从实践中学嵌入式Linux应用程序开发》 。

本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。 《从实践中学ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,根据各院校的教学重点和行业实际应用情况,编写了《从实践中学嵌入式Linux操作系统》 ;考虑到嵌入式专业对学生C语言能力要求较高,编写了《从实践中学嵌入式Linux C编程》 ,可作为“C语言基础”课程的后续提高课程使用; 《从实践中学嵌入式Linux应用程序开发》则重点突出了贯穿前面所学知识的实训内容,供“嵌入式Linux应用开发”课程使用。

操作系统是计算机系统中最重要的系统软件,是计算机科学与技术相关专业的核心课程。操作系统课程中涉及的概念、原理是嵌入式开发人员的必备知识。而在学习过程中,由于操作系统理论本身比较深奥,是计算机专业中较难的一门课程。加之以往的操作系统教学多以理论传授为主,学生很少研究操作系统源代码,所以往往在学习中只掌握了一些简单的概念,对操作系统的基本原理没有理解透彻,学习效果不好。本书从原理和编程实现两个方面讲解操作系统科学,旨在帮助学生加深对操作系统原理的理解。主要以Linux操作系统为例,分别说明了操作系统中有关进程管理、内存管理、文件管理、设备管理等几大核心功能。

全书共分为11章,内容主要包含两大部分:一部分是操作系统原理相关内容,主要讲解操作系统的原理和Linux实现,包括第4章“存储管理” 、第5章“操作系统进程” 、第6章“进程间通信” 、第7章“中断与系统调用” 、第8章“文件管理” 、第9章“设备管理” 。这些章节完整地介绍了当代操作系统应有的功能;另一部分内容注重实用性,讲解嵌入式Linux操作系统的使用与开发方法,包括第1章“嵌入式Linux操作系统简介” 、第2章“Linux操作系统使用与系统配置” 、第3章“嵌入式Linux编程环境” 、第10章“嵌入式Linux的构建”及第11章“Android系统的编译和移植” 。

本书由华清远见嵌入式学院资深讲师曹忠明、程姚根编著并统校全稿。在此还要感谢华清远见嵌入式学院,教材内容参考了学院与嵌入式企业需求无缝对接的、科学的专业人才培养体系。同时,嵌入式学院从业或执教多年的行业专家团队也对教材的编写工作作出了贡献,刘洪涛、曾宏安、季久峰、温尚书、贾燕枫、方琳琳、沈静、冯瑜、杨曼、王利丽、李媛媛、张丹、刘晶晶、王丽丽、谭翠君、关晓强、王彦红、裴慧等老师在书稿的编写过程中认真阅读了所有章节,提供了大量在实际教学中积累的重要素材,对教材结构、内容提出了中肯的建议,并在后期审校工作中提供了很多帮助,在此表示衷心的感谢。

由于编者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批评和建议,可以发到www.embedu.org技术论坛。编 者2012年1月第1章 嵌入式Linux 操作系统简介

在所有的操作系统中,Linux是一个发展最快、应用最为广泛的操作系统,其本身的种种特性使其成为嵌入式开发中的首选。在进入市场的初期,嵌入式Linux设计通过广泛应用获得了巨大的成功。随着嵌入式Linux的成熟,它提供更小的尺寸和更多类型的处理器支持,并从早期的试用阶段迈入嵌入式的主流,抓住了电子消费类设备的开发者们的想象力。1.1 操作系统

操作系统(Operating System,OS)是电子计算机系统中负责支撑应用程序运行环境及用户操作环境的系统软件,同时也是计算机系统的核心与基石。它的职责包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理,以及提供诸如作业管理之类的面向应用程序的服务等。

根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为3种基本类型,即批处理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了许多种操作系统,包括嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统等。

1.批处理操作系统

批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流;然后启动操作系统,系统自动、依次执行每个作业;最后由操作员将作业结果交给用户。

批处理操作系统的特点是:多道和成批处理。

2.分时操作系统

分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果,用户根据上一步结果发出下一条命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性,是指同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU;交互性,是指用户根据系统响应结果进一步提出新请求(用户直接干预每一步);“独占”性,是指用户感觉不到计算机为其他人服务,就像整个系统为他所独占;及时性,是指系统对用户提出的请求及时响应。

常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求;“后台”处理时间性要求不强的作业。

3.实时操作系统

实时操作系统(Real Time Operating System,RTOS)是指使计算机能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调、一致地工作的操作系统。实时操作系统追求的目标是:对外部请求在规定的时间范围内做出响应,有高可靠性和完整性。

4.嵌入式操作系统

嵌入式操作系统(Embedded Operating System)是运行在嵌入式系统环境中,对整个嵌入式系统及其所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。

5.个人计算机操作系统

个人计算机操作系统是一种单用户多任务的操作系统,主要供个人使用,功能强、价格便宜,几乎可以在任何地方安装使用。它能满足一般人操作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是:计算机在某一时间内为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无须专门学习,也能熟练操作机器。

6.网络操作系统

网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信安全、资源共享和各种网络应用。其目标是相互通信及资源共享。

7.分布式操作系统

大量的计算机通过网络被连接在一起,可以获得极高的运算能力及广泛的数据共享,这种操作系统称为分布式操作系统(Distributed System)。

操作系统的主要功能简单总结为:操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求。1.2 嵌入式系统

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。

嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中,这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。

嵌入式系统一般包含嵌入式微处理器、外围硬件设备、嵌入式操作系统和应用程序4个部分。嵌入式领域已经有丰富的软硬件资源可以选择,涵盖通信、网络、工业控制、消费电子、汽车电子等各种行业。

嵌入式计算机系统与通用计算机系统相比具有以下特点。嵌入式系统是面向特定系统应用的。嵌入式处理器大多数是专门为特定应用设计的,具有低功耗、体积小、集成度高等特点,一般是包含各种外围设备接口的片上系统。嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各行各业。它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统的硬件和软件都必须具备高度可定制性,只有这样才能适应嵌入式系统应用的需要,在产品价格性能等方面具备竞争力。嵌入式系统的生命周期相当长。当嵌入式系统应用到产品以后,还可以进行软件升级,它的生命周期与产品的生命周期几乎一样长。嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。

在计算机后PC技术时代,嵌入式系统将拥有最大的市场。计算机和网络已经全面渗透到日常生活的每一个角落,各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人也将逐渐改变传统的工业和服务方式。

美国著名的未来学家尼葛洛庞帝在1999年访华时曾预言,四五年后嵌入式系统将是继PC和Internet之后最伟大的发明。这个预言已经成为现实,现在的嵌入式系统正处于高速发展阶段。1.3 嵌入式操作系统

嵌入式操作系统的一个重要特性是实时性。所谓实时性,就是在确定的时间范围内响应某个事件的特性。操作系统的实时性在某些领域是至关重要的,如工业控制、航空航天等领域。想象飞机正在空中飞行,如果嵌入式系统不能及时响应飞行员的控制指令,那么极有可能导致空难事故。有些嵌入式系统应用并不需要绝对的实时性,如PDA播放音乐,个别音频数据丢失并不影响效果。这可以使用软实时的概念来衡量。

据调查,目前全世界的嵌入式操作系统已经有两百多种。从20世纪80年代开始,出现了一些商用嵌入式操作系统,它们大部分是为专有系统而开发的。随着嵌入式领域的发展,各种各样的嵌入式操作系统相继问世,有许多商业的嵌入式操作系统,也有大量开放源代码的嵌入式操作系统,其中著名的嵌入式操作系统有:mC/OS、VxWorks、Neculeus、Linux和Windows CE等。下面介绍一些主流的嵌入式操作系统。

1.Linux

Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间) 。以后借助于Internet网,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。如图1.1所示是业内人士对国内Linux软件市场的预测。图1.1 2004~2008年国内Linux软件市场总量预测

根据IDC的报告, Linux已经成为全球第二大操作系统。预计在服务器市场上, Linux在未来几年内将以每年25%的速度增长,中国的Linux市场更是保持40%左右的增长速度。而在Linux操作系统方面,IDC对中国在2001~2006年的市场预测发现,其市场占有率从2001年的4.47%平稳地上升到2006年的26.77%。

嵌入式Linux版本还有多种变体,如RTLinux通过改造内核实现了实时的Linux;RTAI、Kurt和Linux/RK也提供了实时能力;mCLinux去掉了Linux的MMU(内存管理单元) ,能够支持没有MMU的处理器等。

2.mC/OS

mC/OS是一个典型的实时操作系统,该系统从1992年开始发展,目前流行的是第2个版本,即mC/OS-II。它的特点是:公开源代码,代码结构清晰,注释详尽,组织有条理,可移植性好;可裁剪,可固化;抢占式内核,最多可以管理60个任务。自从清华大学邵贝贝教授将Jean J. Labrosse的“μC/OS-Ⅱ:the Real Time Kernel”翻译后,在国内掀起了mC/OS-II的热潮,特别是在教育研究领域。该系统短小精悍,是研究和学习实时操作系统的首选。

3.Windows CE

Windows CE是微软的产品,它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。Windows CE采用模块化设计,并允许它对于从掌上电脑到专用的工控电子设备进行定制。操作系统的基本内核需要至少200KB的ROM。从SEGA的DreamCast游戏机到现在大部分的高价掌上电脑都采用了Windows CE。

随着嵌入式操作系统领域的竞争日益激烈,微软不得不应付来自Linux等免费系统的冲击。微软在Windows CE.Net 4.2版中,将增加一项授权价仅3美元的精简版本WinCE.Net Core。WinCE.Net Core具有基本的功能,包括实时OS核心(Real Time OS Kernel) 、档案系统;IPv4、IPv6、WLAN、蓝牙等联网功能;Windows Media Codec;.Net开发框架及SQL Server.ce。微软推出低价版本WinCE.Net,主要是看好语音电话、 WLAN的无线桥接器和个性化视听设备的市场潜力。

4.VxWorks

VxWorks是WindRiver公司专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源及实时的任务间通信。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。该系统主要应用在单板机、数据网络(以太网交换机、路由器)和通信等多方面。其核心功能主要有以下几方面:微内核wind。任务间通信机制。网络支持。文件系统和I/O管理。POSIX标准实时扩展。C++及其他标准支持。

这些核心功能可以与WindRiver系统的其他附件和Tornado合作伙伴的产品结合在一起使用。谁都不能否认这是一个非常优秀的实时系统,但其昂贵的价格使不少厂商望而却步。

5.QNX

QNX是一款实时操作系统,由加拿大QNX软件系统有限公司开发,广泛应用于自动化控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全防卫系统、POS机、零售机等任务关键型应用领域。20世纪90年代后期,QNX系统在高速增长的因特网终端设备、信息家电及掌上电脑等领域也得到了广泛应用。

QNX的体系结构决定了它具有非常好的伸缩性,用户可以把应用程序代码和QNX内核直接编译在一起,使之为简单的嵌入式应用生成一个单一的多线程映像。它也是世界上第一个遵循POSIX 1003.1标准从零设计的微内核,因此具有非常好的可移植性。

嵌入式操作系统的选择是前期设计过程的一项重要工作,这将影响到工程后期的发布及软件的维护。不管选用什么样的系统,首先应该考虑操作系统对硬件的支持,如果选择的系统不支持将来要使用的硬件平台,那么这个系统是不合适的;其次要考虑的是开发调试用的工具,特别是对于开销敏感和技术水平不强的企业来说,开发工具往往在开发过程中起决定性作用;最后要考虑的问题是,该系统能否满足应用需求。如果一个操作系统提供出来的API很少,那么无论这个系统有多么稳定,应用层也很难进行二次开发,这显然也不是开发人员希望看到的。由此可见,选择一款既能满足应用需求、性价比又可达到最佳的实时操作系统,对开发工作的顺利开展意义非常重大。1.4 嵌入式Linux基础

随着摩托罗拉手机A760、IBM智能型手表WatchPad、夏普PDA Zaurus等一款款高性能“智能数码产品”的出现,以及Motorola、三星、MontaVista、飞利浦、Nokia、IBM、SUN等众多国际顶级巨头的加入,嵌入式Linux的队伍越来越庞大,在通信、信息、数字家庭、工业控制等领域,随处都能见到嵌入式Linux的身影。

究竟是什么原因让嵌入式Linux发展如此迅速呢?又究竟是什么原因让它能与强劲的VxWorks、Window CE相抗衡呢?这一切还是要归根于它的“父亲”——Linux的功劳。可以说,嵌入式Linux正是继承和发展了Linux的诱人之处才走到今天的,而Linux也正是有了嵌入式Linux的广泛应用才使其更加引人瞩目。下面就从Linux开始,一层层揭开嵌入式Linux的面纱。1.4.1 Linux发展概述

简单来说,Linux是指一套免费使用和自由传播的类UNIX操作系统。人们通常所说的Linux是指Linus Torvalds所写的Linux操作系统内核。

当时的Linus还是芬兰赫尔辛基大学的一名学生,他主修的课程中有一门课是操作系统,而且这门课是专门研究程序的设计和执行。最后这门课程提供了一种称为Minix的初期UNIX系统。Minix是一款仅为教学而设计的操作系统,而且功能有限。因此,和Minix的众多使用者一样,Linus也希望能给它添加一些功能。

在之后的几个月里,Linus根据实际需要,编写了磁盘驱动程序以便下载访问新闻组的文件,又写了个文件系统以便能够阅读Minix文件系统中的文件。这样, “当你有了任务切换,有了文件系统和设备驱动程序后,这就是UNIX,或者至少是其内核” 。于是,0.0.1版本的Linux就诞生了。

Linus从一开始就决定自由传播Linux,他把源代码发布到网上,于是众多的爱好者和程序员通过互联网加入到Linux的内核开发工作中。这个思想与FSF(Free Software Foundation)资助发起的GNU(GNU’s Not UNIX)的自由软件精神不谋而合。

GNU是为了推广自由软件的精神以实现一个自由的操作系统,然后从应用程序开始,实现其内核。而当时Linux的优良性能备受GNU的赏识,于是GNU决定采用Linus及其开发者的内核。在他们的共同努力下,Linux这个完整的操作系统诞生了。其中的程序开发共同遵守General Public License(GPL)协议,这是最开放也是最严格的许可协议方式,这个协议规定了源代码必须可以无偿地获取并且修改。因此,从严格意义上说,Linux应该称为GNU/Linux,其中许多重要的工具如gcc、gdb、make、Emacs等都是GNU贡献。

这个“婴儿版”的操作系统以平均两星期更新一次的速度迅速成长,如今的Linux已经有超过250种发行版本,并且可以支持所有体系结构的处理器,如X86、PowerPC、ARM、XSCALE等,也可以支持带MMU或不带MMU的处理器。到目前为止,它的内核版本也已经从最开始的0.0.1发展到现在的2.6.xx。1.4.2 Linux作为嵌入式操作系统的优势

从Linux系统的发展过程可以看出,Linux从最开始就是一个开放的系统,并且始终遵循着源代码开放的原则,它是一个成熟而稳定的网络操作系统。作为嵌入式操作系统,Linux有如下优势。

1.低成本开发系统

Linux的源代码开放性允许任何人获取并修改Linux的源代码。这样,一方面大大降低了开发的成本,另一方面又可以提高开发产品的效率,并且还可以在Linux社区中获得支持。用户只需向邮件列表发一封邮件,即可获得作者的支持。

2.可应用于多种硬件平台

Linux可支持X86、PowerPC、ARM、XSCALE、MIPS、SH、68K、Alpha、SPARC等多种体系结构,并且已经被移植到多种硬件平台。这对于经费、时间受限制的研究与开发项目是很有吸引力的。Linux采用一个统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层应用无关。

3.可定制的内核

Linux具有独特的内核模块机制,它可以根据用户的需要,实时地将某些模块插入到内核中或者从内核中移走,并能根据嵌入式设备的个性需要量体裁衣。经裁减的Linux内核最小可达到150KB以下,尤其适合嵌入式领域中资源受限的情况。当前的2.6内核加入了许多嵌入式友好特性,例如,当设备不需要使用图形界面时,可以屏蔽内核的相应选项。

4.性能优异

Linux系统内核精简、高效和稳定,能够充分发挥硬件的功能,因此比其他操作系统的运行效率更高。在个人计算机上使用Linux,可以将它作为工作站。它也非常适合在嵌入式领域中应用,对比其他操作系统,它占用的资源更少,运行更稳定,速度更快。

5.良好的网络支持

Linux是首先实现TCP/IP协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网络、Token Ring(令牌环)和光纤甚至卫星的支持,这对现在依赖于网络的嵌入式设备来说无疑是很好的选择。1.4.3 Linux发行版本

由于Linux属于GNU系统,而这个系统采用的是GPL协议,并保证了源代码的公开,于是众多组织或公司在Linux内核源代码的基础上进行了一些必要的修改加工,然后开发一些配套的软件,并把它整合成一个自己的发布版Linux。除去非商业组织Debian开发的Debian GNU/Linux外,美国的Red Hat公司发行了Red Hat Linux,法国的Mandrake公司发行了Mandrake Linux,德国的SUSE公司发行了SUSE Linux,国内众多公司也发行了中文版的Linux,如著名的红旗Linux。Linux目前已经有超过250个发行版本。下面仅对Red Hat、Debian、Mandrake等有代表性的Linux发行版本进行介绍。

1.Red Hat

目前,国内乃至全世界的Linux用户最熟悉的发行版想必就是Red Hat了。Red Hat最早是由Bob Young和Marc Ewing在1995年创建的。目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux (RHEL, Red Hat的企业版) ,以及由社区开发的免费的桌面版Fedora Core。

Red Hat企业版有3个版本——AS、ES和WS,AS是其中功能最为强大和完善的版本。而正统的桌面版Red Hat版本更新早已停止,最后一版是Red Hat 9.0。本书就以稳定性高的RHEL AS作为安装实例进行讲解。

官方主页:http://www.redhat.com/。

2.Debian

之所以把Debian单独列出,是因为Debian GNU/Linux是一个非常特殊的版本。 1993年,伊恩·默多克(Ian Murdock)发起Debian计划,它的开发模式和 Linux 及其他开放性源代码操作系统的精神一样,都是由超过800位志愿者通过互联网合作开发而成的。一直以来,Debian GNU/Linux被认为是最正宗的Linux发行版本,而且它是一个完全免费的、高质量的且与UNIX兼容的操作系统。

Debian系统分为3个版本,分别为稳定版(Stable) 、测试版(Testing)和不稳定版(Unstable) 。并且每次发布的版本都是稳定版,而测试版在经过一段时间的测试证明没有问题后会成为新的稳定版。Debian拥有超过8 710种不同的软件,而且每一种软件都是自由的,有非常方便的升级安装指令,基本囊括了用户的需要。Debian也是最受欢迎的嵌入式Linux之一。

官方主页:http://www.debian.org/。

3.国内的发行版本及其他

目前,国内的红旗、新华等都发行了自己的Linux版本。

除了前面所提到的这些版本外,业界还存在着诸如Gentoo、LFS等适合专业人士使用的版本,在此不做介绍,有兴趣的读者可以自行查找相关资料。1.4.4 如何学习Linux

实践出真知,学习Linux也一样,只有通过大量的动手实践才能真正领会Linux的精髓,才能迅速掌握在Linux上的应用开发。因此,在本书中笔者安排了大量的实验环节和课后实践环节,希望读者尽可能多参与。

另外,需要指出的是,互联网也是一个很好的学习工具,一定要充分地加以利用。正如编程语言一样,实践的过程中总会出现多种多样的问题,笔者在写作过程中会尽可能地考虑可能出现的问题,但限于篇幅和实际情况,不可能考虑到所有可能出现的问题,所以希望读者能充分利用互联网这一共享的天空,在其中寻找答案。以下列出了国内的一些Linux论坛:http://www.linuxfans.org。http://www.linuxforum.net/。http://www.linuxeden.com/forum/。http://www.newsmth.net。1.5 Linux安装

有了初步的了解后,读者是否想亲自试一下?其实安装Linux是一件很容易的事情,不过在开始安装之前,还需要了解一下在Linux安装过程中可能遇到的一些基本知识及其与Windows的区别。1.5.1 基础概念

1.文件系统、分区和挂载

文件系统是指操作系统中与管理文件有关的软件和数据。Linux的文件系统和Windows中的文件系统有很大的区别,Windows文件系统是以驱动器的盘符为基础的,而且每一个目录与相应的分区对应,例如, “E:\workplace”是指此文件在E盘这个分区下;而Linux恰好相反,文件系统是一个文件树,并且它的所有文件和外部设备(如硬盘、光驱等)都是以文件的形式挂接在这个文件树上的,如“/usr/local” 。总之,在Windows操作系统下,目录结构属于分区;在Linux操作系统下,分区属于目录结构。其关系如图1.2和图1.3所示。图1.2 Linux下目录与分区的关系图1.3 Windows下目录与分区的关系

因此,在Linux中把每一个分区和某一个目录对应,以后对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。这个把分区和目录对应的过程称为挂载(Mount) ,而这个挂载在文件树中的位置就是挂载点。这种对应关系可以由用户随时中断和改变。

2.主分区、扩展分区和逻辑分区

硬盘分区是针对一个硬盘进行操作的,它可以分为主分区、扩展分区、逻辑分区。其中,主分区就是包含操作系统启动所必需的文件和数据的硬盘分区。要在硬盘上安装操作系统,则该硬盘必须要有一个主分区,而且其主分区的数量可以是1~3个;扩展分区也就是除主分区外的分区,它不能直接使用,必须将其划分为若干个逻辑分区才可使用,其数量可以有0或1个;而逻辑分区则在数量上没有什么限制。它们的关系如图1.4所示。图1.4 Linux下主分区、扩展分区、逻辑分区示意图

一般而言,对于先装了Windows的用户,Windows的C盘是装在主分区上的,可以把Linux安装在另一个主分区或扩展分区上。通常,为了安装方便及安全起见,一般把Linux装在多余的逻辑分区上,如图1.5所示。图1.5 Linux安装分区示意图

3.SWAP交换分区

在硬件条件有限的情况下,为了运行大型的程序,Linux在硬盘上划出一个区域当做临时的内存,Windows操作系统把这个区域叫做虚拟内存,而Linux把它叫做交换分区SWAP。在安装Linux建立交换分区时,一般将其设为内存大小的2倍,当然也可以设为更大。

4.分区格式

不同的操作系统选择了不同的格式,同一种操作系统也可能支持多种格式。微软公司的Windows就选择了FAT32、NTFS两种格式,但是Windows不支持Linux上常见的分区格式。Linux是一个开放的操作系统,它最初使用Ext2格式,后来使用Ext3格式,但是它同时支持非常多的分区格式,包括很多大型机上UNIX使用的XFS格式,也包括微软公司的FAT及NTFS格式。

5.GRUB

GRUB是一种引导装入器(类似在嵌入式中非常重要的Bootloader) ,它负责装入内核并引导Linux系统,位于硬盘的起始部分。由于GRUB多方面的优越性,如今的Linux一般都默认采用GRUB来引导Linux操作系统,但事实上它还可以引导Windows等多种操作系统。

6.root权限

Linux也是一个多用户的系统(这一点类似于Windows XP) ,不同的用户和用户组会有不同的权限,其中把具有超级权限的用户称为root用户。root的默认主目录在/root下,而其他普通用户的目录则在/home下。root的权限极高,它甚至可以修改Linux的内核,因此建议初学者要慎用root权限,否则,一个小小参数的设置错误很有可能导致系统出现严重问题。1.5.2 硬件需求

Linux对硬件的需求非常低。如果只想在字符方式下运行,那么一台386的计算机就可以用来安装Linux;如果想运行X-Window,那么也只需要一台16MB内存、 600MB硬盘的486计算机即可。这听起来比那些需要256MB内存、2.0GHz的操作系统要好得多,事实上也正是如此。

现在软件和硬件行业的趋势是让用户购买更快的计算机,不断扩充内存和硬盘,而Linux却不受这个趋势的影响。随着Linux的发展,由于在其上运行的软件越来越多,因此它所需要的配置越来越高,但是用户可以有选择地安装软件,从而节省资源。既可以运行在最新的Pentium 4处理器上,也可以运行在400MHz的Pentium II上,甚至如果用户需要,也可以在只有文本界面的更低配置的机器上运行。由此可见,Linux非常适合需求各异的嵌入式硬件平台,而且Linux可以很好地支持标准配件。如果用户的计算机采用了标准配件,那么运行Linux应该没有任何问题。1.5.3 安装准备

在开始安装之前,首先需要了解一下机器的硬件配置,包括以下几个问题:有几个硬盘,每个硬盘的大小,如果有两个以上的硬盘哪个是主盘。内存多大。显卡的厂家和型号,有多大的显存。显示器的厂家和型号。鼠标的类型。

如果用户的计算机需要联网,那么还需要注意以下问题:计算机的IP地址,子网掩码,网关,DNS的地址,主机名。有时还需要搞清楚网卡的型号和厂商。

如果不确定系统对硬件的兼容性,或者想了解Linux是否支持一些比较新或不常见的硬件,用户可以到http://hardware.redhat.com和http://xfree86.org进行查询。

其次,用户可以选择从网络安装(如果带宽够大,笔者推荐从商家手中购买Linux的安装盘,一般会获得相应的产品手册、售后服务和众多附赠的商业软件) ,也可以从他人那里复制。放心,这是合法的,因为Linux是免费的。如果用户需要获得最新的,或需要一个不易于购买到的版本,那么用户可以从http://www.Linuxiso.org下载一个需要的Linux版本。

最后,应在安装前确认磁盘上是否有足够的空间。一般的发行版本全部安装需要3GB左右,最小安装可以到数十兆字节,当然还需要给未来的使用留下足够的空间。如果用户拥有的是一个已经分区的空闲空间,那么可以选择安装前在Windows下删除相应分区,也可以选择在安装时删除。1.5.4 安装过程

Kubuntu是基于 KDE 的一个非常友好的操作系统,中文名称为“酷班图” ,是由Ubuntu衍生的一款操作系统,最新版本是11.04,支持中文;采用KDE作为桌面环境,最新版本采用KDE SC 4.51。作为Ubuntu 项目的一部分,保持可以预测的 6 个月的发布周期,

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载