MINIX 有一些性能令我很不满意,其中最大的失望是终端仿真( terminal emulation )。仿真很重要,因为我只能依赖这个程序,才能让我家里的电脑模仿大学的电脑。每当我拨电话接通大学的电脑,使用强大的 UNIX 工作或仅仅是上网时,都使用终端仿真程序。
于是我开始做一个项目,制作自己的终端仿真程序。我不想在 MINIX 底下做这个项目,而是想在硬件水平上完成它。这个终端仿真项目也是一个很好的机会,可以让我了解 386 硬件的工作性能。我前面已经说过,这时正值赫尔辛基的冬天。我的电脑又笨又大。这个项目最重要的部分就是悟出这台机器都能做些什么,并从中获得乐趣。
我不得不从 BIOS 开始, BIOS 是计算机启动的早期 ROM 编码。它可读软盘和硬盘。所以这次我在软盘上操作。它读出软盘的一个扇区并跳到那里。这是我的第一台 PC ,我不得不学着如何进行这种操作。 386 是以“常规模式”启动的。但为了充分利用全部的 CPU 和进入 32 比特模式,你只得进入“保护模式”。在此之前,你得进行大量的复杂的测试。
为了制作仿真程序,你需要了解 CPU 是怎样工作的。其实,我用汇编语言收发室的部分原因就是为了了解 CPU 。其他你还需要了解的事情包括:怎样写入显示器,怎样读键盘输入,怎样读写调制解调器 — 但愿我的这些文字不会把非电脑迷们吓跑。
我想出两条独立的线程。一条线程从调制解调器读出,然后在显示器上显示。另一条线程从键盘上读出,然后写入调制解调器,这样就会在两条线程上运行着两条管道。这叫做任务转换, 386 有支持这一程度的硬件。
我写的最早的试验程序是使用一个线程将字母 A 写到显示器上。另一个线程写 B 。我知道,这听起来没有什么奇怪的。我把此编入程序,让其在一秒钟之内出现若干次。在定时器的帮助下,我使这个程序这样运转:显示器上先出现一连串的字母 A ,然后突然之间,转变成一连串的字母 B 。从实际的角度看,这是一个完全没有任何用处的练习。但却是一个很好的方式,显示出我的任务转换是可行的。做到这一点大约花了我一个月左右的时间,因为我必须一边做一边学习。
于是,最终我便能改变由一连串 A 和一连串 B 组成的两个线程,从而使数据一个读自调制解调器,再写入显示器,另一个读自键盘,再写入调制解调器。我有了自己的终端仿真程序。
每当我想读新闻,我就运行自己的程序。我把自己的软盘插进,重新启动机器,就能从大学的计算机里读新闻了。倘若我想改进终端仿真组合程序,我就启动 MINIX ,用它进行编程。
对此我感到非常骄傲。
对于我的了不起的个人成就,萨拉是了解的。我显示给她看,她盯着显示器看了大约五秒钟,看着上面是一串 A 和一串 B ,说了声“很好”,便没什么感觉地走开了。我意识到我的成绩看上去并不辉煌。它虽然看上去平平,背后却包含了大量的工作,犹如你指给人看你铺设了一条长长的柏油马路,但想向别人解释这条马路的意义是完全不可能的。另一个目睹我成绩的人大概是拉尔斯 — 另一个讲瑞典的学生,他和我同一年主修的计算机专业。
当时是三月,也可能是四月,就算彼得盖坦街上的白雪已经化成了雪泥我也不知道。不过我也并不关心。大部分时间我都穿着睡衣,趴在我相貌平平的计算机前。窗户上的窗帘遮得严严密密,把我和阳光 — 更不用说外部世界 — 隔离开来。我每月都要为新电脑付款,预计在三年之内付清。当时我不知道的是,我的款项在第二年的就不用再付了。那时我已经写出了 Linux ,它将被许多人见到,而不仅仅只是萨拉和拉尔斯。当时,现在跟我一起在 Transmeta 公司工作的彼德 ? 安文( Peter Anvin ),为了帮我偿付我的电脑钱,开始在因特网上为我募捐。
钱就这样来了。别人都知道 Linux 并没有让我获利,于是人们便觉得,让我们大家凑点钱,替李纳斯把电脑钱还清。
这实在太好了。
我实在是没有钱。我一向认为不应该向别人要钱或乞求钱,这一点非常重要,但事实上我却得到了钱,所以……让我激动得无话可说。
Linux 操作系统就是这样开始的。
我的实验程序变成了终端仿真组合程序。
《熏鲱》杂志将我派往芬兰,去采写报道奥卢的文章。奥卢是一个新崛起的高科技中心,虽然它的位置十分可怕:离北极圈开车只有几个小时的距离,里面却有一百四十一家新成立的公司。这是一次极好的机会,我可以在赫尔辛基见到李纳斯的父母和他的妹妹萨拉。
李纳斯父亲尼尔斯的绰号叫尼基,他在赫尔辛基火车站广场对面一家饭店的大堂里见到我,饭店的名字叫瓦库那。他身材瘦长,戴着厚厚的眼镜,留着列宁式的胡子。他刚刚结束了芬兰新闻社派他在莫斯科长达十年的工作,目前正在写一本关于俄国的书,并正在考虑是否去华盛顿任职。他觉得那个地方没有什么意思。几个月前,他荣获了著名的全国新闻奖,他的前妻安娜后来说那个奖项“使他变得温和了许多”。
黄昏时分,他开着他的沃尔沃 S70 轿车,拉着我去看被白雪覆盖的、李纳斯成长的地方。他指给我看一幢结实的建筑物,说那是父子俩都曾就读过的小学。然后我们又驱车路过了李纳斯生下来后度过的最初三个月的他祖父母的公寓,接着又来到了那栋俯瞰花园的楼房,他们全家在那里过了七年。其中的一年尼基曾前往莫斯科,成为一名共产主义者。当时李纳斯五岁。而后他又指给我看那座黄色的建筑物,尼基与安娜离婚后,李纳斯和他妹妹就住在那里。李纳斯年轻时的电子商店已经不存在,在街头原来的地方现在是一座成人录影带小铺。最后我们驱车路过了最重要的一幢物,即五层楼高的李纳斯外祖父母居住的公寓,也就是 Linux 系统的诞生地。安娜至今仍住在那里。它看上去就像是十二月底曼哈顿的东区。
尼基很滑稽,又聪明,善于自嘲,而且许多动作和他儿子一样,比如在说话时喜欢用一只手握住自己的下巴。他们俩笑起来也很相似。然而这位社会主义的忠实信徒和他儿子不同的是,他终生热爱体育。他在篮球队打球,天天跑五英里,每天早晨在结冰的河里冬泳。虽然他已经五十五岁,但走起路来却精神抖擞,看上去只有他三分之二的年龄。他和李纳斯的另一个区别是:尼基似乎过着一种非常复杂的浪漫生活。
我们在赫尔辛基市中心的一家拥挤的餐厅里吃晚饭,尼基谈起了李纳斯作为一个激进的共产党人的儿子成长起来所面临的困难。他说他自己常常出外演讲,一度还做过一个小官。他说李纳斯由于父亲的激进政治观点,常常受到同学们的挪揄,有些父母甚至不让他们的孩子和他一起玩。正因为如此,尼基解释说,李纳斯的童年生活虽然被左倾的政治思想所包围,他却努力使自己从这种氛围中脱离开来。尼基说:“他不让我谈论我的观点,我一开口讲他就会离开房间。要么他说话时就总跟我对着干。我知道,由于他有这样一个父亲,在学校里总是受到嘲弄。他对我的态度是:‘别让我陷入这种尴尬的境地。’”
尼基把带到他家,他说我们可以在他的厨房里喝两杯啤酒。他的家坐落在中央商业区的北部,那里一排排的楼房是二十年代为工人阶层建造的。我们爬上楼梯到了他的公寓,在门口把鞋子脱掉。他的房间让人回想起六十年代末期反对工业文明的景象:灯罩是用手织的篮子做的,
墙上挂着第三世界的图片,屋子的角落里还垂吊着各种植物。我们在厨房的餐桌前落座。尼基一边斟啤酒一边谈起了他当父亲的感受:“一个当父母的人不应该从他养育了自己孩子的角度去想问题。”他说。这时他用手机给和他同居的一个女人打电话。他说李纳斯现在刚刚
开始阅读他多少年来一直敦促他读的历史书籍,但李纳斯大概还从来没有读过他自己爷爷写的诗歌。
我问尼基他是否对电脑程序表示过任何兴趣,或让李纳斯教给他一些最基本的电脑常识。他回答说从来没有。他说父子完全是不同的个体,而深入探究李纳斯的激情就等于“侵犯他的灵魂”。看起来,他作为一个名人的父亲似乎不觉得有什么让人不舒服的地方。他获得全国新闻奖后,有一家报纸发表了一篇关于他的小传,其中引用他的原话说,在李纳斯还很小的时候,每当他去外面的操场接李纳斯时,别的孩子就会指着他说:“瞧,那是李纳斯的爸爸。”
李纳斯的妹妹萨拉 ? 托沃兹是乘火车从她的家赶过来的,她的家在一座小城市里,位于赫尔辛基以西,那里街道的牌子首先是瑞典语,其次才是芬兰语。在那里,她买得起带澡盆和桑拿浴的公寓,而且那里的人们在大街上讲的是瑞典语,而不是芬兰语,这让她感到很高兴。正如她本人解释的那样,她是少数民族中的少数民族:在少年时期,她就皈依了天主教,将自己划归到不到百分之十的芬兰公民之中。她不信教的父亲为此曾在几个礼拜的时间里气愤地不认这个女儿。
今天她来到赫尔辛基,是实施一项政府资助的项目,给年轻人教授《教理问答》。她为人爽快乐观,虽然已经二十九岁,却像一个诚恳热心的高中生似的有着真诚的精神。她皮肤白晰,圆圆的脸,和她的哥哥有点相似。但显而易见,和她哥哥相比,她更爱与人接触。她总是不停地按手机上的号码,给她的朋友发出信息,约他们当天晚上见面,然后又不停地查看他们的回答。她所做的翻译生意非常成功。
当时是中午,萨拉带着我去见她的母亲,并一起吃午饭。在路上,她时不时停下来指给我看童年呆过的地方,比如猫园和小学。“我父母是地地道道的共产主义者,我们就是在这种环境下长大的,认为苏联是最好的。我们还去过莫斯科,”她解释说,“我记得最清楚的是那里的一家特大的玩具店,赫尔辛基所有的玩具店都不如那家大。”她父母在她六岁时离了婚。“我刻他们对我说,爸爸 永远搬出去住了。我当时觉得这很好。这样一来就不会再吵架了。其实他是去莫斯科长驻,于是我们慢慢习惯了他不在身边。”她说。萨拉十岁时,决定搬到她父亲那里去住,不再和她妈妈和哥哥一起住。她父亲当时搬到了邻近的城市艾斯普。“这并非因为我不想和妈妈一起住。我是不想和李纳斯住在一起。这样一来,除了周末,我们俩就不用吵架了。我们俩总是吵个没完没了。随着我们渐渐地长大,我们俩吵的也少了。”
我们来到她妈妈位于一层的公寓。安娜 ? 托沃兹见到我们后非常高兴。她的绰号叫米基。她拒绝让我遵循芬兰人的习惯,把鞋子脱掉。“别傻了。我这地方本来就脏得一塌糊涂。不脱鞋子也无所谓。”她个子不高,黑头发,反应敏感,非常机智。我们刚刚到达,电话铃就响了。一个地产商想让我去年看一个空着的公寓,这样我就可以将它描绘给米基在美国的儿子,并把房子的所有材料亲自交给他,因为李纳斯有可能要买下这个房子,作为在赫尔辛基的临时住所。于是我们进入了那幢庞大的公寓楼。那个房地产商长得怪怪的,有点像《美国美人》影片中的一个人物。他让我们在观看房子之前,先在鞋子上套一个蓝色布鞋套。过了一会儿,房地产商自鸣得意地说:“你们瞧这栋房子,要是你们有不希望被太阳损坏的古董的话,这里是最理想不过的了。”米基狡黠地朝我瞟了一眼,然后不无嘲讽地说:“哦,你说话真风趣,干吗不直说这个房子没有阳光?”
我们又回到了她不大的厨房。米基坐在一个长方形的餐桌旁,餐桌上铺着一张五颜六色的桌面,米基将咖啡倒入一个非常大的杯子里。她的公寓和她前夫的一样,到处都是书籍和民间艺术品。挂着的窗帘是黑白相间的。这个公寓本来有三个卧室和一个厨房。她的孩子们搬出去后,米基便搬进了过去由萨拉占着的最大的卧室。她后来把李纳斯的卧室和她从前卧室的墙壁都拆了,创造出一个巨大的带厨房的客厅。她指指一个空着的地方说:“他过去的电脑就放在那里。我想我应该在那里挂上一个牌子什么的。你觉得呢?”她一根接一根地抽着烟,讲起话来滔滔不绝,而且英语说得很漂亮,说话时几乎没有什么停顿。“李纳斯可不是你在大街上遇到的那种笨孩子”,她说。在她卧室的墙上挂着一面巨大的苏联国旗。那是乔科在一次国际跳台滑雪比赛中买的,作为礼物送给了李纳斯。李纳斯把它放在一个抽屉里,一放就是好几年,但米基把它挂在了她的床头上。
米基拿出了一个相册,里面有一些全家的照片。有一张是李纳斯两三岁时,赤身裸体地站在海滩上。还有一张也是他,也是那个年龄,在月光下瞎跑着,地点是赫尔辛基附近的一所著名的城堡。另一张是他少年时代,看上去又瘦又笨。还有一张是米基,参加她父亲的六十岁大寿。她指着她的姐姐和哥哥说:“她是个心理学家,在纽约。他是个核物理学家。而我,是我们家的败家子。对不对?可我是第一个抱孙子的。”她说完又点起一根烟。
我们去一家叫张伯伦的餐厅吃中饭。萨拉又查看她的手机,米基要了几种不同的咖啡。米基回忆说,她和尼基曾争论过是否要强迫李纳斯放弃橡皮奶头。他们争论的方式很有意思:相互写纸条,然后把纸条放在茶几上。她们还谈起了李纳斯的记忆力非常之差,常常记不住别人的相貌。萨拉说:“要是你和他一起看电影,主人公本来穿一件红色衬衫,但后来换了件黄色的,他就会问:‘这人是谁?’”他们全家还骑自行车去瑞典野营度假,晚上就睡在摆渡船上。第一天萨拉的自行车就被人偷走了,于是不得不花钱又买了一辆新的。他们的帐篷就搭在一个悬崖上。母女俩去游泳和钓鱼,李纳斯就一个人呆在帐篷里读了一整天的书。后来来了一场暴风雨,一直睡在帐篷里的李纳斯对突如其来的气候变化竟全然不知,但正是因为他在帐篷里,才没使帐篷被风吹到波罗的海里去。
米基回忆起李纳斯整天躲在他的房间里玩电脑的岁月时,不禁大笑起来。“尼基常对我说:‘把他踢出去,让他去找个工作。’但李纳斯对我不是什么负担。他的要求不多,他所要求的一切就是他的电脑。那是他的事情,他的王国,他有权那样做。我对他所作的事情一无所
知。”
如今她和其他人一样,对她儿子的活动非常熟悉。各种媒体不断地寻找米基和她的家人搜集材料。有一些问题他们都转给了李纳斯,但他告诉他妈妈、爸爸和妹妹运用他们自己的判断力回答那些问题。可每当他们写好回答后,一般又都寄给李纳斯,在交给记者之前都希望得到他的同意。
几个月前,我曾给米基发过电子邮件,请求她写点关于李纳斯童年生活的东西,米基的回信非常长,而且写得非常用心。她文章题目是“从一个电脑迷中培养出李纳斯”。在文章中,她描述了对她蹒跚学步儿子的早期观察,说在他身上看到了她父亲和她哥哥身上所具有的对科学执着的迹象。
“当一个问题出现并始终困扰一个人时,你就会看到他的眼睛变得发直,他再也听不到你在说什么,也不回答你简单的问题,而是完全陷入眼前的问题之中,在解决方案的过程中废寝忘食,而且从不放弃。当然,他在日常生活中会被琐事打断,但事后还会继续单枪匹马地思索,这时你便知道他是什么样的人了。”
她还写了李纳斯和萨拉这两个兄妹之间的争执和不可调和的不一致(比如,萨拉:“我不喜欢蘑菇、猪肝之类的味道。”李纳斯:“你必须喜欢。”)他俩偶尔也会流露出尊重对方的态度。“李纳斯在很小的时候,有一次对我袒露出对他妹妹的佩服。他那时大概是五岁或七岁,突然严肃地对我说:‘你瞧,我脑子里从来没有新的思想,我想的事都是别人先想出来的,我再把它们重新组织起来。但萨拉想的事都是别人从没有想过的。’”
“这些回忆让我觉得,我至今仍认为他没有什么‘特殊的’才华,肯定没有在‘计算机’方面的才华 — 假如他没有这方面的才华,断然会把精力放在其他方面。在某一天或某个年代,他就会集中于应付另一个不同的挑战。我想他会的(我的意思是说,我希望他不要永远陷在 Linux 软件上)。因为我认为他的动力并非是‘计算机’,也决不是名声和财富,而是诚实的好奇心和征服所面临的困难的愿望,以及用最好的办法去克服困难。因为事情就是如此,他决不会后退。
“我想我已经回答了李纳斯是一个什么的孩子的问题 — 不错,他是非常好养的。他惟一需要的就是一个挑战,剩下来的事情就由他自己去解决了。就像我和萨拉过去常说的,只要给他一间斗室,里面放上一台电脑,再给他一些面条吃,他就会觉得无比幸福。
“除了……自他打小起我就一直揪着心:照他这样怎么可能找到一个像样的女孩?我只得再次求助于父母们屡试不爽的办法 — 祈祷。你们瞧,还真灵验了!他是在大学教书时遇到塔芙的,她让他在几天之内忘记了他的猫和他的电脑,这毋庸讳言是上天的胜利,正如其一贯获胜那样。
“我唯一的希望是名声不要让他分心太多。他的出名并没有改变他,但他变得温和多了,人们接近他时他也愿意和别人说话了。拒绝别人也让他感到比较为难了。但我想让他改变的与其说是所有媒体的喧嚣,还不如说主要是由于他成为了一个丈夫和一名父亲。”
显而易见,母亲和女儿都对媒体的喧嚣了如指掌。 Transmeta 公司郑重宣布他们的决定的第二天,我们在吃中午饭时,米基就问萨拉:“今天的报纸上有什么消息吗?”
当天晚上,在她去上班的路上,她让出租汽车司机在我住在旅馆门口停下,她送来了一只松木儿童椅子,让我亲自交给帕特里夏。同时还有一张一处公寓的楼层平面图。
下面我谈谈第一次见识李纳斯那出色发明的情景。
记得那是 1992 年上半年的一天。我骑着自行车,随便溜达到了李纳斯乱七八糟的家里。和往常一样,我一边看着音乐电视节目,一边询问李纳斯有关他那操作系统的发展状况。要是平常,他会咕哝一些毫无意义的东西。这次,他却径直领着我穿过脏乱的厨房,来到他那一团糟的房间里的电脑旁。
李纳斯将用户名和密码输入了电脑,接着出现的是 command prompt 命令提显符。他展示了命令处理程序( command interpreter )的一些基本功能 — 但是没什么特别的。稍许,他回过头,脸上带着李纳斯式的微笑,问道:“看起来像 DOS ,是吗?”
我点点头。我一点也不吃惊,因为那看起来真的像 DOS— 没什么新意,真的。我真该知道,如果不是有什么特别的话,李纳斯绝不会那么笑。他转向电脑,又敲了几个功能键 — 出现了另一个登录屏,一个崭新的登录屏和崭新的命令提显符。李纳斯给我看了四个不同的提显符,告诉我这四个命令提显符可由四名不同的用户使用。
就在那时,我知道李纳斯创造了一种奇妙的东西。毫无疑问。
乔科。沃鲁马吉
“对我而言,那意味着电话一直占线,没有人能给我们打电话……后来,明信片开始从四面八方寄来。我想就是在那时,我意识到现实世界的人们确实在使用他所创造的东西。”
萨拉。托沃兹 ?