嵌入式操作系统(Linux篇)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-02 14:01:59

点击下载

作者:华清远见嵌入式学院,程姚根,苗德行

出版社:人民邮电出版社

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

嵌入式操作系统(Linux篇)

嵌入式操作系统(Linux篇)试读:

前言

随着消费群体对产品要求的日益提高,嵌入式技术在机械器具制造、电子产品制造,通信、信息服务等行业领域得到了大显身手的机会,应用日益广泛,相应地,企业对嵌入式人才的需求也越来越多。因此近几年来,各高职高专院校开始纷纷开设嵌入式专业或方向。但是,各院校在嵌入式专业教学建设的过程中几乎都面临教材难觅的困境。虽然目前市场上的嵌入式开发相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合学校的教学要求。学校教学需要一套充分考虑学生现有知识基础和接受度的,明确各门课程教学目标的,便于学校安排课时的嵌入式专业教材。

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

经过了 4年,嵌入式行业发生了巨大变化,产品也进行了升级,而高校中的嵌入式专业也日臻成熟,首批教材有些已无法满足新的需要。所以本次对原有教材进行修订和扩充。

本书作为嵌入式专业的Linux操作系统教材,全书共分为9章。第1章嵌入式Linux操作系统简介,主要介绍常用的嵌入式 Linux 操作系统和 Linux 操作系统安装方法;第 2 章Linux 操作系统的使用,主要介绍 Linux 操作系统的一些常用命令;第 3 章 Linux 软件管理,主要介绍 Linux 软件管理的机制以及如何在 Linux 下安装和卸载软件;第 4 章 Linux用户管理,主要介绍 Linux 对用户的管理机制以及不同用户在 Linux 操作系统中拥有的权限;第5 章Linux 文件系统,主要介绍Linux 操作系统支持的文件系统种类,以及Linux 文件系统的框架;第 6 章 Linux 网络配置管理,主要介绍 Linux 中网络的常用配置方法,以及常用网络服务开启的方法;第7章嵌入式Linux编程环境,主要介绍在嵌入式开发中,在Linux上搭建的开发环境的方法;第8章shell编程,主要介绍Linux下shell语言的基本语法以及如何去写 shell 脚本;第 9 章中断与设备管理,主要介绍 Linux 内核对外围硬件设备和中断管理的机制。全书整个章节的设置主要是让不了解 Linux 操作系统的读者掌握 Linux操作系统的使用方法和实现机制。

本书由程姚根、苗德行、冯建三人合作完成。本书的完成需要感谢华清远见嵌入式学院,教材内容参考了学院与嵌入式企业需求无缝对接的、科学的专业人才培养体系。同时,在嵌入式学院从业或执教多年的行业专家团队也对教材的编写工作做出了贡献,孙天泽、刘洪涛、曾宏安、穆煜、赵苍明、季久峰、贾燕枫、关晓强等老师在书稿的编写过程中认真阅读了所有章节,提供了大量在实际教学中积累的重要素材,对教材结构、内容提出了中肯的建议,并在后期审校工作中提供了很多帮助,在此表示衷心的感谢。

本书所有源代码、PPT 课件、教学素材等辅助教学资料,请登录人民邮电出版社教学服务与资源网(www.ptpedu.com.cn)下载。

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

Linux 是发展最快、应用最广泛的操作系统之一。Linux 本身的种种特性使其成为嵌入式开发者的首选。在进入市场的头两年中,嵌入式Linux设计通过广泛应用获得了巨大的成功。随着技术的成熟,Linux提供了对更小尺寸和更多类型的处理器的支持,并从早期的试用阶段迈进嵌入式的主流。1.1 操作系统1.1.1 操作系统的基本概念

操作系统(Operating System,OS)是管理和控制计算机硬件与软件资源的计算机程序,它是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。换句话说,操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持等,以使计算机系统所有资源最大限度地发挥作用。现代操作系统提供了各种形式的用户界面,使得用户可以拥有一个好的工作环境,并且为其他软件的开发提供必要的服务和相应的接口,其关系说明如图1-1所示。图1-1

操作系统根据用户界面的使用环境和功能特征的不同,一般可分为3种基本类型,即批处理操作系统、分时操作系统和实时操作系统。随着计算机体系结构的发展,又出现了许多种操作系统,它们是嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类UNIX操作系统。

1.批处理操作系统

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

2.分时操作系统

分时(Time Sharing)操作系统的工作方式是,一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接收每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而并不感到有别的用户存在。分时系统具有多路性、交互性、独占性和及时性的特征。多路性是指同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,但微观上是多个人在不同时刻轮流使用CPU。交互性是指用户可根据系统响应结果进一步提出新请求(用户直接干预每一步)。独占性是指用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性是指系统对用户提出的请求及时响应。

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

3.实时操作系统

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

4.嵌入式操作系统

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

5.个人计算机操作系统

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

6.网络操作系统

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

7.分布式操作系统

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

总之,操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面输入命令;操作系统则对命令进行解释,驱动硬件设备,实现用户要求。1.1.2 操作系统的主要组成

对一个操作系统我们可以大致把它分为 4 部分:驱动程序、内核、接口库、外围,如图1-2所示。图1-2

1.驱动程序

驱动程序是操作系统最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。

2.内核

内核为操作系统之最核心部分,包括进程管理、内存管理、文件系统管理、设备管理等核心单元。其中内存管理和进程管理可以用来作为衡量一个操作系统的标准。

3.接口库

接口库是一系列特殊的程序库,它们的职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),因而是最靠近应用程序的部分。例如,GNU C运行库就属于此类,它把各种操作系统的内部编程接口包装成ANSIC和POSIX编程接口的形式。

4.外围

所谓外围,是指操作系统中除上述3部分以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中的大部分系统服务,以及 UNIX/Linux 中各种守护进程都通常被划归此列。

当然,这里所介绍的4部分不能说所有的操作系统都这样划分。例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。因而,本节的讨论只适用于一般情况,具体特例需具体分析。1.2 嵌入式系统与通用PC系统的不同

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

从上面的定义我们可以知道,嵌入式系统也是一个计算机系统。下面我们就从一个计算机系统的基本组成来对比一下嵌入式系统与通用PC系统的不同,见表1-1。表1-1

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

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

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

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

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

1.Linux

根据 IDC 的报告,Linux 已经成为全球第二大操作系统。预计在服务器市场上,Linux 在未来几年内将以每年25%的速度增长,中国的Linux市场更是保持40%左右的增长速度。

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

2.μC/OS

μC/OS是一个典型的实时操作系统。该系统从1992年开始发展,目前流行的是第二个版本,即μC/OS II。它的特点是开放源代码,代码结构清晰,注释详尽,组织有条理,可移植性好;可剪裁,可固化;抢占式内核,最多可以管理 60 个任务。该系统短小精悍,是研究和学习实时操作系统的首选。

3.Windows CE

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

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

4.VxWorks

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

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

5.QNX

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

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

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

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

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

20世纪60年代时,大部分计算机都是采用批处理的方式(也就是说,当作业积累一定数量的时候,计算机才会处理)。

为了改变这种现状,美国电报及电话公司(AT&T)、通用电器公司(GE)及麻省理工学院(MIT)计划合作开发一个多用途、分时及多用户的操作系统,也就是MUTICS。但是由于这个项目太过于复杂,整个目标过于庞大,糅合了太多的特性,进展太慢,几年下来没有任何成果,而且性能很低。

1969年2月份,贝尔实验室(Bell labs)决定退出这个项目。

当时贝尔实验室有个工程师叫Ken Thompson的人,他为MULTICS写了一个叫“Space Travel”的游戏,当时他发现游戏运行的速度很慢。为了这个游戏能玩,他找来了一位天才工程师Dennis Ritchie,他们用汇编语言写了一个简单的操作系统Unics,这就是后来的UNIX的原型。

1973年,Ken Thompson和Dennis Ritchie发现用汇编语言移植过于困难,后来他们先后用B、C语言重写了UNIX。

1974年,UNIX首次和外界接触,引起了学术界的广泛兴趣。因此,UNIX从第5版本以“仅用于教育目的”协议,提供给各大学作为教学之用。UNIX开始广泛流行。

1978年,学术界的老大伯克利大学,在 UNIX 上进行改进,推出了自己的 UNIX 版本——Berkeley Softwore Distribution,即BSD 。同时,AT&T公司成立了USG(UNIX Support Group)组织,将UNIX变成了商业化的产品。UNIX的发展脉络如图1-4所示。图1-4

AT&T的这种商业态度,让当时许许多多的UNIX的爱好者和软件开发者们感到相当的痛心和忧虑,他们认为商业化的种种限制并不利于产品的发展,相反还会导致出现诸多的问题。

此时,一个名叫Richard Stallman的领军人物出现了,他认为UNIX是一个相当好的操作系统,如果大家都能够将自己所学贡献出来,那么这个系统将会更加的优异!他倡导Open Source的概念。为了这个理想,Richard Stallman于1984年创立了GNU,计划开发一套与UNIX相互兼容的的软件。1985年Richard Stallman 又创立了自由软件基金会(Free Software Foundation,FSF)来为 GNU 计划提供技术、法律以及财政支持。尽管 GNU 计划大部分时候是由个人自愿无偿贡献的,但 FSF 有时还是会聘请程序员帮助编写。当 GNU 计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。

自20世纪90年代发起这个计划以来,GNU 开始大量地产生或收集各种系统所必备的组件,像是——函数库(Libraries)、编译器(Compilers)、调试工具(Debuggers)、文本编辑器(Text editors)、网站服务器(Web server),以及一个UNIX的使用者接口(UNIX Shell)等。但由于种种原因, GNU一直没有开发操作系统的内核(kernel)。正当Richard Stallman在为操作系统内核伤脑筋的时候,Linux出现了。

1991年,芬兰赫尔辛基大学的学生Linus Torvals为了能在家里的PC上使用与学校一样的操作系统,开始编写自己的类UNIX操作系统。

1991年8月25日,Linus就在comp.os.minix新闻组中首次发布了Linux内核的第一个公共版本。

最初Linus编写的程序只适用于Intel 386处理器,且不能移植。由于人们的鼓励,Torvals继续编写可移植的Linux系统。

之后,就有越来越多的计算机爱好者、程序员通过网络,包括通过社区、邮件列表、论坛、Wiki等参与到Linux系统的不断完善之中。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协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括10吉比特、100吉比特及1 000吉比特的以太网,还有无线网络、Token Ring(令牌环)和光纤甚至卫星的支持。这对现在依赖于网络的嵌入式设备来说无疑是很好的选择。1.4.3 Linux发行版本

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

下面是一些常见的UNIX/类UNIX版本,见图1-5。图1-5

Solaris;

IBM AIX;

Red Hat;

Fedora Core;

SUSE;

Debian;

Ubuntu;

FreeBSD;

OpenBSD;

NetBSD;

Yellow Dog Linux;

Slackware;

Red Flag;

Blue Point。

下面仅对 Red Hat、Debian、Ubuntu等有代表性的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。

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之一。

3.Ubuntu

Ubuntu(中文名:友帮拓)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 基于 Debian 发行版和 GNOME 桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。1.5 Linux系统安装1.5.1 文件系统和硬盘分区的概念

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

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

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

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

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

2.swap交换分区

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

3.分区格式

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

4.GRUB

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

5.root权限

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

我们准备在Windows上装一个虚拟机软件,然后在虚拟机软件上来安装Linux系统。

这里先说一下虚拟机的概念。

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

目前流行的虚拟机软件有VMware(VMware ACE)、VirtualBox 和Virtual PC,它们都能在Windows系统上虚拟出多个计算机。

在这里我们使用的是虚拟机是VMware Workstation 7,Linux 系统是 Ubuntu 10.10,请读者提前将它们下载到自己的本地计算机。1.5.3 安装过程

1.虚拟机的安装(1)双击下载好的VMware Workstation软件打开安装程序,如图1-10所示。图1-10(2)单击Next按钮进行下一步。(3)进入图1-11所示的界面,选择典型(Typical)安装。图1-11(4)安装路径我们选择默认的就可以,单击Next按钮进行下一步。(5)图1-12所示是选择VM快键图标存放的位置,这里我们选择默认的即可。图1-12(6)选择Continue(继续),进入安装界面,如图1-13所示。图1-13(7)安装完成后,输入序列号。(8)选择“重新启动计算机”按钮。(9)重新启动计算机后,单击桌面上的 VMware Workstation 快捷方式,则出现如图1-14 所示的画面,选择接受许可协议。图1-14(10)到这里我们的虚拟机软件就已经安装好了,其工作界面如图1-15所示。图1-15

2. 创建虚拟机(1)启动VMware Workstation软件,单击New Virtual Machine,如图1-16所示。图1-16(2)进入图1-17所示的安装方式选择画面,选择“典型”(Typical)安装,单击Next按钮。图1-17(3)选择从哪里安装操作系统,如图1-18所示。这里选择第三个,单击Next按钮。图1-18(4)选择Linux,版本Ubuntu,如图1-19所示。图1-19(5)图1-20所示为读者可以自己指定Ubuntu系统最终安装的路径。图1-20(6)设置 Ubuntu 系统将拥有的硬盘大小, 我们使用默认的就可以,如图1-21 所示。读者可以根据主机硬盘的实际情况,调整其大小。图1-21(7)单击Finish按钮完成安装,如图1-22所示。图1-22(8)到这里我们的虚拟机就已经创建好了,见图1-23。图1-23

注意,此时我们只是创建了虚拟机,还没有安装操作系统。下面我们就开始在这个虚拟机上安装Ubuntu系统。

3. 安装Ubuntu系统(1)双击图1-24中用线框起来的地方。图1-24(2)选择Use ISO image file,单击Browse按钮,找到下载好的Ubuntu系统ISO镜像文件,然后单击OK按钮进行下一步,如图1-25所示。图1-25(3)单击小三角形按钮开始安装,如图1-26所示。图1-26(4)等待一两分钟就会出现图1-27所示的界面,选择英文安装。图1-27(5)单击Forward按钮进入下一步。(6)在图1-28中可选择对磁盘进行分区。第一个是自动分区,第二个是手动分区,在这里我们选择手动分区。图1-28(7)新建分区表,如图1-29所示。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载