Linux
1.关于Linux:
类似Windows,Linux也是一个操作系统软件,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统(Unix系统是Linux系统的前身,具备很多优秀特性),它是一个基于POSIX多用户、多任务并且支持多线程和多CPU的操作系统。
注意:POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX)POSIX标准定义了操作系统应该为应用程序提供的接口标准。
Linux系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。
Linux的特点:
▲是开放源代码的程序,可自由修改。
▲Uinx系统兼容,具备Unix几乎所有优秀特性。
▲可自由传播,无任何商业化版权制约。
▲适合Intel等X86 CPU系列架构的计算机。
Linux系统之所以受到广大计算机爱好者的喜爱主要原因有两个:
一是,Linux 属于自由软件,用户不用支付任何费用就可以获得系统和系统的源代码,并且可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播。
二是,Linux 具有Unix 的全部优秀特性,任何使用Unix 操作系统或想要学习Unix 操作系統的人,都可以通学习Linux 来了解Unix,同样可以获得Unix 中的几乎所有优秀功能,并且,Linux 系统更开放,社区开发和全世界的使用者也更活跃。
2.Linux历史:
2.1Unix的历史
说到Linux的起源,不得不提起Linux之前的Unix系统。Uinx系统于1969年在AT&T的贝尔实验室开发。20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统,从BSD系统开始,各大厂商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Uinx系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。
Unix诞生及版本分支发展简略图解
2.Unix的5大优秀特性
●技术成熟,可靠性高
使用Uinx系统时,即时运行若干年也无需重启,它依然可以工作得非常好。毫不夸张地说,只要计算机硬件不坏,Unix就很难会出问题。
●极强的可伸缩性
Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片,以及SMP、MPP等技术。
●强大的网络功能
Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的网络通信协议,如:NFS、DCE、IPX/SPX、SLIP、PPP等。
●强大的数据库支持能力
Orale、DB2、Sybase、Informix等大型数据库,都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。
●强大的开发功能
正是Unix促使了C语言的诞生,并相互促进与发展,成为当时工程师的首选操作系统和开发环境。互联网早期有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、JAVA、XML等。
2.3Unix 操作系统革命
70年代中后期,由于各厂商及商业公司开发的Unix 及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行,面且当时没有人对开发基于X86架构CPU 的系统感兴趣。另外,70 年代末,Unix又面临了突如其来的被AT&T 回收版权的重大问题,特别是要求禁止对学生群体提供Unix 系统源代码,这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。
由于Unix面临版权回收问题,以及代码不开源等的问题,这直接或间接的导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。
1984年,Richand Stallman 发起了开发自由软件的运动,并成立了自由软件基金会(FreeSoftware Foundation,FST )和GNU 项目。当时发起这个自动软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix 系统、并且是自由软件的完整操作系统,也就是要解决70 年代末Unix 版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。补充: 这个GNU 系统后来没有流行起来。现在的GNU 系统通常是使用Linux 系统的内核,以及使用了GNU 项目贡献的一些组件加上其它相关程序组成,这样的组台被称为GNU/Linux 操作系统。
也是在.80 年代初期,样是由于之前的Unix 系统版权和源代码限制等问题,使得当时大学里教学Unix 系统的束缚很大。因此,当时的个大学的教授,名字为Andrew Tanenbaum (谭邦宁),于大概1984 年开始着手编写新的用于教学的Unix 系统,目标是开发的新Unix系统尽可能的和原有的Unix 系统兼容,并且可以运行于X86PC 平台,这个系统的名字为Minix.作者补充: 由于谭邦宁开发的这个Minix 系统的目的只是用于教学,因此,Mimix 系统的功能无法满足商用的需求,但是Minix 的产生对于Limux 的诞生又是至
关重要的一个部分,
3.Linux的诞生:
Linux系统的诞生开始于芬“赫尔辛基大学的一位计算机的学生,名字为Linus Torvalds.在大学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等一些不爽的问题,无法满足年轻的Linus Torvalds 的使用需求。因此他新萌生了自己开发一个Unix 的想法,于是不久,它就找到了前文提到的邦宁教授开发的用于教学的Minix 操作系统,和我们现在一样,他把Minix安装到了他的I386 人计算机上。此后,Torvalds又开始陆续阅读了Minix系统的源代码,从Minux 系统中学到了很多重要的系充核心程序设计理念 和设计思想,从而逐步开始了Linux 系统雏形的设计和开发。
PS:简单概括:Linux系统诞生于1991年,由芬兰大学生林纳斯·托瓦兹(Linus Benedict Torvalds)和后来陆续加入的众多爱好者共同开发完成。
Linus Torvalds
Linux的标志和吉祥物为一只名字叫作Tux的企鹅——Torvalds’Unix
4.Linux的发展历程:
(1)1984年,Andrew S.Tanenbaum 开发了用于教学的Unix 系统,命名为MINIX.
(2)1989年,AndrewS.Tanenbaum 将MINIX 系统运行于X86 的PC 计算机平台。
(3)1990年,芬兰赫尔辛基大学学生Linus Torvalds 首次接触MINIX系统。
(4)1991年,LimusTorvalds 开始在MINIX上編写各种驱动程序等操作系统内核组件。
(5)1991年底,Limus Torvalds 公开了Linux 内核源码0.02 版
( http://www.kernel.org)(写下该文档是Linux的内核版本为4.14.8)
(6) 1993年,Linux 1.0版发行,Linux 转向GPL 版权协议。
(8) 1994 年,Linux 的第一个商业发行版Slackware 问世。
(9) 1996年,美国国家标准技术局的计算机系统实验室确认Linux 版本1.2.13 (由Open Linux 公司打包)符合POSIX 标准
(10)1999 年,Linux 的简体中文发行版问世。
(11) 2000 年后,Linux 系统日趋成熟,涌现木量基于Linux 服务器平台的应用,并广应用于基于ARM技术的嵌入式系统中。
5.Linux发展历程中相关人物:
向前辈致以深深地敬意,没有他们,就没有今天的Linux优秀系统的存在。
Anderw S.Tanenbaum
Minix开发者
Linus Torvalds
Linux之父
Linux系统诞生发展过程中关键代表人物
6.Linux更多特点介绍:
●可以说Linux是Unix 在PC机上的克隆版,仿Unix 内核构建,同时Unix指令集向下几乎完全兼容。
●是一个完善的多用户、多任务,支持多进程、多CPU的系统。
●具有很高的系统稳定性与可靠性。
●具有很高的系统安全性。
●有完善的网络服务,支持HTTP、FTP、SMTTP、POP、SAMIBA、SNMIP、DNS、DHCP、SSH、TEINET等。
●是基于GNU许可,自由开放的系统。
●有大量第三方免费应用程序。
●得到了众多业界厂商支持,如IBM、ORACLE、INTEL、HP、MOTO、Google等。
●具有完善的大型数据库平台,包括Oracle、DB/2、Sybasc、MySQL、Postgres等。
●具有完善的图形用户界面,包括GNOME、KDE等。
●具有完善的开发平台,包括C/Ct+、Java、Perl等,支持各类图形界面API,如GTK+、QT等。
7.Linux核心概念知识:
7.1自由软件与FSF
自由软件:没有商业化软件版权制约,源代码开放,可无约束自由传播。
自由意味着freedom,而免费意味着free,这是完全不同的概念。例如: Red Hat Linux
自由但不免费,CentOS Linux 是自由且免费的。
自由软件关乎使用者运行、复制、发布、研究、修改和改进该软件的自由。更精确地说,自由软件赋予软件使用者四种自由:
●不论目的为何,有运行该软件的自由。
●有研究该软件如何运行,以及按需改写该件的自由。当然,取得该软作原代码为达成此目的之前提。
●有重新发布拷贝的自由。
●有改进该软件,以及向公众发布改进的自由,这样整个社群都可受惠。同样,取得该软件的源码为达成此目的之前提。
FSF(Free Software Foundation):是Richard Stallman
于1984 年发起和创办的。FSF的主要项目是GNU项目。它的目标是建立可自由发布和可移植的类Unix操作系统产品。GNU 项目本身产生主要软件包括: Emacs编辑软件、gcc编译软件、bash 命令解释程序和编程语言,以及gawk (GNU' s awk) 等。
7.2GNU知识
GNU 的全称为GNU's not unix,意思是“GNU 不是UNTX”,GNU 计划,又称革奴计划,是由Richard Sallman 在1984 年公开发起的,是FSF的主要项目。前已经提到过,这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。
GNU 类Unix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如: Emacs 编辑软件、gcc 编译软件、bash 命令解释程序和编程语言,以及gawk(GNU's awk) 等,并加上了用于资源分配和硬件管理的内核。
但是GNU 自己的内核Hurd仍在开发中,离实用还有一定的距离。因此,这个GNU系统并没有流起来。现在的GNU 系统通常是使用Limux 系统的内核、加上GNU 项目奉献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU Linux 操作系统。
到1991年Linux内核发布的时候,GNU项目已经完成除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU 项目的部分组件又运行到Linux 内核之上,例如: GNU项目里的Emacs、gee、bash、gawk 等,至今都是Linux
系统中很重要的基础软件。
GNU相关图片纪念
7.3GPL知识
GPL个称为General Public License,中文名为通用公共许可,是个最著名的开源许可协议,开源社区展著名的Linux 内核城是在GPL许可下发布的GPL许可是由由软件其金会( Free Software foundation) 创建的。
1984 年,Richard Stallman 发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许同证(GPL),这对推动自由软件的发展起了至关重要的作用。
简单理解,GPL 许可的核心,是保证任何人们共享和修改自由软作的自由,任何人有权取得、修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。
虽然整个Linux 内核是基于GNU用公共许可的,但是Linux 内核并不是GNU计划的一部分
7.4LGPL知识
LGPL(Lesser General Public Liense) 相对于GPL 较为宽松,允许不公开全部源代码,为基于Linux 平台开发商业软件提供了更广阔的空间。
8.Linux系统组成
Linux 操作系统的核心为Linus Torvalds开发的Kernel,Linux 内核之上的组件分为几部分: 一部分是GNU 的组件,如Emacs、gcc、bash、gawk 等: 另一些重要组成部分则来自加利福尼亚大学Berkeley分校的BSD Unix项目和麻省理工牛院的X Windows系统项目,以及在这之后成千上万的程序员开发的应用程序等。正是Linux内核与GNU项目、BSD Unix 以及MTT 的XI1(X Windows)的结合,才使的整个Linux 操作系统得以很快形成,并得到了发展,进而组成了今天优秀的Linux系统。
Linux操作系统组成原理简单示意图
9.Linux发行版本
Linux 内核(kernel) 版本主要有3 个系列,分别为Linux kernel 2.2、Linux kernel 2 4、Linux kernel 2.6。
(1)Linux的发行商包括Slackware、Redhat、Debian、Fedora、TurboLinux、Mandrake、SUSE、CentOS、Ubuntu、红旗、麒麒....
(2) Red Hat Linux --9 0: 内核2.4.20-8
(3)Red Hat 发展: 从版本9.0 后,Red Hat 不再遵循GPL协议了,成为收费产品(但仍开源),发展的版本依次为RedHat 3.x、RedHat 4.x、RedHat 5.x、RedHat 6.x、RedHat 7.x,服务器的版本分别为:
Red Hat Enterprise Linux Advanced Platform(对应以前的Red Hat Enterprise Linux As)
Red Hat Enterprise Linux (对应以前的Red Hat Enterprise Linux ES)
(4)Fedora为Red Hat的一个分支,仍然保持GPL协议,可以认为是Red Hat预发布版。
(5)CentOS(Community Enterprise Operating System)为Red Hat的另一个分支,以Red Hat 所发布的源代码重建符合GPL许可协议的Linux系统,即把Red Hat Linux源代码中去除商标LOGO以及非自由的软件部分后的再编译版,目前CentOS已被Red Hat公司收购,但仍开源免费。CentOS Linux 是国内互联网公司使用最多的一套Linux系统。