




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 Linux系统概述 Linux操作系统是目前上升最快的操作系统,从 1991年诞生到现在的二十多年间,Linux逐步完善和发 展。Linux操作系统在服务器、嵌入式等方向获得了长 足的发展,并在个人操作系统方面有着大范围的应用, 这主要得益于其开放性。本章对Linux的发展进行介绍 ,主要包含如下几个方面: Linux发展的历史,以时间为主线对Linux的诞生进 行介绍; 分析Linux和UNIX操作系统的异同; 介绍常用的几种Linux发行版本的特点; 对Linux操作系统的系统架构进行简单的介绍; 介绍了GNU通用公共许可证及其特点。 1.1 Linux发展历史 Linux操作系统于1991年诞生,目前 已经成为主流的操作系统之一。其版本从 开始的0.01版本到目前的版本经 历了20多年的发展,从最初的蹒跚学步 的婴儿成长为目前在服务器、嵌入式系统 和个人计算机等多个方面得到广泛应用的 操作系统。 1.1.1 Linux的诞生和发展 Linux的诞生和发展与个人计算机的发展历程是紧 密相关的,特别是随着Intel的i386个人计算机的发展而 逐步成熟。在1981年之前没有个人计算机,计算机是大 型企业和政府部门才能使用的昂贵设备。IBM公司在 1981年推出了个人计算机IBM PC,从而造成个人计算 机的发展和普及。刚开始的时候,微软帮助IBM公司开 发的MS-DOS操作系统在个人计算机中占有统治地位。 随着IT行业的发展,个人计算机的硬件价格虽然逐年在 下降,但是软件特别是操作系统的价格一直居高不下。 与个人计算机对应,在大型机上的主流操作系统是 UNIX,而UNIX操作系统对操作系统的发展有诸多障碍 : UNIX的经销商为了寻求高利率,将价格抬得很高 ,个人计算机的用户就根本不能靠近它,不利于操作系 统的普及。 1.1.2 Linux名称的由来 Linux操作系统的名称最初并没有被称作Linux。Linus给他的 操作系统取的名字是Freax,这个单词的含义是怪诞的、怪物、异 想天开的意思。当Torvalds将他的操作系统上传到服务器 ftp.funet.fi上的时候,这个服务器的管理员Ari Lemke对Freax这个 名称很不赞成,所以将操作系统的名称改为了Linus的谐音Linux, 于是这个操作系统的名称就以Linux流传下来。 在Linus的自传Just for Fun一书中,Linus解释说:“Ari Lemke,他十分不喜欢Freax这个名字。倒喜欢我当时正在使用的 另一个名字Linux,并把我的邮件路径命名为pub OS/Linux。我承 认我并没有太坚持。但这一切都是他搞的。所以我既可以不惭愧 地说自己不是那么以个人为中心,但是也有一点个人的荣誉感。 而且个人认为,Linux是个不错的名字。”实际上,在早期的源文件 中仍然使用Freax作为操作系统的名字,可以从Makefile文件中看 出此名称的一些蛛丝马迹。 1.2 Linux的发展要素 Linux操作系统是UNIX的一种典型的 克隆系统。在Linux诞生之后,借助于 Internet网络,在全世界计算机爱好者的 共同努力下,成为目前世界上使用者最多 的一种类UNIX操作系统。在Linux操作系 统的诞生、成长和发展过程中,如下五个 方面起了重要的作用:UNIX操作系统、 Minix操作系统、GNU计划、POSIX标准 和Internet网络。 1.2.1 UNIX操作系统 UNIX操作系统于1969年在Bell实验室诞生,它是美国贝尔实 验室的Ken.Thompson和Dennis Ritchie在DEC PDP-7小型计算机 系统上开发的一种分时操作系统。 Ken Thompson开发UNIX操作系统的初衷是为了能在一台闲 置的PDP-7计算机上运行星际旅行游戏,他在1969年夏天花费一 个月的时间开发出了UNIX操作系统的原型。最开始,开发UNIX操 作系统使用的是BCPL语言(即通常所说的B语言),后来Dennis Ritchie于1972年使用C语言对UNIX操作系统进行了改写。同时 UNIX操作系统在大学中得到广泛的推广,并将UNIX的授权分发给 多个商业公司。 Linux是一种UNIX的克隆系统,采用了几乎一致的系统API接 口。特别是网络方面,二者的接口的应用程序几乎完全一致。 1.2.2 MINIX操作系统 Minix操作系统也是UNIX操作系统的一种克隆系统 ,它由荷兰Amsterdam的Vrije大学著名教授Andrew S.Tanenbaum于1987年开发完成。Minux操作系统目 的主要用于学生学习操作系统原理时教学使用。在当时 Minix操作系统在大学中使用是免费的,但是其他用途 则需要收费。目前Minix操作系统已经都是免费的,可 以从许多FTP上下载,目前主要有1.5版本和2.0版本在 使用。 由于Minix操作系统提供源代码,并且与操作系统 相结合,有一本高质量的书籍介绍其实现原理,在当时 全世界的大学中形成了学习Minix操作系统的风气, Linus刚开始就是参照此系统在1991年开始开发Linux的 。 1.2.3 POSIX 标准 POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC开发的一套 标准。POSIX标准是对UNIX操作系统的经验和实践的 总结,对操作系统系统调用的服务接口进行了标准化, 保证所编制的应用程序在源代码一级可以在多种操作系 统上进行移植。 在90年代初,POSIX标准的制定处于最后确定的 投票阶段,而Linux正处于开始的诞生时期。作为一个 指导性的纲领性标准,Linux的接口与POSIX相兼容。 1.3 Linux与UNIX异同 Linux是UNIX操作系统的一个克隆系统,没有UNIX就没有 Linux。但是,Linux和传统的UNIX有很大的不同,两者之间的最 大区别是关于版权方面的:Linux是开放源代码的自由软件,而 UNIX是对源代码实行知识产权保护的传统商业软件。两者之间还 存在如下的区别: UNIX操作系统大多数是与硬件配套的,操作系统与硬件进行 了绑定;而Linux则可运行在多种硬件平台上 UNIX操作系统是一种商业软件(授权费大约为5万美元); 而Linux操作提供则是一种自由软件,是免费的,并且公开源代码 。 UNIX的历史要比Linux悠久,但是Linux操作系统由于吸取了 其他操作系统的经验,其设计思想虽然源于UNIX但是要优于UNIX 。 1.4 操作系统类型选择和内核 版本的选择 要在Linux环境下进行程序设计,首先 要选择合适的Linux发行版本和Linux的内 核,选择一款适合自己的Linux操作系统 。本节对常用的发行版本和Linux内核的 选择进行了介绍,并简要讲解了如何定制 自己的Linux操作系统。 1.4.1 常见不同公司发行的 Linux的异同 Linux的发行版本众多,曾有人收集过超过300 种的发行版本。当然,不能在本书中介绍众多的 发行版特点,这超出了本书的范围。 版 本名称 网址特点软件包管理器 De bian Linux www.debi 开放的开发模式,并且易于进行软件包升 级 apt Fe dora Core www.red 拥有数量庞大的用户,优秀的社区技术支 持,并且有许多创新 up2date( rpm), yum(rpm) Ce ntOS www.cent CentOS是一种对RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux是开发源代码的操作系统并不排斥基于源代码 的再分发,CentOS就是将商业的Linux操作系统 RHEL进行源代码在编译后分发,并在RHEL的基础 上修正了不少已知的Bug rpm SU SE Linux www.sus 专业的操作系统,易用的YaST软件包管理 系统开放。 YaST(rpm) ,第三方apt(rpm)软 件库(repository) Ma ndriva www.man 操作界面友好,使用图形配置工具,有庞 大的社区进行技术支持,支持NTFS分区的大小变更 rpm K NOPPIX www.kno 可以直接在CD上运行,具有优秀的硬件检 测和适配能力,可作为系统的急救盘使用 apt Ge ntoo Linux www.gen 高度的可定制性,使用手册完整portage Ub untu www.ubu 优秀易用的桌面环境,基于Debian的不稳 定版本构建 apt 1.4.2 内核版本的选择 内核是Linux操作系统的最重要的部分,从最初的 0.95版本到目前的版本,Linux内核开发经过了 近20年的时间,其架构已经十分稳定。Linux内核的编 号采用如下编号形式: 主版本号.次版本号.主补丁号.次补丁号 Linux内核版本的开发源代码树目前比较通用的是 2.6.xx的版本,当然,有部分2.4的版本仍在使用。与 2.4版本的内核相比较,2.6版本内核具有如下的优势: 支持绝大多数的嵌入式系统,加入了之前嵌入式系 统经常使用的Clinux的大部分代码,并且子系统的支 持更加细化可以支持硬件体系结构的多样性,可抢占内 核的调度方式支持实时系统,可定制内核。 1.5 Linux的系统架构 Linux系统从应用角度来看,分为内核 空间和用户空间两个部分。内核空间是 Linux操作系统的主要部分,但是仅有内 核的操作系统是不能完成用户任务的。丰 富并且功能强大的应用程序包是一个操作 系统成功的必要条件。 1.5.1 Linux内核的主要模块 Linux的内核主要由5个子系统组成: 进程调度、内存管理、虚拟文件系统、网 络接口、进程间通信。下面依次讲解这五 个子系统。 1进程调度SCHED 2内存管理MMU 3虚拟文件系统VFS 4网络接口 5进程间通讯 1.5.2 Linux的文件结构 与Windows下的文件组织结构不同,Linux不使用 磁盘分区符号来访问文件系统,而是将整个文件系统表 示成树状的结构,Linux系统每增加一个文件系统都会 将其加入到这个树中。 操作系统文件结构的开始,只有一个单独的顶级目 录结构,叫做根目录。所有一切都从“根”开始,用“/”代 表,并且延伸到子目录。DOS/Windows下文件系统按 照磁盘分区的概念分类,目录都存于分区上。Linux则 通过“挂接”的方式把所有分区都放置在“根”下各个目录 里。 1.5.2 Linux的文件结构 1.6 GNU通用公共许可证 GNU通用公共许可证(简称为GPL) 是由自由软件基金会发行的用于计算机软 件的一种许可证制度。GPL最初是由 Richard Stallman为GNU计划而撰写。目 前,GNU通行证被决大多数的GNU程序 和超过半数的自由软件采用。此许可证最 新版本为“版本3”,于2007年发布。GNU 宽通用公共许可证(简称LGPL)是由 GPL衍生出的许可证,被用于一些GNU 程序库。 1.6.1 GPL许可证的历史 GPL的“版本1”,在1989年1月诞生。在1990年时, 因为一些共享库的使用而出现了对GPL许可证制度更为 宽松的需求,在GPL“版本2”在1991年6月发布时,另一 许可证库通用许可证(Library General Public License,简称LGPL)也随之发布,并记作“版本2”以示 对GPL的补充。在LGPL版本2.1发布时与GPL版本不再 对应,而LGPL也被重命名为GNU宽通用公共许可证( Lesser General Public License)。 相对于GPLv2,主要有四个不同的方面: 数字版权问题。 专利扩散许可。 衍生产品的定义。 GPLv3协议于其他协议的兼容问题。 1.6.2 GPL的自由理念 软件的版权保护机制在保护发明人权益的同时,对 软件的技术进步造成了影响。版权所有软件的最终用户 几乎不能从所购买的软件中得到任何软件设计相关的权 利(除了使用的权利),甚至可能限制像逆向工程等法 律允许范围内的行为。与此对应,GPL授予程序的接受 方下述的权利,即GPL所倡导的“自由”: 可以以任何目的运行所购买的程序; 在得到程序代码的前提下,可以以学习为目的,对 源程序进行修改; 可以对复制件进行再发行; 对所购买的程序进行改进,并进行公开发布; 1.6.3 GPL的基本条款 GPL许可证作为Linux平台软件的主要许可 证,有很多独特的地方。GPL授权的软件并不 是说使用者在得到此软件后可以无限制的使用 ,而是同样要遵循一定的规则,其中主要的一 点就是开放源代码。使用GPL授权发布的商业 软件,也并不是不要钱,其盈利模式是采用收 取服务费用的方式来获取利益。GPL中的主要 条款包括权利授予、copyleft。 1授予的权利 2copyleft 1.6.4 关于GPL许可证的争议 使用GPL的许可证造成了目前的很多 争议,主要是对软件的版权方面的界定、 GPL的软件传染性、商业开发方面的困扰 等等。比较有代表性的是对GPL软件产品 的链接库使用的产品版权界定,即非GPL 软件是否可以链接到GPL的库程序。 对于GPL开放源代码进行修改的产品 演绎GPL的授权规定的很明确,但是对于 使用GPL链接库的产品是否是GPL演绎产 品就存在很多定义,FSF认为这种作品就 是演绎作品,但是其他专家并不认同这种 观点,分成了自由和开放源代码社区两派 。这个问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水力学基础试题及答案
- 变电运维人员面试题库及答案
- 2025泌尿外科主治医师考试《专业知识》试题(附答案)
- 2026届陕西省西安市高新第二初级中学九年级化学第一学期期末质量跟踪监视试题含解析
- 2026届重庆巴蜀常春藤化学九年级第一学期期中考试模拟试题含解析
- 2026届黑龙江省齐齐哈尔市实验学校化学九年级第一学期期中达标测试试题含解析
- 高档商务区空地租赁协议范本
- 瑜伽馆股东合作协议书(含课程研发与教学创新)
- 夫妻离婚时财产清算与债权债务转移协议范本
- 瑶海区二手房买卖合同解除及房产交易合同
- 房地产项目总经理岗位职责说明
- GJB297B-2020钝化黑索今规范
- 年产5万吨氧化铁新材料(磁性材料及锂电材料)项目报告书
- 关于懂你的600字初三作文9篇
- 2025年职业技能鉴定考试(涂装工·高级/三级)历年参考题库含答案详解(5套)
- 2025至2030年中国猫砂行业发展监测及投资战略研究报告
- 2025年理赔人员上岗考试题库
- 荧光分析技术第二章荧光信号机制讲课文档
- 2025-2026年秋季学期各周国旗下讲话安排表+2025-2026学年上学期升旗仪式演讲主题安排表
- 2025年公务员(国考)之公共基础知识考试题库(带答案解析)
- 初级医学影像技术师考试试卷及答案2025年
评论
0/150
提交评论