Linux操作系统概述及诞生过程
发布时间:2023-06-18
1687070151173394.jpg

        对于大多数初学者来说,Linux 是一座令人畏惧的高山,似乎高得无法攀登。然而,当你进入Linux世界之后,就会发现这里面的风景真得很好,令人流连忘返。

可以说,Linux存在于人们日常生活的各个领域,尽管人们不一定意识到。但是,除了专门从事Linux或者UNIX系统开发或者维护的人员之外,其他的人很少去真正了解什么是Linux。当你去问别人这个问题时,经常得不到满意的答案,因为绝大多数人知其名而不知其意。

举个简单的例子,如果你问目前最流行的智能手机操作系统是什么,相信大部分人会告诉你,是Android。没错,Android是当前两大移动设备操作系统之一。那么Android与我们讲的Linux有关系吗?答案是肯定的,因为Android是在Linux内核的基础上开发出来的。也就是说,没有Linux,就没有今天的 Android。

接下来我们要搞清楚什么是Linux。要想弄清楚Linux的起源,不得不提操作系统的老祖UNIX。故事总是从很久很久以前开始说起,1969年,AT&T贝尔实验室的3位殿堂级的大师肯·汤普森、丹尼斯·里奇和道格拉斯·麦克罗伊开发出了UNIX系统。

最初的UNIX完全用汇编语言开发,这在现在看来几乎是不可能的事情,因为很少有人再去深入研究汇编语言了。当然,汇编语言与硬件有着密切的联系,这也影响了 UNIX在其他的硬件平台上面的运行。到了1973年,丹尼斯·里奇这位C语言大师用C语言重新编写了 UNIX。由于C 语言的应用,使得 UNIX 能够在多种硬件平台上运行。

由于最初美国反垄断法的限制,UNIX 操作系统不能作为商业产品发行。因此,AT&T贝尔实验室只能将UNIX 的代码免费授权给需要的机构使用。也正是这个缘故,使得 UNIX 在大学、研究机构,甚至商业公司中得到了广泛使用,在一定程度上促进了 UNIX 的发展。

然而,当初的 AT&T 并没有想着把 UNIX 变成一个免费的产品,而是急于从 UNIX 中获得回报。1984年,AT&T 脱离贝尔实验室,同时,UNIX也变成了一个商业产品。

UNIX操作系统的收费使得当时的人们非常想念那段免费使用UNIX的时光,于是,GNU计划便在这种背景下产生了。GNU 计划的最初目标是开发一套完全免费的与UNIX系统兼容的操作系统。可以看出来,GNU 计划正是针对 UNIX 的商业化而提出的。GNU 计划的提出,也促进了Linux的诞生。按照林纳斯·托瓦兹的说法,如果没有 GNU计划,他可能不会考虑开发 Linux 内核。

在 Linux 诞生之前,还有一个操作系统不得不提,那就是 MINIX。对于这个操作系统,国内大部分的学者都会感到陌生,因为这个系统并没有非常流行起来。但是,如果不是当时某些条件的限制,这个操作系统很有可能会变成今天的Linux。

在UNIX 商业化之后,计算机界的另外一位殿堂级大师 Andrew S.Tanenbaum 开发出了一套面向教育领域的与UNIX系统兼容的小型操作系统,即MINX,MINX10的大约12000行C语言代码就打印在当时的教科书上面。然而,尽管 Andrew S.Tanenbaum 非常希望所有学习操作系统和计算机原理的学生都能够免费获得 MINX的代码,但是MINX的发行公司却仍然收取9美金的许可费。因此,MINX 仍然存在着重走 UNIX 的老路,变成商业软件的风险。于是,当 Linux 出现之后,许多 MINX 的参与开发者便抛弃了 MINX,投向了 Linux 的怀抱。

1991年,还在赫尔辛基大学读书的小伙子林纳斯·托瓦兹对操作系统充满了好奇,同时,也对 MINX 仅用于教育用途的许可感到非常不满,于是,他决定开发自己的操作系统内核,这就是后来大名鼎鼎、风靡整个互联网的 Linux 内核。

随着开发的深入,Linux 内核越来越成熟。同时,伴随着 GNU 计划的实施,越来越多的开发者参与到 Linux应用程序的开发中来,也有许多的开发者将其他的系统平台上面的GNU项目移植到 Linux 平台上来,将其他的 GNU 项目与Linux内核整合。林纳斯·托瓦兹也修改了 Linux 内核的许可,从最初的禁止商业性的重新发布,到 GNU GPL 许可,从而吸引了更多的商业公司参与到 Linux 开发中来,包括红帽子、Novell 等,使得Linux 成为一套完整的、免费的操作系统。

接下来,该说一下 Linux名称的由来了。许多人也许会感到困惑,Linux 这个名称与林纳斯·托瓦兹的名字Linus是不是十分相似?难道林纳斯·托瓦兹以自己的名字来命名他开发的Linux操作系统内核?实际上,林纳斯·托瓦兹原本打算把他开发的操作系统内核命名为Freax,这是免费(free)、突然的念头(freak)和x三者拼凑起来的。其中,最后一个字母x暗指UNIX操作系统。可以看到,林纳斯·托瓦兹为Linux命名也费尽了心思,同时,也反映出了Linux 内核开发时的处境。Linux 这个名称也不是没有考虑过,由于与他的名字太相似,显得太过于自我,所以最终还是放弃了。

在当时,没有 Subversion,也没有Git,许多人一起分享文件,最流行的就是FTP了。为了促进 Linux 的开发,在1991年的秋天,林纳斯·托瓦兹将 Linux内核的文件上传到了ftp.funetfiFTP服务器上。林纳斯·托瓦兹当时的合作者之一,身为FTP服务器管理员的 AriLemmke 认为Freax是一个非常糟糕的名字,于是他自作主张把这个项目名称改为Linux。最终,林纳斯·托瓦兹也同意了使用这个名称,于是,Linux就正式诞生了。