Linux是如何诞生的,正如Linus Torvalds自己所说_北京小赛车网站
科技传媒
北京小赛车网站 > 科技传媒 > Linux是如何诞生的,正如Linus Torvalds自己所说
Linux是如何诞生的,正如Linus Torvalds自己所说
时间: 2018-06-21 浏览次数:29
在所有计算中最著名的消息之一是在整整24年前的今天,1991年8月25日发布的:大家好,在那里使用minix-我m在克隆中为386(486)做(免费)操作系统(只是一种爱

在所有计算中最著名的消息之一是在整整24年前的今天,1991年8月25日发布的:

大家好,在那里使用minix -

我 m在克隆中为386 ( 486 )做(免费)操作系统(只是一种爱好,不会像GNU那样大而专业)。这是从4月份开始酿造的,现在已经开始准备了。

许多人已经在Usenet上的comp . OS . minix新闻组中读到或至少听说过莱纳斯·托瓦尔德的那篇文章。更多的人意识到这个(免费)操作系统最终是如何占领了计算世界的大片地区,并变得既大又专业。但是在那个著名的时刻之前呢?导致Linus创建Linux第一个公开发行版的关键事件是什么?

为了了解情况,1996年12月,我去芬兰采访了Linus在赫尔辛基的公寓。我在1997年8月发表在《连线》杂志上的一篇专栏文章中使用了他的一些回答;其中更多的出现在我2001年出版的书《叛逆代码: Linux内部和开源革命》中。下面是Linux是如何形成的更详细的解释,正如Linus own所说。

1988年秋天,莱纳斯进入赫尔辛基大学学习计算机科学。仅仅两年后,他才第一次遇到Unix :

有一门相当短的Unix课程。这是1990年秋天,大学获得了一个运行Ultrix的微斧,不管是什么,16个用户的许可证,诸如此类的东西。他们以前完全是虚拟机商店,所以这个小Unix课程的人数最多,16人,因为我们没有更多的硬件。你必须排队才能到达一个终端,但即便如此,我还是很喜欢Unix。我认为这是它的编程接口。UNIX被称为complex,但它实际上非常简单。

Linus使用的教材之一是Andrew Tanenbaum的操作系统:设计和实现。除了关于如何编写操作系统的大量详细信息之外,Tanenbaum的书还附带了一个名为Minix的小型学习系统的源代码。最初是为英特尔8088处理器编写的,后来被移植到英特尔80386。

Linus一直是芯片鉴赏家,虽然他讨厌早期的英特尔产品,但他认为80386比以前的任何芯片都好得多。 Unix样的Minix在一个半成熟的芯片上的可用性被证明是决定性的: 那是在我真的崩溃并得到一台PC的时候。在此之前,他一直在Sinclair QL上编程( Quantum Leap ),在此之前是一架Vic - 20准将。

Linus能够购买他的第一台PC,这要归功于硬件价格的下降和个人环境的良好结合。由于芬兰大学教育系统的资助方式,他得以获得助学贷款。因为他和母亲住在家里,所以他不需要把这笔贷款的大部分花在生活费上,所以可以把它挪作他用。也是圣诞节了: 我有圣诞钱之类的东西。我记得新年的第一个非假日,我去买了一台电脑。那是1991年1月5日。甚至在1996年,莱纳斯还记得他的第一台PC的规格:

[ Intel ] 386、DX33、4兆RAM,没有协处理器——实际上,半年后我不得不买一个浮点单元,因为我有仿真的东西,但有人有浮点单元,我不能确定我能让[ Linux )工作。40兆的硬盘,所以不是很大。

尽管莱纳斯一凑齐钱就冲出去买他的电脑,但他无法立即投入Unix的世界,因为Minix软盘花了几个月才出现。所以他像任何一个真正的程序员一样,通过玩MS - DOS下的波斯王子这样的游戏来消磨时间。他还在探索英特尔80386芯片的架构。莱纳斯这样描述他早期的实验:

我在测试任务切换能力,所以我只做了两个过程,让它们写在屏幕上,并有一个切换任务的计时器。一个流程写了A,另一个流程写了B,所以我看到了AAA BBB等等。前两个月我写的代码非常少,因为它有很多细节,全新的CPU,我以前从未编程过英特尔。

值得注意的是,这个非常简单的任务切换程序原来是Linux内核的种子:

在某个时候,我刚刚注意到,嘿,我几乎拥有这个[内核]功能,因为我编写A和B的两个原始进程,我把这两个进程改变成像终端仿真包一样工作。你有一个过程是从键盘读取并发送到调制解调器,另一个是从调制解调器读取并发送到屏幕。我有键盘驱动程序,因为我显然需要som与我正在写的这个东西交流的方式,我有文本模式VGA的驱动程序,我写了一个串行线路的驱动程序,这样我就可以打电话给大学,看新闻。这正是我最初所做的,只是通过调制解调器阅读新闻。

能够使用他的简单原内核阅读新闻组的一个优点是,Linus可以获得帮助他改进系统的技术问题的答案:

91年夏天,我真的利用新闻组询问有关POSIX标准的信息,诸如此类。我在看新闻,我在改进这个仿真包。然后我想下载东西,所以我必须写一个磁盘驱动程序,我必须写一个文件系统,这样我可以读Minix文件系统,以便能够写文件和读文件来上传它们。所以基本上,当你有任务切换时,你有一个文件系统,你有设备驱动程序——那就是Unix。

Linux可能已经存在了,但Linus还没有这么说。它之所以得名,是因为Linus要求提供有关POSIX规范的信息,以确保类似Unix的操作系统之间的兼容性。赫尔辛基大学的一名教职员工Ari Lemmke告诉Linus,POSIX不能在网上免费获得,而且必须付费——对于一个穷学生来说,这不是一个选择。但正如莱纳斯回忆的那样:

告诉我标准不可用的同一个人也告诉我,他感兴趣的领域是内核、操作系统。他在[有一个很小的区域,FTP服务器] FTP . funet . fi,他说: 嘿,我给你留了一个目录。所以他创建了/ pub / OS / Linux目录。

Linux是我的工作名称,所以从这个意义上说,他并没有真正给它命名,但我从来没有想过把它发布为Linux。Linux是一个非常好的工作名称,但是如果我真的把它作为官方名称使用,人们会认为我是一个自大狂,不会认真对待它。所以我为免费的Unix选择了这个非常坏的名字。幸运的是,Ari Lemmke使用了这个工作名称。之后他再也没有改变过。

在给Linux一个体面的名字的同时,lemke还启动了整个公共开发过程:

Linux的第一个版本[ ]我甚至没有宣布过;我只给几个对新闻组表现出兴趣的人发了个人电子邮件。]几周后的下一个版本好多了;我宣布了一个。第一个版本非常匆忙,部分原因是FTP网站在那里——已经在那里呆了一个月左右——我觉得我必须提供一些东西,因为我有这个网站,我必须上传一些东西到它。所以第二个版本更接近我真正想要的,我在Minix新闻组上宣布的那个版本。

早在1996年,Linus就说过: 我不知道有多少人在comp . OS . minix中获得了[这个第一个公开版本]—大概是10,20,这种大小。幸运的是,它显然大到足以启动一系列事件,导致现在使用1991年以来那个卑微任务切换器的24岁直系后裔的人相当多。

Copyright © 2017 北京小赛车网站 版权所有