LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1625|回复: 2

有必要回顾一下linux的诞生。

[复制链接]
发表于 2009-1-7 18:57:30 | 显示全部楼层 |阅读模式
Linux的诞生

原著:Ragib Hasan, Department of Computer Science ,University of Illinois at Urbana-Champaign
[编辑]
混沌初开

那是在一九九一年,令人痛苦难耐的冷战渐渐走到了尽头。 和平安详的空气开始升起在地平线。在计算科学领域, 随着强大硬件的推出,计算机的极限能力已超出了我们的想象, 一个辉煌的未来似乎已渐露端倪。

但还是缺了点儿什么。在操作系统领域,存在着一大片空白。

一方面,DOS还统治着庞大的个人电脑王国。 比尔盖茨花$50,000从一个西雅图黑客手中买来DOS。之后, 靠着聪明的市场策略,这个简陋的操作系统悄悄渗透到了世界的每一个角落。 PC用户没有其它的选择。苹果机虽好,但它的 天价没人能承受得起。 它和大众需求保持着遥不可及的距离。

计算领域的另一个阵营是UNIX世界。但UNIX更是贵不可攀。为了追求高额利润, UNIX销售商把价码抬得足以吓跑随便哪个PC用户。 贝尔实验室曾慷慨地向高校提供UNIX的源代码。但现在, 这些源代码被小心地看管起来,不再对外公开。更令全球PC用户心烦的是, 软件市场的大玩家们没能为这一问题提供个有效的解决方案。

MINIX似乎是个选择。它是在荷兰当教授的美国人Andrew S. Tanenbaum 从零开始编写出来的。 MINIX的初衷是为了向学生讲授操作系统的内部工作原理。 MINIX的设计是面向当时最为流行的Intel 8086微处理器。

作为一个操作系统,MINIX算不上一流。但它的好处是你能得到它的源代码。 只要你有Tanenbaum写的《操作系统:设计与实现》这本书, 你就能得到那12,000行用C和汇编写的源码。头一次, 程序员或黑客可以有机会读一读操作系统的源码--- 这种被软件商严加看管的东西。 Tanenbaum用详尽简洁的笔触探讨了编写操作系统的艺术。 他是个一流的作者,迷住了一批当时计算机领域最聪明的大脑。 全世界学计算机的学生都在钻研这本书, 通过读它的源码来了解他们电脑里运行的MINIX操作系统。

Linus Torvalds就是这些学生中的一个。


[编辑]
呱呱坠地

在1991 年,Linus Benedict Torvalds还是个芬兰学生,在赫尔辛基大学念计算机专业二年级。 同时他也是个自学成才的黑客。这个长着沙滩黄头发、 说话软绵绵的二十一岁芬兰帅哥喜欢折腾他的电脑,把它不断推向能力的极限。 但他缺少一个合适的操作系统来满足他如此专业的需求。MINIX不错, 可它只适合学生,是个教学工具,而不是一个强大的实战系统。 当时,全世界的程序虫们都很看好Richard Stallman的GNU项目 ---一个致力于推出自由、高质量软件的运动。在计算科学的王国里, Stallman是个倍受尊崇的神话式英雄。 他令人景仰的职业生涯是从大名鼎鼎的 MIT人工智能实验室开始的。 七十年代中后期,在那里他开发出了著名的Emacs编辑器。 八十年代早期,商业软件公司从人工智能实验室吸引走了绝大多数优秀的程序员, 并和他们签署了严格的保密合同。Stallman为此大大不爽。他认为软件和其它产品不同, 在复制和修改方面,它不该受到任何限制。只有这样,才可能开发出更好更强的 软件。1983年,他在著名的《GNU宣言》中,向世人宣告了GNU项目的启动, 开始了贯彻其哲学的自由软件运动(注:GNU一词是‘GNU's Not Unix’的递归缩写)。 为了最终实现开发出一个自由操作系统的梦想,他得先制造些工具。 于是,在1984 年初,Stallman开始创作一个令商业企业程序员叹服的作品--- GNU C编译器(gcc)。他出神入化的技术天才,令所有商业软件程序员自愧不如。 gcc被公认为世界上最高效最强健的编译器之一。

到1991年,GNU项目已经开发出了众多的工具软件。 大家期待已久的GNU C编译器也问世了。但自由操作系统还没有出现。 MINIX也受制于版权(后来,在2000年4月, Tanenbaum在BSD许可证下发布了自由的MINIX)。 GNU操作系统内核---HURD---还在开发之中,几年之内还不可能面世。

拖了这么久,终于该说说Linus了。

1991年8月25号,Linus在MINIX新闻组发出了历史性的一贴...
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello,各位使用minix的朋友,
我正在写一个基于386(486)AT机器的(自由)操作系统 (只是出于爱好,不会做得象gnu那么大、那么专
业).我从四月份开始酝酿,现在已经做得差不多了。 我现在想知道一些你们对minix的看法,它哪点好?哪点
不好? 因为我这个操作系统和minix多少有点儿类似 (文件系统采用同样的物理布局[因现实原因,其它方面
也有类似的地方)。 我已经把bash(1.08)和gcc(1.40)移植过来了,而且它们运转正常。 这意味着在下面
个月里,我将给它加上更多实际的功能。 所以我想知道大家都希望它有哪些功能。欢迎多提建议,但我不敢保证  
能实现你的建议 :-)
Linus (torvalds@kruuna.helsinki.fi)  
附:没错,它不包含任何minix的代码, 而且它有一个多线程文件系统。 它现在不能在其它硬件上转(因为用了      
386任务切换机制,等等),而且除了AT硬盘,它基本上不支持任何其它硬件。 这就是全部了
:-(。

从这个帖子不难看出, Linus自己并没预料到他的小创造将会改变整个计算科学领域。 1991年9月中旬,Linux 0.01版问世了,并且被放到了网上。 它立即引起了人们的注意。源代码被下载、测试、修改, 最终被反馈给Linus。10月5号, 0.02版出来了,同时伴随着Linus著名的声明:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
你在怀念minix-1.1时代的美好时光吗? 那时你自己写着驱动,充满了成就感。 现在没什么好项目可做了,是
吗? 你在拚命啃一个操作系统,修改它以满足你自己的需要,是吗? 现在minix已经没什么需要你去改进的了,
你为此怅然若失,是吗? 没机会再熬通宵去改进一个小程序了,是吗? 如果是这样的话,那这个帖子就是给你的  
:-)
一个月(?)前我曾经提到过,我正在一个AT-386 机器上开发一个自由版本的、类似 minix的操作系统。 现在它终
于出来了(尽管未必能满足你的期待)。 我乐意把源代码公开出来,让它传播得更广。 它现在仅仅是0.02版(外
加一个(很小的)补丁)。 但是我已经成功地在它上面跑了 bash/gcc/gnu-make/gnu-sed/compress等程序。 我
这个小宝贝儿的源程序在nic.funet.fi(128.214.6.100) 下面的 /pub/OS/Linux 目录中可以找到。 该目录中还有
些  README 文件, 还有几个在linux下能工作的可执行文件 (bash,update和gcc,你还要求些什么呢 :-)。 完
整的内核源代码都公布在这儿了,因为里面没用到minix的源程序。 而函数库的源程序只是部分开源,所以目前还
不能提供出来。 拿到源代码后,直接编译就行了。编译完,就能转了。哈哈。 可执行程序(bash和gcc)的源代
码可以在同一网站的/pub/gnu目录里找到。

几周以后, Linux 0.03版发布了。12月份,0.10版发布了。 这时的Linux还显得很简陋。它只能支持AT硬盘,而 且不用登录(启动就进bash)。 0.11版有了不少改进,可以支持多国语言键盘、软驱、VGA、EGA、Hercules等 等。 Linux的版本号从0.12直接上升到了0.95、 0.96......不久, Linux的源代码就通过在芬兰和其它一些地方 的FTP站点传遍了全世界。


[编辑]
谁与争锋

不久,Linus开始面对挑战。他面对的不是别人,正是Andrew Tanenbaum, 那个开发出MINIX的伟大教师。在给Linus的一个回贴中,Tanenbaum写到:
“我还是坚持我的观点, 在1991年还设计这样一个整体架构的内核是个根本性的错误。 你该庆幸不是我的学生。  
这么个设计,在我这儿你得不了高分 :-)” (Andrew Tanenbaum to Linus Torvalds)

Linus后来承认说,这是关于开发Linux他所得到的最坏评价。 Tanenbaum是当时的知名教授,他说的话自然很有份量。 但这次面对Linux,他的话没能奏效,因为Linus不是个轻易服输的人。

Tanenbaum还宣称: “Linux过时了。”

现在轮到新的Linux一代开始反击了。以强大的Linux社区为后盾, Linus给了Tanenbaum一个恰如其分的回复:
你的工作是教授、研究员。这对于minix的大脑损伤是个绝妙的解释。(Linus Torvalds to Andrew Tanenbaum)

Linux 的开发在继续。不久,加入开发的人数就超过了一百,然后是数千, 然后是数十万。Linux不再只是个黑客的玩具,配合上GNU项目开发出的众多软件, Linux已经可以走向市场了。它最终在GNU公共许可证下发布, 这保证任何人都可以自由获得它的源代码,可以自由复制、学习和修改它。 学生和程序员们都没错过这个机会。

不久,软件商们也来了。Linux是自由的操作系统。 软件商们需要做的只是把各种各样的软件在Linux 平台上编译, 然后把它们组织成一种可以推向市场的形式。 这和其它操作系统在运作模式上没什么区别,只是Linux是自由的。 Redhat、 Caldera、 和其它一些公司都获得了相当大的市场,获得了来自世界各地的用户。 除了这些商业公司,非商业的编程专家们也志愿地组织了起来, 推出了他们自己的品牌---享誉全球的Debian。 配上崭新的图形界面(比如X Window System、KDE、 GNOME), Linux的各个品牌都倍受欢迎。

好戏连台,惊喜不断。除了PC机,Linux又被移植到了许多其它平台上 (PowerPC、 Sun Sparc、ARM、Alpha...Debian就支持十几种CPU)。 它还被人安装到了3com的手掌计算机上。另外,利用集群技术, 许多Linux单机可以被组织成一个整体,用于并行计算。1996年4月, Los Alamos国家实验室的研究人员利用 68台Linux单机搭建了一个并行计算系统,用它来模拟原子弹爆炸的冲击波。 与其它超级计算机不同的是,用Linux搭建的集群计算机非常便宜。 这种DIY出来的超级计算机只花费$152,000,连人工(连接68台PC的线缆) 都包括了。这价格只是同级别商业机的十分之一。 它的峰值计算速度可达每秒19万亿 (billion)次。 在世界超级计算机排行榜中它排在第315位。 它运行稳定可靠。三个月后,还不必重启动

今天,Linux最大的优势就是推动它前进的巨大开发热情。一旦有新硬件问世, Linux内核就能快速被改进以适应它。比如, Intel Xeon微处理器才问世几个星期,Linux新内核就跟上来了。 它还被用在了Alpha、MAC、PowerPC上。 甚至在手掌机这一少人问津的领域都可以运行Linux。 正如它在1991年诞生时那样, Linux正以同样的热情阔步走向新世纪。
至于Linus本人,他保持着简单的生活。不象比尔盖茨, Linus不是亿万富翁。 完成学业之后,他移居美国,在Transmeta公司找了个工作。 Transmeta公司在指导完成了一个绝密项目的研发之后, 推出了自己的Crusoe处理器。Linus是这个研发小组中活跃的一员。 最近,他和Tove结了婚,生了个女儿,取名 Patricia Miranda Torvalds。 世界范围内的计算机社区都对Linus推崇备至,到目前为止, 他是我们这个星球上最受欢迎的程序员。
发表于 2009-1-7 22:41:56 | 显示全部楼层
> 一方面,DOS还统治着庞大的个人电脑王国。 比尔盖茨花$50,000从一个西雅图黑客手中买来DOS。之后,靠着聪明的市场策略,这个简陋的操作系统悄悄渗透到了世界的每一个角落。 PC用户没有其它的选择。苹果机虽好,但它的 天价没人能承受得起。它和大众需求保持着遥不可及的距离。

别的我不懂,这里我好像还是知道的,因为苹果机绝对不是没人买得起,而是在PC流行之前它具有垄断性的地位。在那个还没有人用过PC的年代,苹果的风靡程度恐怕直比现在的PC,我天天到父亲的单位去玩苹果,很多人都在玩苹果,以那种架势,我相信如果苹果真的是天价,不会那么普及,也不会让一个小孩子任何人随便玩的。

我以为,当年苹果被PC+DOS击败,绝对不是因为价格,而是其封闭性。
回复 支持 反对

使用道具 举报

发表于 2009-3-27 13:15:35 | 显示全部楼层
学习了,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表