摘要:Linux是怎么诞生的
芬兰可以说是世界上唯一一个国土面积按比例来说处在北极圈内最多的国家(约1/4的国土),在这个寒冷的国度里,遍布着大大小小约六万多个湖泊,芬兰也因此被人们称为“千湖之国”。在芬兰,一年中实际上只有三个季度,即春冬、夏季和秋冬。“严寒的冬天”长达8个月之久,而夏天却只有60天左右。芬兰的历史可以说是芬兰人与自然、与寒冷做艰苦卓绝的斗争的一个神话。
芬兰人的民族史诗《卡勒瓦拉》就记载了这个民族从远古时代起直到圣女玛丽亚生下英雄卡勒利亚王为止的所有神话。这部史诗的作者从丰富的民间传说、神话及歌谣中汲取了一切养料和精彩篇章,将它们收集、改编并润色整理,1835年初版时有35篇长诗,共12000多行;而1849年再版时,篇幅几乎增加了一倍,共50篇长诗,23000余行,最终成为芬兰人的“荷马史诗”。140多年后,又有一位芬兰人创造了另一部伟大的“史诗”,不过这一次他用的是计算机语言,他收集这部“史诗”创作素材的地方是覆盖全球的因特网。这使得他的创作从一开始便具有了国际性,使得他的这部“史诗”成了一部国际性的作品。这部“史诗”的问世,很有可能在本世纪以及下一个世纪成为芬兰人对于世界的最巨大的贡献。这部“史诗”的创作是从芬兰首都赫尔辛基开始的。
芬兰首都赫尔辛基是一座三面环海、风景秀丽、大小湖泊星罗棋布的城市;它还是举世闻名的大学城和国际性的政治、文化及会议中心,这里曾举行过多次西方国家的首脑会议。在距市中心约10分钟脚程的地方,有一条以卡勒瓦拉命名的大街,街道两旁,19世纪的旧式住宅和现代化的建筑相映成趣。卡勒瓦拉大街上,有一座大学生寄宿公寓,我们这部史诗的缔造者Linus Torvalds就住在这座公寓里。
现在看来,Linux并非深思熟虑的惊人之作,而是一个逐渐扩展的过程。它综合了许多次的试验、各种各样的概念和一小段一小段的程序,在不知不觉中逐渐凝聚成了一个有机的整体。这个过程与史诗《卡勒瓦拉》的成书过程极为相似。它最初的生成动机应当追溯到1990年的秋天。那时的Linus正在赫尔辛基大学学习Unix课程,所用的教材是Andrew Tanenbaum的《操作系统:设计与实施》。因为在学校上机需要长时间排队等待,于是“一气之下,我干脆自己掏钱买了一台PC机”,Linus回忆说。
Linus在自己的PC机上,利用Tanenbaum教授自行设计的微型Unix操作系统Minix为开发平台,开发了属于他自己的第一个程序。“这个程序包括两个进程,都是向屏幕上写字母,然后用一个定时器来切换这两个进程。”他回忆说,“一个进程写A,另一个进程写B,所以我就在屏幕上看到了AAAA,BBBB,如此循环重复的输出结果。”
Linus说刚开始的时候他根本没有想到要编写一个操作系统内核。1991年,他需要一个简单的终端仿真程序来存取Usenet新闻组的内容,于是他就在前两个草草编写的进程的基础上又写了一个程序。当然,他把那些个A和B改成了别的东西。“一个进程是从键盘上阅读输入然后发送给调制解调器,另一个进程则是从调制解调器上阅读发送来的信息然后送到屏幕上供人阅读。”然而要实现这两个新的进程,他显然还需要一些别的东西,这就是驱动程序。他必须为不同的显示器、键盘和调制解调器编写驱动程序。1991年的夏季,也就是在他购买了第一台PC之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。“于是我又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦当你有了任务切换器、文件系统和设备驱动程序之后,你当然就拥有了一个Unix,”或者至少是它的一个内核。Linux就以这样一种极其古怪但也极其自然的方式问世了。
这个羽毛未丰的操作系统很有可能马上夭折,所以Linus并没有在Minix新闻组中公布 。他只是在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说用户可以下载Linux的公开版本。“Linux是我的笔名,但是我要是真用它来命名的话,我担心有人会认为我狂妄自大,而且不会去认真地对待它。所以我当时选了一个很糟糕的名字:Freax,”这个字是由free(自由)+freak(怪胎)+x构成的,“我知道这听起来令人恶心。”幸好,管理这台FTP服务器的Ari Lemmke根本不喜欢Freax这个名字,他最后还是选择了Linux。到1992年1月止,全世界大约只有100个左右的人在使用Linux,但正是他们为Linux做关键性的在线洗礼。他们所提供的所有初期的上载代码和评论后来证明对Linux的发展至关重要,尤为重要的是那些网上黑客们为了解决Linux的错误而编写的许多插入代码段。
Linus就是如此这般脚步蹒跚跌跌撞撞地创建了一个网上的“卡勒利亚王国”,并开始为他的“卡勒瓦拉”收集并组织各种有用的素材。网上的任何人在任何地方都可以得到Linux的基本文件,并可通过电子邮件发表评论或者提供修正代码,Usenet还专门为它开辟了一个论坛。于是,Linux就从最开始的一个人思想的产品变成了一副巨大的织锦,变成了由无数志同道合的黑客们发起的一场运动。