第1页:第二章什么是Linux?什么是Unix?
本页为第二章什么是Linux?什么是Unix?的章节封面,标示本章要解答的操作系统、内核、开放源代码软件与Linux四个问题。
第2页:本章需要解决的几个问题
- 什么是操作系统?
- 什么是内核?
- 什么是开放源代码软件?
- 什么是Linux?
第3页:什么是操作系统
- 操作系统(Operating System)是管理和控制电脑硬件与软件资源的程序。
- 程序是指令集。
- 操作系统存在的理由:
第4页:什么是操作系统用户硬件资源
直接使用?对不起,不是所有人都有这个能力
第5页:什么是操作系统用户硬件资源示意图
本页为课件示意图,图中可见:操作系统界面友好、使用简单复杂的硬件控制交给操作系统。
第6页:什么是操作系统:操作系统的基本功能
- 操作系统的基本功能
- 控制计算机启动
- 提供人机界面
- 管理硬件资源
- 管理文件
- 任务调度
- 账户服务和安全服务
第7页:什么是内核
- 内核是操作系统最基本的部分,也是最核心的部分
- 它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
第8页:什么是内核:内核的类型
第9页:什么是内核:单内核
- 单内核由一个大的程序构成,内部可以分为若干模块(或是层次或其他)。但是在运行的时候,它是个单独的二进制大映象。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。
- 优点:效率高,速度快
- 缺点:难以设计和维护
第10页:什么是内核:微内核微内核结构
- 微内核微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语仅仅包括了建立一个系统必需的几个部分,如线程管理,地址空间和进程间通信等(内核中的内核)。其它的操作由单独的进程提供。
- 优点:层次清晰、易于定制、可维护性好
- 缺点:运行慢、效率低
第11页:Unix=内核+实用工具
- 内核是基础,只有内核,没有实用工具,操作系统也能运行
- 实用工具调用内核提供的服务和API
- 实用工具存在的理由是让操作系统能为用户提供更多的服务。
- 内核面向的是工具,工具面向的是用户。
第12页:狭义的Unix
- 最初,AT&T拥有Unix,并注册为商标UNIX,其他人不能单独使用UNIX,只能使用“UNIX操作系统”
- Unix由贝尔实验室移交到Unix系统实验室
- 1993.6,AT&T将Unix系统实验室出售给Novell公司
- 1993.10,Novell公司将“UNIX”商标转移给X/OPEN国际组织,该组织说UNIX是指通过“单一UNIX规范”认证的操作系统。
第13页:广义的Unix
- 虽然Unix被注册,但还是一直在非正式地使用,指任何类Unix的操作系统。
- 什么是类Unix呢?-包含Unix内核,可以运行Unix上的实用工具。-Unix牛人认为这个系统是Unix,那么它就是Unix。
第14页:自由软件基金会
- 部分人认为知识产权需要保护,尤其是容易复制和扩散的电子资料,如数据、软件、代码、以及电子书籍等,只能许可的条件下使用。
- 但是,有一些天才的程序员,他们鼓励复制软件,自由使用,他们会改变世界吗?
- 关键人物:Stallman,MIT AI实验室人员。他认为不允许对专有软件系统进行共享和修改,是反社会、不道德、并且错误的。
第15页:自由软件基金会示意图
本页为课件示意图,配合图形说明自由软件基金会小节的结构与流程。
第16页:自由软件基金会:Stallman于
- Stallman于是辞职,启动了自由软件基金会(Free Software Foundation,FSF),其指导原则是:“计算机用户应该能够自由地修改软件以适应自己的需求,并自由共享。”
- 自由的含义不是免费,是指修改和共享的自由。至于获取,收费并没有什么不对。为了避免误解free的含义,自由软件现在称为“OpenSource Software”。
第17页:GNU
- FSF开发的一个类Unix操作系统,全称是GNU’s Not Unixgnu计划形象照
第18页:GNU:Richard Stallman
- Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”
第19页:GPL和OSS
- 因此,Stallman觉得有必要建立一个合适的许可证协议,在许可证协议下发行OSS,倡导非盈利版权。
- Stallman编写了通用公共许可证(generalpublic license, GPL)。
- 两个原因促使GPL的出现:一、FSF开发了大量高质量的OSS;二、不是只有FSF一家在倡导OSS。
第20页:GPL和OSS:在OSS上应用GPL
- 在OSS上应用GPL,则允许任何人发行该软件、查看其源码、修改该软件并发行修改后的软件。
- GPL和OSS对于计算机软件技术的发展具有深远的意义。
- GPL中最重要的一点:任何人以OSS为基础创建一个新产品时,新产品也必须在GPL协议下发行,也就是必须公开源码。
第21页:20世纪70年代的Unix
- Unix技术由贝尔实验室扩散到Berkeley
- 1974年,Bob Fabry教授获得了AT&T一份第4版的Unix拷贝,开始进行研究并增强
- 1975年,Ken Thompson前往Berkeley进行一年的交流访问
- 1975-1982年,Bill Joy为Unix开发了大量的软件,如vi,C-Shell。
第22页:20世纪70年代的Unix:1977年
- 1977年,Bill Joy装配了第一版的BerkeleyUnix,被称为Berkeley Software Distribution(BSD)
- 1979年,AT&T公司开始商业化包装Unix进行销售,第一个商业版本的Unix称为UNIXSystem III,并很快就升级到System V。
- 1979年,所有的BSD用户都被要求购买一个AT&T的许可证,而且每年都会提升其价格。
第23页:20世纪80年代的Unix
- 截止到1980年,AT&T UNIX和BSD Unix发展都很快。但BSD的用户在抱怨,AT&T只是面向那些能支付许可证费用的用户
- 1980年,Bob Fabry教授获得了DARPA的一个大合同,开始开发Unix,用于DARPA建立的全国性网络,这个网络是Internet的前身。
- Bob Fabry教授建立了一个计算机系统研究小组(CSRG),研发Unix。
第24页:20世纪80年代的Unix:1983年
- 1983年,BSD4.2发布,非常流行
- 1983年,System V的发行,AT&T在商业上也获得成功。
- 到1985年,Unix彻底分裂为两大流派:派生自BSD和派生自System V。
- 整个20世纪80年代Unix的发展主要有两大特征:总体快速增长、不同类型Unix的增殖扩散。
第25页:
第26页:1991年Unix:等待中
- PC已经开始出现,DOS太弱、Macintosh的机器太贵,黑客的注意力都放在Unix上,但BSD不能在PC上运行,AT&T UNIX又太贵
- 计算机教学中也出现了一个问题,从SystemSeventh Edition开始,AT&T不允许其他公司的人查看源码。
- 因此,迫切需要在IBM PC上可以运行的Unix
第27页:1991年Unix:等待中
- 荷兰阿姆斯特丹的Vrije大学教授Andrew Tanenbaum,其花费三年时间设计了一种类似Unix的操作系统,这就是Minix
- Minix最大的问题是作者不同意修改,而且无法自由共享
- 1991年,GNU‘s也已经进行了2年了,但GUN’s的内核开远远没有准备好。
- 总而言之,大家都在等待着一个开放源码的类Unix内核。
第28页:真名天子:Linus Torvals
- Linus Torvals在合适的时间、合适的地点提出合适的思想
- Helsinki大学大二学生,阅读Minix12000行代码,开始编写类Unix内核
- 1991年8月25日,Linus向Usenet讨论组发了一个消息,展示自己的工作
- 1991年9月,发布第一版类Unix内核,称为Linux。
第29页:真名天子:Linus Torvals
- Linux采用单内核设计
- 到2005年,Linux称为最流行的操作系统
- Linux成功的理由:-Linus是有丰富技能和知识的程序员-Linus是完美主义者-Linus低调而谦逊,与人相处融洽-Linus有Internet天分,以GPL发布Liunx
第30页:Linux发行版
- 基于Linux内核的操作系统称为Linux发行版
- 发布一个Linux发行版需要提供一个完整的产品:内核、实用工具、编程工具以及至少一个GUI。
- 1993年的Slackware是最有代表性的Linux发行版
第31页:BSD发行版
- 1992年,CSRG创建了完全开放源码的BSD-386/BSD,撇清了与AT&T的关系。
- 386/BSD后由自愿者接管,更名为FreeBSD。
- 有人希望FreeBSD能在其他类型的机器上运行,出现了NetBSD
- 20世纪90年中期,NetBSD小组又分出了一个小组,关注安全和密码学,他们的产品称为OpenBSD
第32页:BSD发行版:为什么BSD没有Linux
- 为什么BSD没有Linux流行?-Linux在GUN GPL名义下发行,所有基于Linux的产品都能共享,而BSD许可证允许基于BSD的新产品可以不共享。-Linux出现的时机更好,比386/BSD早发布了一年,占得了先机。
第33页:应该用什么类型的Unix
(1)如果使用Unix是为了学习它如何运转、如何定制工作环境、如何编程或只是为了寻找乐趣,可以用Linux。下表给出了目前流行的Linux发行版,所有这些发行版都可以在Internet上找到,大多数可以免费下载,如果无法确定用哪一种,推荐使用Ubuntu。
第34页:
第35页:应该用什么类型的Unix:(2)如果
(2)如果在一家公司工作,而且正在寻找一种不需要操心的操作系统,那就用FreeBSD;如果在家里工作,且希望运行一个服务器(如,Web服务器),也请选择FreeBSD。如果硬件系统不支持FreeBSD,可以选择NetBSD,如果对安全非常感兴趣,可以选择OpenBSD
第36页:应该用什么类型的Unix:(3)如果希望
(3)如果希望在Microsoft Windows系统下运行Unix,那么可以使用Cygwin。(4)如果希望使用Unix,但又希望其运行起来像Windows,那么可以使用Macintosh,并运行OS X。OS X实际上是基于Mach的微内核+BSD实用工具+Aqua的专有GUI
第37页:应该用什么类型的Unix
本页为课件图示页,源文件仅保留小节标题“应该用什么类型的Unix”,配合图形讲解(1)如果使用Unix、(2)如果在一家公司工作、(3)如果希望等内容,建议对照原图补充细节。
第38页:应该用什么类型的Unix
本页为课件图示页,源文件仅保留小节标题“应该用什么类型的Unix”,配合图形讲解(1)如果使用Unix、(2)如果在一家公司工作、(3)如果希望等内容,建议对照原图补充细节。
第39页:Unix的安装
- 只安装一个Unix系统三步骤
- 下载安装程序刻盘安装
第40页:Unix的安装:安装多系统安装多系统
- 安装多系统安装多系统时,需要先安装一个特殊的程序,称为引导加载程序。每次启动时,引导加载程序为接管计算机,它的任务就是展示可选的操作系统,并根据用户选择将控制转到合适的内核。常见的Linux引导加载程序有GRUB和LILO。
第41页:Unix的安装:不安装到硬盘
- 不安装到硬盘,直接从Live CD启动Live CD是一个可引导的CD-ROM,包含运行一个完整操作系统所需的所有内容,从LiveCD启动时,可以跳过硬盘启动。Live CD可以用来尝试不同的发行版,以选择适合自己的。Live CD还适合用在别人的PC上。
第42页:Unix的安装:不安装到硬盘
- 不安装到硬盘,直接从USB启动Live CD最大的问题是无法保存信息。如果将Live CD保存到USB闪存中,并在启动时选择USB启动。
第43页:什么是Unix?什么是Linux?
- 具体来看Unix是一种多用户、多任务处理的操作系统,由一个类Unix内核、许多类Unix实用工具以及一个类Unix shell构成。Linux是任何使用Linux内核的Unix
第44页:什么是Unix?什么是Linux?
- 抽象来看Unix是一种为问题的解决指定特殊方法的实际应用哲理,使用Unix时,将学习以Unix的方式处理和解决问题,学习如何以Unix的逻辑方式组织自己的思路和行动。