Linux 操作系统基础.pdf
《Linux 操作系统基础.pdf》由会员分享,可在线阅读,更多相关《Linux 操作系统基础.pdf(94页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第1章Linux基础Linu x是一种能运行于多种平台、源代码公开、免费、功能强大、遵循POSIX标准、与 UNIX兼容的操作系统。Linu x自20世纪中期以来一直在突飞猛进地发展,人们在计算机软 件开发和应用中越来越离不开它。Linu x的诞生和发展给全球的软件业带来了新的机遇,也 使微软的Wind ows操作系统面临有史以来最大的挑战。由于Linu x属于自由软件,它的源代 码是公开的,并遵循通用公共许可证(General Pu b l ic Licence,GPL),所以用户可以免费使用,从而使Linu x在极短的时间内就成了一套成熟而稳定的操作系统。全世界成千上万的程序专 家和Lin
2、u x爱好者正在通过Internet不断地对Linu x进行开发、完善和维护。Linu x操作系统核心最早是1991年由芬兰的Linu s Torval d s在芬兰赫尔辛基大学上学时 发布的(那年Torval d s年仅25岁),后来经过众多世界顶尖的软件工程师的不断修改和完善,Linu x得以在全球普及开来,在服务器领域及个人桌面得到越来越多的应用,在嵌入式开发 方面更是具有其他操作系统无可比拟的优势,并以每年100%的用户数递增,显示了 Linu x 强大的实力。1.1 系统概要Linu x是类UNIX计算机操作系统的统称。Linu x操作系统内核的名称也是“Linu x”。Linu x
3、操作系统是自由软件和开放源代码发展中最著名的例子。严格来讲,Linu x这个词本身 只表示Linu x内核,但实际上,人们已经习惯了用Linu x来形容整个基于Linu x内核并且使 用GNU工程各种工具和数据库的操作系统。基于这些组件的Linu x软件被称为Linu x发行版。一般来讲,一个Linu x发行包包含大 量的软件,比如软件开发工具、数据库(如PostgreSQL、MySQL)、网络服务器(如Apach e)、X Wind ow、桌面环境(例如GNOME和KDE)、办公包(例如OpenOffice.org)、脚本语言(如Perk PHP 和 Pyth on),等等。Linu x现在
4、是个人计算机和工作站上的UNIX类操作系统。它不仅继承了 UNIX的特征,而且在许多方面超过了 UNIX。作为UNIX类操作系统,它具有下列基本特征:(a)是真正的多用户、多任务操作系统;(b)是符合POSIX标准的系统;(c)提供具有内置安全措施的分层的文件系统;2 软件综合开发案例教程Linu x、GCC、MySQL、Socket.Gtk+与开源案例(d)提供sh el l命令解释程序和编程语言;(e)提供强大的管理功能,包括远程管理功能;(f)具有内核的编程接口;(g)具有图形用户界面;(h)具有大量的实用程序和通信、联网工具;(i)具有良好界面编缉软件。大量的高级程序设计语言已移植到L
5、inu x系统上,因而使它成为理想的应用软件开发平 台,而且,在Linu x系统下开发的应用程序具有良好的可移植性。同时,Linu x还有许多独 到之处,例如:它的源代码几乎全部都是开放的;它可以运行在许多硬件平台上;它不仅可 以运行许多自由发布的应用软件,还可以运行许多商用化的应用软件;它具有强大的网络 功能。Linu x系统的另一特征是它能充分发挥硬件的功能,因而它相比其他操作系统来说运行 效率更高。因此,Linu x拥有广泛的应用前景。1.1.1 Linux的起源与发展Linu x的发音为“Lin-noks”,中文发音为“利尼克斯”。它的标志是可爱的企鹅,取自 芬兰的吉祥物。Linu x
6、起源于1991年,Linu s Torval d s为了编写一个比Minix(由谭邦宁教授开发的一个 用于操作系统教学、很小的UNIX操作系统)更好的操作系统,首次在Intemet上发布了基于 Intel 386体系结构、类似于UNIX的Linu x源代码,这就是最早的Linu x版本。由于Linu x 具有结构清晰、功能简捷等特点,许多高等院校的学生和科研机构的研究人员纷纷把它作为 学习和研究的对象。Linu x的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划(该计划致力于 开发一个自由并且完整的类UNIX操作系统,包括软件开发工具和各种应用程序)到1991年 Linu x内核
7、发布,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linu s Torval d s和其他开发人员的努力下,GNU组件可以运行于Linu x内核之上。整个内核是基于 GNU通用公共许可,也就是GPL,但是Linu x内核并不是GNU计划的一部分。1994年3 月,Linu x 1.0版正式发布,Marc Ewing成立了 Red Hat软件公司,成为最著名的Linu x分销 商之一。现在,Linu x的用户群一般都是专业人士。他们愿意安装并设置自己的操作系统,因而 往往比其他操作系统的用户要花更多的时间。这些用户有时被称作“黑客”或“极客”(geek)。使用Linu x的主要成
8、本为移植、培训和学习的费用,早期由于会使用Linu x的人较少,并且在软件设计时并未考虑非专业者的使用,导致这方面费用极高。这方面的费用已经随着 Linu x的日益普及和Linu x上的软件越来越多、越来越方便而降低,但这仍是使用Linu x的主 要成本。然而随着Linu x慢慢开始流行,有些原始设备制造商(OEM)开始在其销售的电脑上预装第1章Linu x基础3 Linu x,Linu x的用户中也有了普通电脑用户,Linu x系统也开始慢慢出现在个人电脑操作 系统市场。Linu x在欧洲、美国和日本的流行程度较高,欧美地区还发行Linu x平台的游戏 和其他家用软件。Linu x开源社区也
9、是以欧洲、美国、日本等发达国家及地区的人士居多。每个孩子拥有一台笔记本电脑这一项目正在催生新的、更为庞大的Linu x用户群,计 划将包括发展中国家的几亿学童、他们的家庭和社区。在2007年,已经有6个国家分别 订购了至少一百万台的笔记本电脑免费发放给学生。谷歌、Red Hat和eBay是该项目的主 要支持者。下面简单地回顾一下Linu x版本的变化过程:1991年10月,Linu x第一个公开版0.02版发布。1994年3月,Linu x 1.0版发布。1999 年,Linu x 2.2 发布;GNOME 1.0 发布;支持 Linu x 2.2 的 Red Hat 6.0 发布;IBM 推
10、出全面支持Linu x的计划;HP宣布支持Linu x。1999至2003年,各种Linu x版本不断发布,在市场上的影响巨大。Linu x内核最初是为Intel 386微处理器设计的;现在,Linu x内核支持从个人电脑到大型 主机,甚至包括嵌入式系统在内的各种硬件设备。1.1.2 Linux 的特性Linu x是一套类UNIX的免费操作系统,但Linu x系统的稳定性、功能完整性及开放性 是许多商业操作系统无法比拟的。Linu x还有一个最大的特色就在于源代码完全公开,在符 合GNU GPL的原则下,任何人皆可自山获取、复制,甚至修改源代码,然后再发行,以便 将修改的程序代码回馈于社会。与
11、其他操作系统相比,Linu x具有以下特性:(a)自由与开放:Linu x是自由软件,这对科学界来说相当重要。很多工程师由于特殊需 求,常常需要修改系统源码,使该系统可以满足自己的需求。这个开放性的架构可以满足不 同工程师的需求。(b)配置要求低廉:Linu x可以支持个人计算机的x86架构,系统资源不必像早先的UNIX 系统那样,仅适合于公司的单一设备。不过,如果想要在Linu x下执行X-Wind ow系统,硬 件的等级就不能太低。(c)功能强大而稳定:Linu x的功能并不比一些大型的UNIX工作站低,近年来,越来越 多的公司或团体、个人投入到Linu x的开发和整合工作中。(d)独立工
12、作:由于Linu x使用了很多软件套件,这些软件套件都在Linu x操作系统上 进行了开发和测试。因此,Linu x近来已经可以独立地完成几乎所有工作站或服务器的服务,例如 Web、Maik Proxy、FTP 等。1.1.3 主流Linux操作系统发行版简介Linu x本质上就是一个操作系统最底层的核心及其提供的核心工具,负责控制硬件、管 理文件系统、程序进程等。Linu x Kemel(内核)并不负责提供强大的应用程序,没有编译器、系统管理工具、网络工具、Office套件、多媒体、绘图软件等,这样的系统也就无法发挥其 4软件综合开发案例教程Linu x、GCC、MySQL、Socket.G
13、tk+与开源案例强大功能,用户也无法利用这个系统工作。因此有人便提出,以Linu x Kernel为核心、再集 成搭配各式各样的系统程序或应用工具程序,组成一套可完整安装的操作系统。经过如此组 合的Linu x套件,即为Linu x发行版。国外封装的 Linu x 以 Red Hat(又称红帽 Linu x)、OpenLinu x Su SE、Tu rb oLinu x 等最 为成功:Red Hat Linu x:h ttp:/www.red h Red Hat是个商业气息颇为浓厚的公司,该公司于1999年在美国以科技股为主的纳斯达 克证券交易所成功上市,并逐渐成为Linu x商业界龙头。Re
14、d Hat是目前销售量最高、安装最简便、最适合初学者的Linu x发行版,也是目前世 界上最流行的Linu x发行套件,它的市场营销、包装及服务做得相当不错,自行开发了 RPM 套件管理程序及X桌面环境GNOME的众多软件,并将其源代码回馈给Open Sou rce Commu nity o也正是因为Red Hat的方便性,安装程序将系统的构架或软件安装方式全部做了包装,用户学到的都是在GUI(图形用户界面)上输入一些设置值这样的粗浅知识,至于软件安装了 哪些文件、安装到哪个文件目录、系统做了哪些设置,使用者则一无所知。一旦真正遇到系 统程序发生问题,要解决问题也就比较困难。Cal d era
15、 OpenLinu x:h ttp:/www.cal d d era将OpenLinu x这套系统定位为容易使用与设置的发行版,以集成使用环境与最 终用户办公环境、容易安装使用与简便管理为系统目标,有望成为最流行的公司团体台式 Linu x操作系统,适合初学者使用,全部安装需要1GB的硬盘空间。Cal d era有自行研发的图形界面的安装程序向导,安装过程可以玩俄罗斯方块,提供完整 的KDE桌面环境,附赠功能强大的商业软件,如StarOffice、图形界面的硬盘分割工具Partition Magic 等。Su SE Linu x:h ttp:/www.Su SE.com/Su SE是欧洲最流行
16、的Linu x发行版,而且Su SE是软件国际化的先驱,让软件能支持各 国语系,贡献颇丰。Su SE也是用RPM作为软件安装管理程序,不过Su SE并不适合新手使 用,它提供了非常多的工具软件,全部安装需4.5GB的硬盘空间,安装过程也较为复杂。Tu rb oLinu x:h ttp:/www.Tu rb oLinu rb oLinu x是日本制作的Linu x发行版,其最大特色是以日文版、中文简/繁体版、英文 版三种形式发行,对于软件国际化的推动起到了积极作用;它安装的简易性及系统设置的难 度与Red Hat差不多,且安装界面是汉化的,系统本身支持中文简体,在中国国内有广大的 用户群。国内L
17、inu x发行版中做得相对比较成功的是红旗和中软两个版本,界面都做得非常美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合新手使用。两个版本都源于中国 第1章Linu x基础5 科学院软件研究所承担的国家863计划的Linu x项目。但无论稳定性与兼容性,与国外的版 本相比都有一定的差距,操作界面和习惯与Wind ows越来越像,提供一定的技术支持和售 后服务,适用于国内做低价的操作系统解决方案。红旗 Linu x:h ttp:/www.red fl ag-l inu ex.ph p中软 Linu x:h ttp:/虽然开发Linu x发行版的公司很多,但用户并不需要担心每个版本是否都
18、不相同。因为 每个Linu x发行版使用的核心都是在h ttp:/www.kemel.org上发布的,所选择的软件几乎都是 目前很知名的软件,重复性相当高。此外,为了让所有的Linu x版本开发差异不会太大,可 采用Linu x LSB(Linu x Stand ard Base,Linu x标准基础)来规范开发人员,并遵循目录架构的 FHS(Fil e system Hierarch y Stand ard,文件系统层次标准)规范。唯一存在的差别,可能就是开 发人员自己开发出来的管理工具以及套件管理的模式。每个Linu x发行版除了架构的严谨性 与选择的套件内容外,其实差异并不会太大。用户可
19、以选择自己喜好的发行版来安装。1.1.4 Linux 的内核Linu x内核的最初版本是由Linu s Torval d s编写的,为了能够使Linu x更加完善,Torval d s 在网络上公开了 Linu x的源码,邀请全世界的志愿者参与Linu x的开发。由于许多专业用户 自愿地开发它的应用程序,并借助Intemet拿出来让大家一起修改,所以它周边的程序越来 越多,Linu x得到了不断的完善,并在短时期内迅速崛起,如今仍以相当快的速度在不断地 发展着。Linu x是一个很有发展前途的操作系统,也是为数不多可以与Microsoft旗下操作系 统相竞争的操作系统。Linu x内核由5个主
20、要的子系统组成。这5个子系统分别是进程调度(SCHED)、内存管 理(MM)、虚拟文件系统(VFS)、网络接U(NET)和进程间通信(IPC)。各个子系统之间的依赖关系如下:(a)进程调度与内存管理之间的关系:这两个子系统互相依赖。程序要在多道程序环境 下运行,必须为之创建进程,而创建进程的第一件事,就是要将程序和数据装入内存。(b)进程间通信与内存管理之间的关系:进程间通信子系统要依赖内存管理来支持共享内 存通信机制,这种机制允许两个进程除了拥有自己的私有内存外,还可存取共同的内存区域。(c)虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口来支持网络文件 系统(NFS),利用内存管
21、理来支持RAMDISK设备。(d)内存管理与虚拟文件系统之间的关系:内存管理利用虚拟文件系统来支持交换,交 换进程定期地由调度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一个进程存 取的内存映射被换出时,内存管理向文件系统发出请求,同时,挂起当前正在运行的进程。在这些子系统中,进程调度子系统是其他子系统得以顺利工作的关键。无论是文件系统 的系统进程还是网络子系统的服务进程,都需要通过进程调度来获得相应的CPU时间以正常 运行。6 软件综合开发案例教程Linu x、GCC、MySQL、Socket.Gtk+与开源案例1.1.5 Linux 的特点绝大多数基于Linu x内核的操作系统都使
22、用了大量的GNU软件,包括sh el l程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者 理查德马修斯托曼博士提议将Linu x操作系统改名为GNU/Linu xoLinu x的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其 中的第一条,详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linu x是基于UNIX的,在很大程度上也是因为这两者的基本思想十分相近。Linu x主要被用作服务器的操作系统,但因它的廉价性、广泛性、灵
23、活性及UNIX背景,使得它能适合更广泛的应用。传统上有以Linu x为基础的“LAMP”(Linu x、Apach e、MySQL、Perl HP/Pyth on的组合)经典技术组合,提供了包括操作系统、数据库、网站服务器、动态网 页的一整套网站架构支持。而在面向更大规模级别的领域中,如数据库中的Oracl e、DB2、PostgreSQL,以及用于Apach e的Tomcat JSP等都已经在Linu x上有了很好的应用实例。LAMP 除中小企业广为应用外,它还是当前网站服务供应商使用较多的平台。1.低廉性基于其低廉成本与高度可设定性,Linu x常常被应用于嵌入式系统,例如机顶盒、移动 电
24、话、行动装置等。在移动电话上,Linu x已经成为与Symb ian Wind ows Mob il e系统并列 的三大智能手机操作系统之一;而在移动装置上,则成为Wind ows CE与Pal m OS之外的另 一个选择。目前流行的TiVo数位摄影机使用了经过定制化后的Linu x。此外,有不少硬件式 的网络防火墙及路由器,例如部分LinkSys的产品,其内部都是使用Linu x来驱动,并采用 了 Linu x操作系统提供的防火墙及路由功能。2.广泛性采用Linu x的超级电脑也越来越多,根据最新的TOP 500超级电脑列表,显示世界上最 快速的3组超级电脑都是使用Linu x作为其操作系统
25、。而在列出的500套系统中,采用Linu x 为操作系统的占了 469组(即93.8%),前10位中有9组是使用Linu x。随着开源软件在世界范围内影响力的日益增强,Linu x在服务器、桌面、行业定制等领 域获得了长足发展,尤其在服务器领域,Linu x已经获得了令人瞩目的成就。目前,除了微 软以外,国际知名的硬、软件厂商都紧密地与之结盟、捆绑,甚至连世界IT业的龙头老大“蓝色巨人”IBM也要“全面拥抱Linu x”o这是因为,开放的Linu x给用户提供了选择 最佳应用、最佳开发环境、最佳网络功能和最佳硬件平台的自由。专家指出,从产品角度来说,计算机操作系统分为三类:服务器操作系统、桌面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统基础 操作系统 基础
限制150内