跳转至

03-Linux的发展历史

操作系统介绍

什么是操作系统

什么是操作系统?

很多人都会问什么是操作系统,对于新手的我们来说,其实我们常用的windows xp ,7 ,8都是操作系统。

操作系统详细说明

操作系统简称: OS

操作系统的作用

管理和控制计算机系统中的硬件和软件资源,如CPU,内存,磁盘等的管理,同时对系统资源仅序的有次序进行管理,操作系统还可以控制设备的输入,输出以及操作系统与管理文件系统。下面是操作系统与软硬件之间的关系示意图:

image-20220309181309087

小结:

(1)操作系统是计算机系统中必不可少的基础系统软件。

(2)操作系统时负责管理和控制计算机中的硬件和软件资源,并合理的组织计算机系统的工作流程,以便有效的利用这些资源为使用者提供一个功能强大,使用方便的操作及使用环境。

(3)他在计算机系统硬件与使用者之间起到的接口的作用。下面是简单示意图:

image-20220309181321289

常见的操作系统

目前PC(intel x86系列)计算机上比较常见的操作系统有:Windows,Linux,DOS,Unix等。

目前发展最好的是:windows Linux

windows主要普遍应用于桌面领域

Linux主要普遍应用于服务器领域

什么是Linux

Linux是什么?

Linux是一个开放源代码的可以自由传播的类Unix操作系统的软件。他继承了Unix的很多特性,它是基于X86系列CPU架构的计算机,基于POSIX的多用户,多任务并且支持多线程和多CPU的操作系统。

Linux的应用领域:

Linux系统主要应用于服务器领域,嵌入式开发和个人PC桌面3大领域,其实主要在服务器领域比较常见

开发Linux系统的目的:

开发LInux的目的就是建立一个不受任何商业化软件版权制约的,全世界都是自由使用的类Unix操作系统兼容产品,Linux是由世界各地成千上万的程序员设计和开发实现的。

Linux的特点:

(1)Linux是开发源代码的程序,可以自由修改。

(2)与Unix系统兼容,并具备其所有优秀特性。

(3)可以自由的进行传播,没有任何商业版权制约。

(4)适合Intel等X86CPU系列架构的计算机。

Unix的历史与特性

Unix的历史

Unix的起源:

Unix诞生于AT&T的贝尔实验室,20世纪70年代逐步盛行,这个期间有产生了一个比较重要的分支BSD。从BSD系统开始各大厂商开始根据自身公司的硬件架构,以BDS系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统。

BSD算是linux的老祖宗.

当时比较不错的Unix版本!

SUN公司的Solaris

IBM公司的AIX

HP公司的HP Linux

下面是Unix系统的历史发展图:

img

Unix操作系统的革命

为什么革命?

Unix面临了突如其来的被AT&T回收版权的重大问题,特别是禁止对学生提供Unix系统源代码,这样的问题引起了当前Unix业界的恐慌,也因此产生了商业纠纷。

自由软件运动的起因:

由于Unix面临版权回收问题,以及代码不开源等的问题,这直接或间接的导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。

自由软件运动:

1984年,Richard Stallman发起了自由软件运动,并成立了自由软件基金会和GNU项目。

**GNU**项目的目的:开发一个类似Unix系统,并且是一个自由软件的完整操作系统。这样就解决了70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU系统,但是由于一些问题,GNU系统并没有流行起来,但是这个系统中很多优秀的软件及系统组件都被保存了下来,为后来Linux的诞生奠定了基础。

**Minix**系统的诞生:

同样在80年代初期,也是由于Unix系统版权和源代码的限制问题,使得当时在大学里教授Unix系统的Andrew Tanenbaum(谭邦林教授)很不舒服,于是他便自己写了一个类Unix系统并且可以运行与x86PC平台,并起名为Minix系统用于教学使用。但是Minix仅仅只是用于教学,同时无法满足商用的需求,但是它也对后来的Linux的开发奠定了基础。

Unix的5大特性

Linux继承了Unix的5大特性!

1-技术成熟,可靠性高:

使用Unix系统即使运行十年左右也无需重启,它依然可以工作,只要计算机的硬件不坏,Unix很难会出问题。

2-强大的网络功能:

互联网上比较流行的TCP/IP网络协议就是先从Unix上开发和发展而来,Unix还支持很多的其他常见的网络通信协议,如NFS,DCE,IPX/SPX,SLIP,PPP等。

3-极强的可伸缩性:

Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA,等RISC芯片,以及SMP,MPP等技术。

关于Unix为什么支持那么多CPU体系的问题?

答:因为早期由于各大厂商基于Unix进行适合自己的硬件开发,因此,Unix支持的CPU架构才很多。

4-强大的数据库支持能力:

Oracle,DB2,Sybase,Informix等大型数据库都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依旧如此。

5-强大的开发功能:

Unix促使了C语言的诞生,并相互促进与发展,成为当前工程师的首选操作系统和开发环境,正是因为如此才有很多的软件及新技术的出现几乎都在Linux上,如:TCP/IP,www,Java,XML等

Linux的历史与特性

Linux的诞生

**1-Linux**之父介绍:

Linux系统的诞生于芬兰赫尔辛基大学的一位计算机系的学生,名字为:Linus Torvalds,在大学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一天主机,且对应了对个终端,使用时存在操作等待时间很长等一些很不愉快的问题,无法满足他的需求,于是他就开始有了自己开发一个Unix的想法,于是不久,它就找到了前文提到的谭邦林教授开发的用于教学的Minix操作系统,并从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统的雏形的设计与开发。

2-Linux的吉祥物:

Linux的吉祥物为一只叫做Tux的企鹅。

image-20220309181550840

Linux的发展历程

1-Linux的发展历程:

(1)1984年,Andrerw S.Tanenbaum开发了用于教学的Unix系统,并命名为Minix

(2)1989年,Andrerw S.Tanenbaum将Minix系统运行于x86的PC计算机平台。

(3)1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。

(4)1991年,Linus Torvalds开始在Minnx上编写各种驱动程序等操作系统内核组件。

(5)1991年底,Linus Torvalds公开了Linux内核源码0,02版:https://www.kernel.org/

(6)1993年,Linux1,0版发行,Linux转向GPL版权协议。

(7)1994年,Linux的第一个商业发行版Slackware问世。

(8)1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。

(9)1999年,Linux的简体中文发行版问世(Linux的中文的兼容性不是很好,不建议使用)。

(10)2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛运用于基于ARM技术的嵌入式系统中。

2-Linux的代表人物:

在Linux的发展中正是由于很多前辈的努力,才能使得我们今天可以使用到这么优秀的系统,所以我们要好好感谢他们!

image-20220309181612486

自由软件与GPL协议

自由软件

1-什么是自由软件?

自由软件的核心就是没有商业化软件版权的限制,源代码开放,可无约束的自由传播。

注意:自由软件强调的是权利问题,而非是否免费的问题,大家一定要理解这个概念,自由软件中的自由是’言论自由‘中的’‘自由’,而不是“免费啤酒”中的“免费”。

例如:RedHat自由但不免费,CentOS是自由且免费的。

2-自由软件的权利:

自由软件的使用者可以运行,复制,发布,研究,修改和改进改软件的自由,更精确地说,自由软件赋予软件使用者的四种自由。

(1)不论目的为何,有运行改软件的自由。

(2)有研究改软件如何运行,以及按需改写该软件的自由。当然取得该软件源代码为达成此目的之前提。

(3)有重新发布复制的自由

(4)有改进该软件,以及向公众发布改进的自由,这样整个社区都可受惠,同样,取得该软件的源码为达成此目的之前提。

生命诚可贵,爱情价更高。若为自由故,两者皆可抛。

自由软件基金会FSF

1-FSF是什么:

FSF(Free Software Foundation)自由软件基金会,由Richard Stallman于1984年发起和创办的,FSF的主要项目是GNU项目。它的目标是建立可自由发布和可移植的类Unix操作系统产品,

2-GNU项目产生的主要软件:

Emacs编辑软件,gcc编译软件,bash命令解释程序和编程语言,以及gawk(GNU’ s awk)等

GUN相关知识

1-GUN介绍?

GNU的全称为为GNU‘s not Unix,意思是“GNU不是Unix”,GNU计划又称革奴计划,由Richard Stallman在1984年公开发起的,是FSF的主要项目,前面已经提到过这个项目的目标是建立一套完全自由和可移植的类Unix操作系统。

2-GNU系统介绍:

因为GNU自己的Hurd仍在开发中,离使用还有一定的举例,因此,这个GNU系统并没有流行起来,现在GNU系统通常是使用Linux系统内核,加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合成为GNU/Linux操作系统。

以下为GNU相关纪念图片:

image-20220309181719647

GUN详细协议说明:http://www.gnu.org/licenses/licenses.html

GPL协议

1-GPL协议是什么?

GPL全称(General Public License)为中文名为通用公共许可,是一个最著名的开源软件许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的,GPL许可是自由软件基金会创建的。

2-GPL的作用:

GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。

Linux内核基于GNU通用公共许可,但并不是GNU计划的一部分!

LGPL协议

1-LGPL协议:

LGPL(Lesser General License)相对于GPL较为宽松,允许不公开全部源代码,为基于Linux平台开发商业软件提供了更广阔的空间。

Linux系统的基本组成与发行版本

Linux系统的组成

1-Linux系统的组成:

Linux操作系统=内核+GNU软件及系统软件+必要应用程序

2-Linux的贡献者:

Linux开发者:Linus Torvalds

GNU项目发起人:Richard Stallman

其他必要的应用程序:BSD Unix和X Windows以及成千上万的程序员

Linux为什么受欢迎

1-Linux为什么受欢迎:

Linux运行与PC计算机上,可以实现几乎全部的Unix特性,同时具有多任务,多用户,多线程,多CPU的特性,Linux是在GNU公共许可(GPL)权限下免费获取的,是一个符合POSIX标准的操作系统。

2-Linux受欢迎的两个原因:

(1)Linux属于自由软件,用户无需支付任何费用就可以获得系统和系统的源代码,并且可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播。

(2)Linux具有Unix的全部优秀特性,任何使用Unix操作系统或想要学习Unix操作系统的人,都可以通过学习Linux来了解Unix,同样可以获取Unix中的几乎所有优秀的功能,并且,Linux系统更开放,社区开发和全世界的使用者也是比较活跃的。

3-Linux的特点小结:

(1)Linux是Unix在PC计算机上的克隆版,仿Unix内核构建,几乎与Unix指令集向下完全兼容。

(2)是一个完善的多用户,多任务,支持多进程,多CPU的系统。

(3)具有很高的系统稳定性与可靠性。

(4)具有很高的系统安全性。

(5)有完善的网络服务,支持:HTTP,FTP,SMTP,POP,SAMBA,SNMP,DNS,DHCP,SSH,TELNET服务等。

(6)基于GNU许可,自由开放的系统。

(7)支持大量第三方免费应用软件。

(8)得到众多业界厂商支持,如:IBM,ORACLE,Intel,HP,MOTO,Google等。

(9)有很完善的大型数据库平台,包括:Orcale,DB/2,Sybase,MySQL,PostgreSQL等。

(10)有完善的图形用户界面,包括GNOME,KDE等

(11)有完善的开发平台,包括C/C++,Java,Perl,支持各类图形界面API,如GTK+,QT等。

Linux的应用领域与版本选择

Linux的应用领域

1-IT服务器应用领域:

目前服务器领域三分天下分别为:Linux Unix Windows。虽然Linux是后起之秀,最近几年,Linux的市场份额不断的扩大,且每年还在不断的增长,逐渐的对Windows及Unix服务器市场的地位构成严重威胁,下面是大多数公司目前服务器端操作系统使用的情况。

image-20220309181854461

服务器端系统使用百分比

2-Linux企业级服务器的应用范围:

可以作为企业架构www服务器,数据库服务器,负载均衡服务器,邮件服务器,DNS服务器,代理服务器(透明网关),路由器等,不但时企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题。

全球及国内排名前十的网站使用的几乎都是Linux系统。

3-嵌入式Linux系统应用领域:

由于Linux系统开放源代码,功能强大,可靠,稳定性强,灵活,而且具有极大的伸缩性,再加上它广泛支持大量的微处理器体系结构,硬件设备,图形支持和通信协议,因此,在嵌入式应用的领域,从因特网设备(路由器,交换机,防火墙,负载局衡器等)到专用的控制系统(自动售货机,手机,PDA,各种家用电器),Linux操作系统都有很广泛的应用市场,在智能手机领域,Android Linux已经在只能手机开发平台牢牢的占据了一席之地。

4-个人桌面Linux应用领域:

Linux系统在这方面的支持已经很好例如:

(1)浏览器上网浏览(Firefox浏览器)

(2)办公室软件(Open Office)处理数据

(3)收发电子邮件(ThunderBird软件)

(4)实时通讯(QQ)

(5)文字笔记(vi vim emac)

(6)多媒体应用

5-Linux应用领域小结:

虽然Linux个人桌面的支持已经很广泛,但是当前的桌面市场份额还是无法和Windows竞争,这最大的障碍不在于产品本身的提问,而是用户的使用观念,操作系统和应用技能,以及曾在Windows上开发的软件的移植问题。

Linux的发行版

Linux内核(kernel)版本主要有3个系列分别为Linux kernel2.3,Linux kernel 2.4,Linux kernel2.6版本

1-Linux的重要发行版本:

(1)RedHat:RedHat Linux9.0的内核为2.4.20。在版本9.0后,RedHat不在遵循GPL协议,成为收费产品(但仍保持开源),发展版本依次为:RedHat 3.x,RedHat 4.x,RedHat 5.x,RedHat 6.x(主流),RedHat 7.x。

(2)Fedora:为RedHat的一个分支,仍然保持GPL协议,可以认为是RedHat的预发布版。

(3)CentOS:RedHat的另一个重要的分支,CentOS以RedHat所发布的源代码重建符合GPL许可协议的Linux系统,将RedHat Linux源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本。目前CentOS已被RedHat公司收购,但仍开源免费,CentOS Linux是国内互联网公司使用最多的一套Linux系统版本。

关于Linux的发行版只需记住以下即可:(面试题)

RedHat CentOS Ubuntu Fedora SUSE Debian

以下为各个Linux发行版本图解:

image-20220309181930710

面试题:RedHat与CentOS的区别?

1.去除RedHat的商标改为CentOS的商标使用。

2.CentOS去除掉非RedHat系统中非自由软件的部分,再进行编译而成的版本。

Linux发行版本的选择

1-Linux发行版本的选择:

面对市面上的很多发行版的操作系统,我们如何进行选择呢?

(1)Linux桌面系统:首选Ubuntu(开发人员作为开发平台)官网:http://www.ubuntu.org.cn

(2)服务端的Linux系统:首选RedHat或者CentOS。这两者之间首选CentOS,如果公司不在乎软件成本也可以选择RedHat,但是需要主要RedHat有版权的问题,需要官方授权才可使用,而CentOS则无版权问题。官网:https://www.redhat.comhttps://www.centos.org/

(3)安全要求很高:可以选择Debian或者FreeBSD

(4)需要使用数据库高级服务和电脑邮件网络应用的用户可以选择:SUSE系统(德国用的比较多)。官网:https://www.suse.com

(5)如果想用新技术,新功能,可以选择:Fedora系统,是RedHat和CentOS的一个测试版或者预发布版(Fedora→RedHat→CentOS)

(6)爱国人士首选系统:红旗或者麒麟。官网:http://www.redflag-linux.com/http://www.ubuntukylin.com/

推荐:绝大多数互联网公司没有什么钱,大部分都使用CentOS系统作用服务器的操作系统

CentOS版本的选择

1-国内互联网企业的主流版本:

(1)CentOS-5系列:

主要占有量25%,主流版本有CentOS 5.5,CentOS 5.8,CentOS 5.10,CentOS 5.11 尽管很优秀目前已经落后,不建议学习使用。

(2)CentOS-6系列:

主要占有量45%,主流版本有CentOS 6.2,CentOS6.4,CentOS 6.6, 目前大部分互联网企业所使用的版本,重点学习。

(3)CentOS-7系列:

刚刚发布不就,目前极少企业使用,不建议先去玩他,建议不要盲目选择最高的版本。

2-版本选择小结:

(1)建议选择学习企业当前使用的主流版本6.7,小版本的差别对于学习来说几乎无影响,

(2)只要学透一种版本,在学别的系统版本自然后触类旁通了。