**
操作系统发展简介及系统版本选择

作者:李老师
归档:教学
2016/7/14
快捷键:
Ctrl + 1 标题1
Ctrl + 2 标题2
Ctrl + 3 标题3
Ctrl + 4 实例
Ctrl + 5 程序代码
Ctrl + 6 正文
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意


第2章  操作系统发展简介及系统版本选择 - 图1
老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结
学无止境,老男孩教育成就你人生的起点!
联系方式:**

网站运维QQ交流群:
Linux 385168604 架构师 390642196
Python 29215534 大数据 421358633
官方网站:
http://www.oldboyedu.com

目 录
第1章 上节知识回顾……………………………………………………………………………………………………………………. 1
第2章 Linux简介…………………………………………………………………………………………………………………………. 1
2.1 什么是操作系统?……………………………………………………………………………………………………………. 1
1.2 什么是Linux?…………………………………………………………………………………………………………….. 3
2.2 Linux的起源……………………………………………………………………………………………………………………… 4
2.2.1 Unix的历史……………………………………………………………………………………………………………….. 4
2.2 Unix的5大优秀特性…………………………………………………………………………………………………….. 5
2.3 Unix操作系统的革命……………………………………………………………………………………………………… 6
2.4 Linux的诞生…………………………………………………………………………………………………………………. 7
2.5 Linux的发展历程…………………………………………………………………………………………………………… 7
第3章 Linux核心概念知识…………………………………………………………………………………………………………… 8
3.1 自由软件与FSF………………………………………………………………………………………………………………… 8
3.2 自由软件基金会FSF…………………………………………………………………………………………………………. 9
3.3 GNU知识………………………………………………………………………………………………………………………….. 9
3.3 GPL知识………………………………………………………………………………………………………………………. 9
3.4 Linux系统组成…………………………………………………………………………………………………………….. 10
第4章 Linux的特点……………………………………………………………………………………………………………………. 11
4.1 Linux为什么受欢迎?……………………………………………………………………………………………………… 11
第5章 如何选择Linux的发行版…………………………………………………………………………………………………. 12
5.1 Linux的发行版本介绍……………………………………………………………………………………………………… 12
5.2 选择适合的Linux系统学习…………………………………………………………………………………………….. 12
5.2.1 Linux发行版本应用场景…………………………………………………………………………………………….. 12
5.2.2 选择CentOS Linux的版本………………………………………………………………………………………….. 13
5.3 问答题……………………………………………………………………………………………………………………………. 14
第6章 总结………………………………………………………………………………………………………………………………… 14
6.1 linux历史回顾…………………………………………………………………………………………………………………. 14
7. 本章重点回顾…………………………………………………………………………………………………………………… 14
8. 本章知识相关考试题………………………………………………………………………………………………………… 15










第1章 上节知识回顾

q 服务器硬件
n cpu
n 内存:
u buffer与cache
u 程序
u 进程
u 守护进程
n 磁盘
u raid
q 提高用户体验的方法
n 高并发 内存==>磁盘
n 中小企业 数据写入磁盘


自习课遇到问题说明:
自己的总结,发给别人,发截图。

第2章 Linux简介

2.1 什么是操作系统?

三句话之内说明白什么是操作系统:是一个人与计算机硬件的中介。
没有用的砖头===>可以玩的砖头。
内核+shell+扩展软件:windows也有内核+explorer.exe+软件
只有硬件就是空壳子。


操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。
操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU、内存、磁盘等的管理,同时对系统资源供需的优先次序进行管理。操作系统还可以控制设备的输入、输出以及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源的管理。例如各类应用软件的安装、运行环境设置等。图1-1 给出了操作系统与计算机硬件、软件之间的关系示意图。
第2章  操作系统发展简介及系统版本选择 - 图2
图1-1操作系统与计算机软硬件关系示意图
操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件。例如:操作系统会在接收到用户输入的信息后,将其传给计算机系统硬件核心进行处理,然后再把计算机系统硬件的处理结果返回给使用者。
图1-2是简单理解操作系统作用的示意图。人机交互的窗口(你如何操作电脑的)
第2章  操作系统发展简介及系统版本选择 - 图3
图1-2 简单理解操作系统作用示意图
目前PC(Intel x86系列)计算机上比较常见的操作系统有Windows、Linux、DOS、Unix等。

思考世界上什么操作系统使用率最高?

1.2 什么是Linux?
类似windows,Linux也是一个操作系统软件,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件,多用户、多任务并且支持多线程和多CPU的操作系统。
Linux系统主要被应用于服务器端、嵌入式开发和个人PC桌面3大领域,其中服务器端领域是重中之重。
IOE IBM Oracle EMC
BAT
百度 阿里 腾讯

我们熟知的大型、超大型互联网企业(百度,Sina,淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。
从上面的内容可以看出,Linux操作系统之所以如此流行,是因为它具有如下一些特点:
q 是开放源代码的程序软件,可自由修改。
q Unix系统兼容,具备几乎所有Unix的优秀特性。
q 可自由传播,无任何商业化版权制约。
q 适合Intel等x86 CPU系列架构的计算机。
技巧:学会对阶段性知识的小结是学好运维的关键
滚雪球

2.2 Linux的起源

2.2.1 Unix的历史


Unix系统于1969年在AT&T的贝尔实验室诞生20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统。从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。图1-3给出了Unix系统诞生、发展的时间及版本分支介绍,供读者参考。


第2章  操作系统发展简介及系统版本选择 - 图4
图1-3 Unix诞生及版本分支发展简略图解
在图1-3中可以看到,本书的“主人公”Linux系统,诞生于1991年左右,因此,可以说Linux是从Unix发展而来的。
unix-linux发展史.jpg

第2章  操作系统发展简介及系统版本选择 - 图5
2.2 Unix的5大优秀特性
l 技术成熟,可靠性高
l 极强的可伸缩性
Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片,以及SMP、MPP等技术。
提示:可能是由于早期各大厂商都基于Unix进行适合自己的硬件开发,因此,Unix支持的CPU架构才更多。
l 强大的网络功能
Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用的网络通信协议,如NFS、DCE、IPX/SPX、SLIP、PPP等。
l 强大的数据库支持能力
Oracle、DB2、Sybase、Informix等大型数据库,都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。
l 强大的开发功能
正是Unix促使了C语言的诞生。

2.3 Unix操作系统的革命
70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行。
70年代末,Unix又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码。
也是在80年代初期,同样是由于之前的Unix系统版权和源代码限制等问题,使得当时大学里教学Unix系统的束缚很大。因此,当时的一个大学的教授,名字为Andrew Tanenbaum(谭宁邦),并且可以运行于x86 PC平台,这个系统的名字为Minix。
老男孩补充:由于谭宁邦开发的这个Minix系统的目的只是用于教学,因此,Minix系统的功能无法满足商用的需求,但是Minix的产生对于Linux的诞生又是至关重要的一个部分。

1984年,Richard Stallman(斯托曼)发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Foundation,FSF)和GNU项目。
当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix系统、并且是自由软件的完整操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。
老男孩补充:这个GNU系统后来没有流行起来。现在的GNU系统通常是使用Linux系统的内核,以及使用了GNU项目贡献的一些组件加上其它相关程序组成,这样的组合被称为GNU/Linux操作系统。
2.4 Linux的诞生
Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,名字为Linus Torvalds。
Linux的标志和吉祥物为一只名字叫作Tux的企鹅——Torvalds’Unix,如图1-4所示。
第2章  操作系统发展简介及系统版本选择 - 图6
图1-4企鹅Tux
2.5 Linux的发展历程
1. Linux的发展历程简介
1)1984年,Andrew S. Tanenbaum开发了用于教学的Unix系统,命名为MINIX。
2)1989年,Andrew S. Tanenbaum将MINIX系统运行于x86的PC计算机平台。
3)1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触MINIX系统。
4)1991年,Linus Torvalds开始在MINIX上编写各种驱动程序等操作系统内核组件。
5)1991年底,Linus Torvalds 公开了Linux内核源码0.02版(http://www.kernel.org),注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码。
6) 1993年,Linux 1.0版发行,Linux转向GPL版权协议。
7) 1994年,Linux的第一个商业发行版Slackware问世。
8) 1996年,美国国家标准技术局的计算机系统实验室确认Linux 版本1.2.13 (由Open Linux公司打包)符合POSIX标准。
9) 1999年,Linux的简体中文发行版问世。
10) 2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。
2. Linux发展历程中相关人物
我们一定要向前辈们致以深深地敬意,没有他们,就没有今天的Linux优秀系统存在了(如图1-5所示)。

第2章  操作系统发展简介及系统版本选择 - 图7 Snap3 Snap4 Snap1
Unix诞(蛋)生 1969年的贝尔实验室 Andrew S. Tanenbaum
(谭宁邦)
Minix开发者,教学
1984
Richard Stallman
(斯托曼)
建立公司:自由软件基金会FSF
做出和unix一样优秀但是开源的一个系统。
做了一个项目:GNU
GNU=GNU is not unix
GNU软件bash,gawk,emacs,gcc
GPL(通用公共许可)协议
1.开放源代码
2.如果你修改了源代码,必须要把修改后的内容发出来
GNU缺少内核
1984
Linus Torvalds
托沃兹

Linux之父
Linux内核
1991

1-5 Linux系统诞生发展过程中关键代表人物

第3章 Linux核心概念知识

3.1 自由软件与FSF

  1. 自由软件
    简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播。
    注意:自由软件强调的是权利问题,而非是否免费的问题。大家一定要理解这个概念,自由软件中的自由是“言论自由”中的“自由”,而不是“免费啤酒”中的“免费”。

    自由意味着freedom,而免费意味着free,这是完全不同的概念。例如:Red Hat Linux自由但不免费,CentOS Linux是自由且免费的。

    自由软件关乎使用者运行、复制、发布、研究、修改和改进该软件的自由。

    3.2 自由软件基金会FSF

    FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman于1984年发起和创办的。FSF的主要项目是GNU项目。GNU项目本身产生的主要软件包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk (GNU’s awk)等。

    3.3 GNU知识

    GNU的全称为GNU’s not unix,意思是“GNU不是UNIX”,GNU计划,又称革奴计划,是由Richard Stallman在1984年公开发起的,是FSF的主要项目。前面已经提到过,这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。
    但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。
    现在的GNU系统通常是使用Linux系统的内核、加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU/Linux操作系统。
    到1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下, GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs、gcc、bash、gawk等,至今都是Linux系统中很重要的基础软件。
    第2章  操作系统发展简介及系统版本选择 - 图11
    图1-6 GNU相关图片纪念
    3.3 GPL知识
    GPL全称为General Public License,中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是由自由软件基金会(Free Software foundation)创建的。
    1984年,Richard Stallman发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许可证(GPL),这对推动自由软件的发展起了至关重要的作用,那么,这个GPL到底是什么意思呢?
    简单的理解,GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。
    虽然整个Linux内核是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分,这一点请读者不要混淆。

    3.4 FSF,GNU,GPL小结

    FSF自由软件基金会(公司)==>GNU(项目)==> emacs gcc bash(命令解释器) gawk
    FSF(公司)===>GPL(员工守则)==>自由传播 修改源代码 但是必须把修改后也要发布出来。
    Linus Torvalds==>linux 内核
    3.4 Linux系统组成
    Linux操作系统=linux内核+GNU软件及系统软件+必要的应用程序
    表1-1 Linux系统各组成部分的贡献人员
Linux内核 GNU组件(gcc,bash) 其他必要应用程序
开发者Linus Torvalds 项目发起人Richard Stallman(斯托曼) BSD Unix和X Windows以及成千上万的程序员

1-7为Linux系统的核心组成原理示意图。
第2章  操作系统发展简介及系统版本选择 - 图12

第2章  操作系统发展简介及系统版本选择 - 图13

第2章  操作系统发展简介及系统版本选择 - 图14
图1-7 Linux操作系统组成原理简单示意图

第4章 Linux的特点

4.1 Linux为什么受欢迎?

Linux系统之所以受到广大计算机爱好者的喜爱,主要原因有两个:
一是,Linux属于自由软件,用户不用支付任何费用就可以获得系统和系统的源代码,并且可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播。
二是,Linux具有Unix的全部优秀特性,任何使用Unix操作系统或想要学习Unix操作系统的人,都可以通过学习Linux来了解Unix,同样可以获得Unix中的几乎所有优秀功能,并且Linux系统更开放,社区开发和全世界的使用者也更活跃。
Like unix

第5章 如何选择Linux的发行版

5.1 Linux的发行版本介绍

Linux内核(kernel)版本主要有4个系列,分别为Linux kernel 2.2、Linux kernel 2.4、Linux kernel 2.6,Linux kernel3.x ,更多更新的内核版本请浏览https://www.kernel.org/
Linux的发行商包括Slackware、RedhatDebian、Fedora、TurboLinux、Mandrake、SUSE、CentOS、Ubuntu、红旗、麒麟……
下面来看看其中几个重要的发行版本。
1) Red Hat:Red Hat Linux 9.0的内核为2.4.20。在版本9.0后,Red Hat不再遵循GPL协议,成为收费产品(但仍开源),发展的新版本依次为Red Hat 3.x、Red Hat 4.x、Red Hat 5.x、Red Hat 6.x、Red Hat 7.x。Red Hat Enterprise 6.x
2) Fedora:为Red Hat的一个分支,仍遵循GPL协议,可以认为是Red Hat预发布版。(游戏公测)
3) CentOS (Community Enterprise Operating System):与redhat做到二进制级别的一模一样。Red Hat的另一个重要分支,以Red Hat 所发布的源代码重建符合GPL许可协议的Linux系统,即将Red Hat Linux源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本,目前CentOS已被Red Hat公司收购,但仍开源免费。CentOS Linux是国内互联网公司使用最多的Linux系统版本,也是本书的“主人公”,本书后面所有的内容讲解都是基于CentOS这个操作系统的,绝大部分内容几乎无需任何修改同样适合其它操作系统版本。
提示:有关Linux操作系统,记住Redhat、CentOS、Ubuntu、Fedora、SUSE、Debian等即可。Redhat与CentOS的区别和联系,有时会被面试官问到,需要重点了解。

5.2 选择适合的Linux系统学习

5.2.1 Linux发行版本应用场景


第2章  操作系统发展简介及系统版本选择 - 图15

Linux发行版版本选择
Linux桌面系统 Ubuntu(乌班图)(开发人员开发平台)
服务器端linux系统 首选Redhat(免费下载和使用 更新 升级 )(有钱任性)或CentOS这两者当中选CentOS(与redhat一模一样)
如果对安全要求很高 Debian或FreeBSD
使用数据库高级服务或电子邮件网络用户 SUSE(德国多)
openSUSE
想新技术,新功能
是rhel和CentOS的测试版或预发布版
Fedora
Fedora=稳定之后=>RedHat=去logo去除收费=>CentOS
中文 红旗linux,麒麟linux

5.2.2 选择CentOS Linux的版本

本书讲解的Linux运维技术主要是基于CentOS x86_64 Linux的,绝大部分知识几乎无需任何修改同样也适用于Red Hat Linux等同源或类似Linux系统版本。
下面是CentOS的主流版本在国内互联网企业的使用现状说明:
q CentOS 5系列:占10%左右,主流版本有CentOS 5.5、CentOS 5.8、CentOS 5.10、CentOS 5.11,不推荐新手学习了。===>linux 2.4
q CentOS 6系列:占45%左右,主流版本有CentOS 6.2、CentOS 6.4、CentOS 6.6、CentOS 6.9,推荐新手学习。===>linux 2.6
q CentOS 7系列:%45,主流版本有Centos7.1 Cetnos7.4 Centos7.5、Cetnos7.6
操作系统下载地址:
http://vault.centos.org/
小面试题:你们公司服务器使用的版本系统是什么?
Centos 6.8 x86_64 内核版本 2.6.32
CentOS 7.6 x86_64 内核版本 3.10.0
面试技巧:大家被面试官问及使用的是什么操作系统时,一定要一次性说出来(系统版本、内核版本、32位还是64位),例如:我的工作中使用的是CentOS 6.7 x86_64位Linux系统,内核版本为2.6.32-573,这才是一个合格的Linux运维人员的表现。

5.3 问答题

当他人问起使用什么系统时,要回答完整
Linux操作系统=内核+系统软件+应用程序
centos6.7 x86_64 内核版本2.6.32-573
第2章  操作系统发展简介及系统版本选择 - 图16
[root@oldboyedu ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@oldboyedu ~]# uname -r
2.6.32-573.el6.x86_64
[root@oldboyedu ~]# uname -m
x86_64
[root@oldboyedu ~]# uname -a
Linux oldboyedu 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
CentOS7
[root@oldboyedu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@oldboyedu ~]# uname -r
3.10.0-123.el7.x86_64
[root@oldboyedu ~]# uname -m
x86_64
[root@oldboyedu ~]# uname -a
Linux oldboyedu 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

第6章 总结

6.1 linux历史回顾

贝尔实验室研发出unix,后来停止公开源代码,谭宁邦教授为了教学,研发出Minix类unix系统。后来Linus Torvalds接触到Minix之后想将这个系统移植到自己的386计算机上,1991年将0.02内核版本发到网上,才有了现在的Linux。

7. 本章重点回顾
1) 了解什么是操作系统以及操作系统简单原理图。
2) 了解Unix的发展历史。
3) 了解市面上的常见Unix系统版本。
4) 了解Unix及Linux诞生发展的几个关键人物。
5) 重点了解GNU,GPL的知识。
6) 了解Linux系统的特点。
7) 重点Linux系统的常见发行版本,不同场景选择。
8) 重点了解CentOS和Redhat的区别和联系。
9) 了解CentOS各个版本的应用场景及企业应用情况。
10) 学会搭建学习Linux的环境。
注意:最好是能口头表达出上述了解的内容。



8. 本章知识相关考试题
1) 请详细描述GNU的相关知识和历史事件?(记忆-看图说话 蛋(unix)-人(谭宁邦)-人(斯托曼)-人(Torvalds))
2) 请描述什么是GPL以及GPL的内容细节?
3) 企业工作中如何选择各Linux发行版?
4) Red Hat Linux和CentOS Linux有啥区别和联系?