Linux系统介绍

编程

linux-简介">1.1 Linux 简介

1.1.1 什么是操作系统?

  操作系统(Operating System,简称OS),是计算机系统中不可缺少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。

  操作系统的作用是管理和控制计算机系统中的硬件和软件资源,还可以控制设备的输入、输出以及操作网络与管理文件系统等事务。

1.1.2 什么是Linux?

  类似Windows,Linux也是一个操作系统软件,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统(Unix系统是Linux系统的前身,具备很多优秀特性),它是一个基于POSIX多用户、多任务并且支持多线程和多CPU的操作系统。

  注意:POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX)POSIX标准定义了操作系统应该为应用程序提供的接口标准。

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

1.2 Linux的起源

1.2.1 Unix的历史

  说到Linux的起源,就不得不提到Linux之前的Unix系统。Unix系统于1969年在AT&T公司成立的贝尔实验室诞生。20世纪70年代,它逐步盛行,这期间又产生了一个比较重要的分支,就是大约1977年诞生的BSD系统。

  从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如SUN公司的Solaris,IBM公司的AIX,HP公司的HP Unix等。

Unix诞生及版本分支发展简略图解

1.2.2 Unix的5大优势特性

1)技术成熟,可靠性高

  使用Uinx系统时,即时运行若干年也无需重启,它依然可以工作得非常好。毫不夸张地说,只要计算机硬件不坏,Unix就很难会出问题。

2)极强的可伸缩性

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

3)强大的网络功能

  Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的网络通信协议,如:NFS、DCE、IPX/SPX、SLIP、PPP等。

4)强大的数据库支持能力

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

5)强大的开发功能

  正是Unix促使了C语言的诞生,并相互促进与发展,成为当时工程师的首选操作系统和开发环境。互联网早期有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、JAVA、XML等。

1.2.3 Unix操作系统的革命

  70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司特定硬件的,因此在其他公司硬件上基本无法直接运行,而且当时没有人对开发基于x86架构的CPU的系统感兴趣。

  另外70年代末,Unix又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码,这样的问题一度引起了Unix业界的恐慌,也因此产生了商业纠纷。

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

  1984年,Richard Stallman 发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Foundation,FSF)和GNU项目,当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix系统、并且是自由软件的完整操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。

  需要补充说明的是,这个GNU系统后来没有流行起来。现在的GNU系统通常是使用Linux系统的内核,以及GNU项目贡献的一些组件加上其他相关程序组成,这样的组合被称为GNU/Linux操作系统。

  也是在80年代初期,同样是由于之前的Unix系统版权和源代码限制等问题,使得当时大学里教授学Unix系统的束缚很大。因此,当时的一个大学教授名字为 Andrew Tanenbaum (谭邦宁),于大概1984年开始着手编写新的用于教学的Unix系统,目标是开发新的Unix系统尽可能的和原有的Unix系统兼容,并且可以运行于X86 PC平台,这个系统的名字为Minix。

  不过由于谭邦宁开发的这个Minix系统的目的只是用于教学,因此,Mimix系统的功能无法满足商用的需求,但是Minix的产生对于Linux的诞生又是至关重要的一个部分。

1.2.4 Linux的诞生

  Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机的学生,名字为Linus Torvalds。在大学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等一些不爽的问题,无法满足年轻的Linus Torvalds的使用需求。因此他新萌生了自己开发一个Unix的想法,于是不久,它就找到了前文提到的 Andrew Tanenbaum (谭邦宁)教授开发的用于教学的Minix操作系统,和我们现在一样,他把Minix安装到了他的I386个人计算机上。此后,Torvalds又开始陆续阅读了Minix系统的源代码,从Minux 系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统雏形的设计和开发。

  简单概括:Linux系统诞生于1991年,由芬兰大学生林纳斯·托瓦兹(Linus Benedict Torvalds)和后来陆续加入的众多爱好者共同开发完成。

Linus Torvalds(林纳斯·托瓦兹)

Linux的标志和吉祥物为一只名字叫作Tux的企鹅——Torvalds’Unix

1.2.5 Linux的发展历程

  (1)1984年,Andrew S.Tanenbaum 开发了用于教学的Unix系统,命名为Minux。

  (2)1989年,AndrewS.Tanenbaum 将MINIX系统运行于X86的PC计算机平台。

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

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

  (5)1991年底,Linus Torvalds 公开了Linux 内核源码0.02 版。

  注意:这里公开的linux内核源码并不是现在我们使用的Linux系统全部,而仅仅是Linux内核kernel部分的代码。

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

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

  (8) 1995年,Red Hat软件公司成立,同年发布了Red Hat Linux 2.0。

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

  (10)1997年,Red Hat Linux 5.0 发布,它支持 Intel、alpha、Sparc平台和大多数的应用软件。极其简单易用的RPM模块化的安装、配置和卸载工具,使程序的安装可在15分钟内完成,软件升级也方便了。

  (11)1999年,Linux的简体中文发行版问世。

  (12)2003年4月,Red Hat Linux 9.0 发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Red Hat 的 Linux 市场份额为80%+。

  (13)2004年4月,Red Hat 公司正式停止对 Red Hat 9.0 版本的支持,标志着 Red Hat Linux 的正式完结。原本的桌面版 Red Hat Linux 发行包则与来自民间的 Fedora 计划合并,成为 Fedora Core 发行版本。Red Hat 公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版。

  (14)2005年10月,RHEL4发布。

  (15)2007年3月,主流版本RHEL5发布。CentOS系统开始在中国互联网公司流行。

  (16)2010年4月,RHEL6 beta 测试版发布。

  (17)2014年6月,RHEL7发布,RHEL7.0版本和RHEL6.0以前的版本有了较大的变化,例如,内核版本升级到3.10以上,系统启动和基本管理变化较大,文件系统也由ext改为xfs,同时在大数据、云计算、Docker方面做了很大的优化。

1.2.6 Linux的发展历程中相关人物

向前辈致以深深地敬意,没有他们,就没有今天的Linux优秀系统的存在。

Richard Stallman(理查德·斯托曼),自由软件与GNU项目发起人

Andrew Tanenbaum (谭邦宁),Minix开发者

Linus Torvalds(林纳斯·托瓦兹),Linux之父

1.3 Linux 核心概念知识

1.3.1 自由软件与FSF

1. 自由软件

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

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

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

  自由软件关乎使用者运行、复制、发布、研究、修改和改进该软件的自由。更精确的说,自由软件赋予软件使用者四种自由:

  • 不论目的为何,有运行该软件的自由。
  • 有研究该软件如何运行,以及按需改写该软件的自由。当然,取得该软件源代码为达成此目的之前提。
  • 有重新发布拷贝的自由。
  • 有改进该软件,以及向公众发布改进的自由,这样整个社群都可受惠。同样,取得该软件源代码为达成此目的之前提。

2. 自由软件基金会FSF

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

  GNU 项目本身产生主要软件包括: Emacs编辑软件、gcc编译软件、bash 命令解释程序和编程语言,以及gawk (GNU" s awk) 等。

1.3.2 GNU知识

  GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU"s Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人 理查德·马修·斯托曼 将GNU视为“达成社会目的技术方法”。

  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 系统通常是使用Linux 系统的内核、加上GNU 项目奉献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU Linux 操作系统。

  到1991年Linux内核发布的时候,GNU项目已经完成除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU 项目的部分组件又运行到Linux 内核之上,例如: GNU项目里的Emacs、gcc、bash、gawk等,至今都是Linux系统中很重要的基础软件。

GNU相关图片纪念

1.3.3 GPL知识

1. GPL

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

  1984 年,Richard Stallman 发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许可证(GPL),这对推动自由软件的发展起了至关重要的作用。

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

  虽然整个Linux 内核是基于GNU通用公共许可的,但是Linux 内核并不是GNU计划的一部分。

2. LGPL

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

1.3.4 Linux系统组成

  Linux 操作系统的核心为 Linus Torvalds 开发的 Kernel,Linux 内核之上的组件分为几部分: 一部分是 GNU 的组件,如Emacs、gcc、bash、gawk 等: 另一些重要组成部分则来自加利福尼亚大学伯克利分校的BSD Unix项目和麻省理工学院的X Windows系统项目,以及在这之后成千上万的程序员开发的应用程序等。

  正是Linux内核与GNU项目、BSD Unix 以及MTT 的XI1(X Windows)的结合,才使的整个Linux 操作系统得以很快形成,并得到了发展,进而组成了今天优秀的Linux系统。

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

  Linux系统各组成部分的贡献人员:

Linux内核

GNU组件(Emacs、gcc、bash、gawk)

其他必要应用程序

开发者Linus Torvalds

项目发起人Richard Stallman

BSD Unix 和 X Windows 以及成千上万的程序员

Linux操作系统核心组成原理示意图

1.4 Linux的特点

  • 是开放源代码的程序,可自由修改。
  • Uinx系统兼容,具备Unix几乎所有优秀特性。
  • 可自由传播,无任何商业化版权制约。
  • 适合Intel等X86 CPU系列架构的计算机。

1.4.1 Linux为什么受欢迎

  Linux系统之所以受到广大计算机爱好者的喜爱主要原因有两个:

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

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

1.4.2 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等。

1.5 Linux发行版本介绍

  (1)Linux的发行商包括 Redhat、Fedora、CentOS、Ubuntu、Debian、OpenSUSE、TurboLinux、Slackware、Mandrake、红旗、麒麒等。

  (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系统。

  参考链接:https://blog.csdn.net/u013541411/java/article/details/78884582

原文链接:https://www.cnblogs.com/jakesec/archive/2020/06/02/13027882.html

以上是 Linux系统介绍 的全部内容, 来源链接: utcz.com/z/517055.html

回到顶部