转载于 https://blog.csdn.net/weixin_45031801/article/details/133551510
文章目录
- 1、前言
- 2、Linux 发展史
- 2.1 UNIX 发展史
- 2.1.1 C 语言对 UNIX 的影响
- 2.2 Linux 的诞生
- 2.2.1 概述
- 2.2.2 开源的优势
- 2.3.3 系统结构
- 内核层
- Shell层
- 应用层
- 3、Linux 应用领域
- 3.1 服务器领域
- 3.2 嵌入式应用领域
- 3.3 个人桌面领域
- 3.4 云计算/大数据领域
- 4、Linux 的发行版本介绍
- 4.1 CentOS
- 4.2 Ubuntu
- 4.3 Fedora
- 4.4 Kali Linux
- 4.5 Debian
- 5、总结
1、前言
本文主要是介绍 Linux 的发展情况以及代表人物,这里并不需要掌握,熟悉即可,这是作为一个合格的 Linux 学习者,这些东西是需要了解的,而且对于之后的学习与感悟是必不可少的。通过了解Linux的历史,相信你会收获不小!
2、Linux 发展史
在介绍Linux之前,先来看一下它的前身:UNIX
2.1 UNIX 发展史
UNIX 操作系统由 肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明的。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由 贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。
值得可惜的是,由于 Multics 工程计划所追求的目标太庞大,过于复杂,以至它的开发人员都不知道要目标工程需要做到什么样子,最终以失败收场。
以 肯•汤普森 为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,并于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。
2.1.1 C 语言对 UNIX 的影响
自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事 丹尼斯•里奇 发明了传说中的 C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。
到了 1973 年,UNIX 系统的绝大部分源代码都用 C 语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与 C 语言是一对孪生兄弟,具有密不可分的关系。
图为 肯•汤普森 与 丹尼斯•里奇 的合影,天才都是不修边幅的……
随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。
20 世纪 70年代初,计算机界还有一项伟大的发明——TCP/IP 协议,这是当年美国国防部接手 ARPAnet 后所开发的网络协议。美国国防部把 TCP/IP 协议与 UNIX 系统、C语言捆绑在一起,由 AT&T 发行给美国各个大学非商业的许可证,这为 UNIX 系统、C语言、TCP/IP 协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这三个领域影响至今。肯•汤普森和丹尼斯•里奇因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖。
2.2 Linux 的诞生
Linux 内核最初是由 林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他只是觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,也可能是出于英雄主义。于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10000 行代码。
2.2.1 概述
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,它是一个性能稳定的多用户网络操作系统。
Linux 操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux 存在着许多不同的版本,但相同的是它们都使用了 Linux 内核。Linux 可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux 这个词本身只表示 Linux 内核,但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统。
2.2.2 开源的优势
林纳斯•托瓦兹没有保留 Linux 源代码的版权,而是公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。
同时吸引了更多的有志之士加入开发,现在只有 2% 的 Linux 核心代码是由 林纳斯•托瓦兹 自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由林纳斯•托瓦兹和后来陆续加入的众多 Linux 爱好者共同开发完成的,当然也有黑客。相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。
林纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,他还搞出了世界上最先进的分布式版本控制系统 Git 。
Linux 的 Logo 是一只企鹅。企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。
2.3.3 系统结构
Linux 系统可以抽象为 3 个层次,如下图所示。底层是 UNIX / Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。
内核层
内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。
Shell层
Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。
应用层
应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),任何系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome、KDE 等。
X Window 与微软的 Windows 图形环境区别就在于:
① Linux 系统与 X Window 没有必然捆绑的关系,也就是说,Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
② Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。(这里才是重点)
3、Linux 应用领域
自诞生至今,Linux 系统经过无数人的开发与完善,逐渐发展成了与 Unix、Windows 并列的操作系统,且应用于人类生活的诸多领域,包括服务器领域、嵌入式领域和桌面应用领域等。
3.1 服务器领域
Linux 系统最显著的优点便是稳定,这是企业服务器对系统的首要要求。此外,Linux 系统是自由软件,还具备体积小、价位低、可定制等优点,可用于搭建 Web、数据库、邮件、DNS、FTP 等各种服务器。总的来说,使用 Linux 搭建的服务器不仅功能齐全、稳定性高、运营成本小,还无需考虑版权问题,因此 Linux 系统逐渐渗入到了电信、政府、教育、银行、金融等各个行业,在服务器领域的应用也越来越广泛。
3.2 嵌入式应用领域
由于具有成本低廉、可设定性强的特点,Linux 在嵌入式应用领域的使用也极其广泛,从路由器、交换机、防火墙等因特网设备,到冰箱、空调等各种家用电器,以及自动贩卖机等专用的控制系统都有 Linux 系统的身影。此外,Linux 也是目前移动设备上常用的操作系统之一。
3.3 个人桌面领域
近年来,特别在国内市场,Linux 桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的 Linux 桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
3.4 云计算/大数据领域
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。
4、Linux 的发行版本介绍
4.1 CentOS
CentOS 是一款企业级 Linux 发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS 值得一试。此外,CentOS 的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS 使用 YUM 来管理软件包。
4.2 Ubuntu
Ubuntu 是 Debian 的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu 侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行 Ubuntu Linux 的移动设备上很常见。Ubuntu 是新手用户肯定爱不释手的一款操作系统。
红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。
4.3 Fedora
小巧的 Fedora 适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
4.4 Kali Linux
Kali Linux 是 Debian 的一款衍生版。Kali 旨在用于渗透测试。Kali 的前身是 Backtrack。用于 Debian 的所有 Binary 软件包都可以安装到 Kali Linux上,而 Kal i的魅力或威力就来自于此。此外,支持 Debian 的用户论坛为 Kali 加分不少。Kali 随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(不谈论恶意黑客)青睐的操作系统。
4.5 Debian
Debian 运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。
5、总结
通过上面对linux的发展历程、应用领域,包括对各个版本的介绍,相信大家对Linux系统有了外观上的了解,之后还会更新一些比较技术性的博文,大家一起讨论学习。