• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 505  文章 - 1034  trackbacks - 0
            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789


            子曾經(jīng)曰過(guò):編程無(wú)他,唯手熟爾!

            常用鏈接

            留言簿(94)

            隨筆分類(649)

            隨筆檔案(505)

            相冊(cè)

            BCB

            Crytek

            • crymod
            • Crytek's Offical Modding Portal

            Game Industry

            OGRE

            other

            Programmers

            Qt

            WOW Stuff

            搜索

            •  

            積分與排名

            • 積分 - 914444
            • 排名 - 14

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            第二章 一種操作系統(tǒng)的誕生

            1、

            有些人記憶時(shí)間的方法是通過(guò)他們?cè)?jīng)駕駛過(guò)什么樣的車子,干過(guò)什么樣的工作,或在什么地方住過(guò),以及追求過(guò)什么樣的情人。而我的生涯卻是由電腦來(lái)劃分的。

            我成長(zhǎng)期間只有過(guò)三臺(tái)電腦。上面提到過(guò)的VIC-20,是我外祖父留給我的遺產(chǎn)。它是“家用”電腦中的一種,是當(dāng)今PC機(jī)的前身。般長(zhǎng)64電腦后來(lái)成了VIC-20的老大哥,接踵而至的是Amiga,這種機(jī)器在歐洲特別受歡迎。這些電腦從來(lái)未像PC機(jī)甚至蘋果II那樣流行過(guò),我在玩VIC的時(shí)候,蘋果II已經(jīng)很流行了。

            在那個(gè)年代,PC機(jī)普及之前,家用電腦的多數(shù)程序使用的都是匯編語(yǔ)言。它們都有自身的操作系統(tǒng),等同于PC機(jī)里的DOS。由于機(jī)器不同,操作系統(tǒng)很可能是一種簡(jiǎn)單的格式,或是增強(qiáng)的格式。那時(shí)沒有什么技術(shù)標(biāo)準(zhǔn),許多公司都想控制市場(chǎng)。最有名的公司之一就是Amiga。我現(xiàn)在句子的開頭都要用上“在那個(gè)年代……”,真是不可思議。

            等我對(duì)VIC-20玩得已經(jīng)很精通后,我便開始攢錢想買一臺(tái)下一代的電腦。這在我生活中是一件大事。前面我已經(jīng)提到過(guò),我對(duì)我的家人在某個(gè)特定的時(shí)間住在什么地方,以及其他許多事情都記不清了,但我購(gòu)買第二臺(tái)電腦的過(guò)程卻很難忘記。

            我攢了一些圣誕節(jié)和生日的壓歲錢(我生于

            在芬蘭,給學(xué)校捐款是很普遍的事情,連公立小學(xué)也有人贊助。所以從小學(xué)四年級(jí)開始學(xué)生就能得錢,發(fā)放的方式完全由建立基金的人決定。我記得有一種捐款是獎(jiǎng)給班里最受人愛戴的學(xué)生的。當(dāng)時(shí)我們六年級(jí),全班還真的舉手投票表決,看誰(shuí)能得到那筆錢。順便說(shuō)一下,我當(dāng)時(shí)未被選中。獎(jiǎng)金僅有兩百芬蘭馬克,當(dāng)時(shí)只值四十美元,但對(duì)一個(gè)最受歡迎的六年級(jí)學(xué)生來(lái)說(shuō)似乎已不是個(gè)小數(shù)目了。

            通常情況下,在某一個(gè)學(xué)科或體育項(xiàng)目中有突出表現(xiàn)的學(xué)生都能得到獎(jiǎng)學(xué)金。許多獎(jiǎng)項(xiàng)都是由具體的學(xué)校發(fā)放或由州政府贊助的。有些獎(jiǎng)學(xué)金隨著時(shí)間的推移數(shù)目越來(lái)越少。我記得有一種獎(jiǎng)項(xiàng)最后只值一毛錢。發(fā)生這種情況時(shí),學(xué)校也會(huì)出些錢補(bǔ)進(jìn)去,但是盡管如此數(shù)目仍然不多。這樣做的目的僅僅是在每年當(dāng)中把發(fā)放獎(jiǎng)學(xué)金的傳統(tǒng)繼續(xù)下去。芬蘭對(duì)學(xué)術(shù)傳統(tǒng)非常認(rèn)真,這當(dāng)然不失為一件好事。

            于是我作為優(yōu)秀的數(shù)學(xué)學(xué)生,每年都能得到獎(jiǎng)學(xué)金。上高中后,獎(jiǎng)金的數(shù)目越來(lái)越大,最多的時(shí)候可以達(dá)到五百美元左右。因此我買第二臺(tái)電腦的錢基本上是這么來(lái)的,我每月的生活費(fèi)肯定付不起電腦錢。此外我還從我爸爸那里借了一些錢。

            當(dāng)時(shí)是1986或1987年。我十六或十七歲。那個(gè)時(shí)候我已不再打藍(lán)球。決定買何種電腦之前,我花了大量時(shí)間進(jìn)行了一番調(diào)查。當(dāng)時(shí)的PC質(zhì)量還不太好,我便決定不買PC機(jī)。

            我選擇的是Sinclair QL,你們當(dāng)中的許多人大概太年輕,對(duì)這種機(jī)子沒有記憶。

            下面是QL的簡(jiǎn)單歷史:當(dāng)時(shí),Sinclair是市場(chǎng)上32比特的機(jī)器之一,主要用于家庭。那家公司的創(chuàng)始人克里夫·辛克萊爾(Clive Sinclair)在英國(guó)等同于史蒂夫·沃斯尼亞克(Steve Wosniak)。他制作出這些電腦的配套元件,然后以Timex的品牌在美國(guó)銷售。沒錯(cuò),一家制造鐘表的公司進(jìn)口Sinclair的元件,然后再打著Times品牌在這里賣出。早期銷售的也是配套元件,他后來(lái)開始銷售組裝好的機(jī)器。

            Sinclair的操作系統(tǒng)叫做Q-DOS。這種操作系統(tǒng)是專門為那種電腦寫的。按照當(dāng)時(shí)的情況,它的BASIC語(yǔ)言非常先進(jìn),而且有著不錯(cuò)的圖形顯示。那種操作系統(tǒng)最令我興奮的一個(gè)特點(diǎn)是它能進(jìn)行多重任務(wù)處理。你可以同時(shí)操作多個(gè)程序。然而其BASIC部分卻不是多重任務(wù)處理,所以同一時(shí)間之內(nèi)你不能操作超過(guò)一個(gè)以上的BASIC程序。但如果你用匯編語(yǔ)言編寫自己的程序,就能讓操作系統(tǒng)列出時(shí)間表,把時(shí)間分隔開來(lái),這樣你就可以在同一時(shí)間操作多個(gè)程序。

            這種電腦有一個(gè)8兆赫的68008芯片,它是摩托羅拉68000芯片的第二代,是個(gè)更加便宜的版本。在內(nèi)部,第一代68000芯片是32比特,但在外部,卻以16比特與CPU之外的設(shè)備進(jìn)行連接,例如存儲(chǔ)器和硬件附加裝置。由于它只能在一個(gè)時(shí)間內(nèi)從存儲(chǔ)器上載16比特,因此16比特的操作常常比32比特的操作要快。這種結(jié)構(gòu)非常受歡迎,今天在許多嵌入裝置和轎車?yán)锶匀挥腥耸褂谩km然芯片已經(jīng)不同,但卻是基于相同的結(jié)構(gòu)生產(chǎn)的。

            我的電腦中的68000芯片在與CPU之外的設(shè)備連接時(shí)使用的是8比特,而不是16比特。但雖然它與外部設(shè)備互動(dòng)的是8比特,其內(nèi)部卻是32比特的。這就使它在編程方面顯得非常不錯(cuò)。

            它的內(nèi)存是128千字節(jié),不是兆字節(jié),這在當(dāng)時(shí)對(duì)家用電腦來(lái)說(shuō)已經(jīng)非常大了,而被它所取代的VIC-20僅僅有3.5千字節(jié)的內(nèi)存。因?yàn)樗且慌_(tái)32比特的機(jī)器,所以能毫無(wú)困難地讀取所有的內(nèi)存,這在當(dāng)時(shí)是前所未聞的。我之所以要買這種電腦便是出于這個(gè)原因。它的技術(shù)非常有意思,我喜歡它的CPU。

            我的一位朋友認(rèn)識(shí)一家商店的老板,于是我希望能在他那里打折買這種電腦。但等貨的時(shí)間太長(zhǎng),于是我便前往赫爾辛基一家最大的書店,因?yàn)槟抢镉幸粋€(gè)電腦柜臺(tái)。我的電腦就是在那里購(gòu)買的。

            那臺(tái)電腦花費(fèi)了我差不多兩千美元。當(dāng)時(shí)的情況是,低檔電腦的價(jià)格總是在兩千美元上下。只是在最近兩年這種情況才有所變化,現(xiàn)在你只需花五百美元就能買一臺(tái)PC機(jī)。這種情況和造汽車一樣,沒有人愿意生產(chǎn)低于一萬(wàn)美元的汽車。在某一段時(shí)間,低于一萬(wàn)美元就不值得制造。不錯(cuò),公司完全可以造出銷售價(jià)格為七千美元的汽車,但汽車制造商們認(rèn)為,凡是能出得起七千美元的人,如果能買到附加的標(biāo)準(zhǔn)設(shè)備,比如空調(diào),花上一萬(wàn)美元他們也高興。假如你把今年出產(chǎn)的低檔轎車同十五年前的同類轎車相比較,就會(huì)發(fā)現(xiàn),它們的價(jià)格大體一致。其實(shí),將通貨膨脹的因素去除,它們的價(jià)格或許稍微便宜一點(diǎn),然而質(zhì)量卻好得多。

            過(guò)去的電腦就是這樣。當(dāng)電腦還不是人人都買的商品時(shí),你就只能忍受兩千美元的昂貴價(jià)格。假如一臺(tái)成本很低的電腦價(jià)格非常昂貴,公司就無(wú)法大量地進(jìn)行銷售。但生產(chǎn)商制造電腦的成本并非很低,所以公司若是賣得很便宜就不合算。人們總是希望多花二百美元買臺(tái)更好的機(jī)器。

            最近兩年,制造電腦的成本已經(jīng)大幅度降價(jià)。甚至低檔的電腦質(zhì)量也非常好。公司已經(jīng)失去了許多愿意多付二百美元買一臺(tái)稍好一點(diǎn)機(jī)器的客戶,它們就只好依賴價(jià)格進(jìn)行推銷了。

            我得承認(rèn),QL的賣點(diǎn)之一就是它的樣子非常酷。

            整個(gè)機(jī)身是無(wú)光澤的黑色,帶著一個(gè)黑色鍵盤。整個(gè)樣子有棱有角,而不是那種圓圓的漂亮的機(jī)型。它的造型有點(diǎn)走極端。鍵盤有

            于是我花兩千美元買了一臺(tái)Sinclair QL。我用它所做的就是不斷地編寫程序。我總是在尋找有意思的事情做。我有一個(gè)Forth語(yǔ)言解釋程序和編譯程序,純粹是為了用著玩。Forth是一種很怪的語(yǔ)言,現(xiàn)在已經(jīng)沒有人使用。它是一種挺好玩而且在市場(chǎng)上有利可圖的語(yǔ)言,因?yàn)榭梢宰鲈S多事情而在八十年代被廣泛運(yùn)用,但從來(lái)沒有特別普及過(guò)。它對(duì)不懂技術(shù)的人來(lái)說(shuō)非常難于掌握。其實(shí)這種語(yǔ)言也沒有什么太大用處。

            我開始自己編寫工具性程序。我最初為這臺(tái)機(jī)器買的東西之一是一個(gè)攜帶EEPROM(電子可讀及可編程序只讀存儲(chǔ))卡的擴(kuò)展底座。這是利用特殊模件自己編寫的內(nèi)存,關(guān)機(jī)后它仍存在。這樣一來(lái),需要時(shí)我就能隨時(shí)獲得那些工具,沒必要將它們寫入內(nèi)存,于是就能占用珍貴的內(nèi)存進(jìn)行編程了。

            使我對(duì)系統(tǒng)感興趣的是,我買了一個(gè)軟盤控制器,因?yàn)橐巡槐卦偈褂梦⑿万?qū)動(dòng)器了。但軟盤驅(qū)動(dòng)器上的驅(qū)動(dòng)程序不好使,于是我自己又寫了一個(gè)。在編寫過(guò)程中,我在操作系統(tǒng)里發(fā)現(xiàn)了一些病毒。我之所以能發(fā)現(xiàn)病毒,是因?yàn)槲揖帉懙囊恍〇|西無(wú)法操作。

            我的編碼總是很完美的。所以我知道肯定是別的地方出了差錯(cuò)。

            于是我把整個(gè)操作系統(tǒng)都卸掉了。

            你可以列出一推關(guān)于操作系統(tǒng)的書籍,這些書能幫上忙。你還需要一個(gè)反匯編程序,這種工具能把機(jī)器語(yǔ)言變成匯編語(yǔ)言。這一點(diǎn)非常重要,因?yàn)槟阋侵挥袡C(jī)器語(yǔ)言的版本,執(zhí)行指令時(shí)就非常困難。你會(huì)發(fā)現(xiàn)一個(gè)指令跳到一個(gè)數(shù)字的地址,讀起來(lái)非常困難。一個(gè)好的反匯編程序可以為數(shù)字起名字,也可以讓你起名字。你還可以使用它幫助你尋找特殊的相關(guān)指令。我自己有一個(gè)反匯編程序,可以用它創(chuàng)立相當(dāng)不錯(cuò)的目錄。一旦出現(xiàn)差錯(cuò),我就可以進(jìn)入反匯編程序,讓它從特殊的地點(diǎn)找出目錄,而且我還能看到操作系統(tǒng)將要執(zhí)行的任何任務(wù)。

            有時(shí)我使用反匯編程序并非是因?yàn)槌隽斯收希窍肱靼姿降啄茏鲂┦裁础?/p>

            QL令我討厭的一個(gè)地方是,它只有一個(gè)只讀操作系統(tǒng),對(duì)于一切都無(wú)法改變。它在某些地方的確有HOOKS(是一種消息處理機(jī)制,它使程序員可以使用子過(guò)程來(lái)監(jiān)視系統(tǒng)消息,并在消息達(dá)到目標(biāo)過(guò)程前得到處理--譯注)。HOOKS就是你能切入你自己的編碼接管某些功能的地方。但HOOKS只出現(xiàn)在某些特定的地方。要是能完全替換你的操作系統(tǒng)就會(huì)好得多。在只讀存儲(chǔ)器中運(yùn)行一個(gè)操作系統(tǒng)是一種非常糟糕的想法。

            雖然我說(shuō)過(guò),芬蘭是一個(gè)非常樂于接受新技術(shù)的國(guó)家,但Sinclair QL在這個(gè)歐洲第七大國(guó)卻沒有站住腳跟。由于QL在芬蘭的市場(chǎng)非常之小,每當(dāng)你想為反傳統(tǒng)的尖端機(jī)器購(gòu)買升級(jí)設(shè)備時(shí),只能通過(guò)郵寄的方式從英國(guó)購(gòu)買。你必須翻閱許多產(chǎn)品目錄,直到找到一家銷售你所需要的設(shè)備的廠家為止。然后你還得準(zhǔn)備好保付支票,再等上幾個(gè)星期的送貨時(shí)間。那個(gè)時(shí)候還沒有網(wǎng)上購(gòu)物和在網(wǎng)上使用信用卡。在我很希望把我的內(nèi)存從128千字節(jié)擴(kuò)展到640千字節(jié)時(shí),我只能通過(guò)郵購(gòu)的方式獲得。我買了一個(gè)新的匯編程序,將匯編語(yǔ)言轉(zhuǎn)換成機(jī)器碼(數(shù)字1和0),又買了一個(gè)編輯器,后者主要是為編程使用的文字處理程序。

            新的匯編程序和編輯器都不錯(cuò),但是它們是在微型驅(qū)動(dòng)器上,無(wú)法放入EEPROM。于是我自己編寫了匯編程序和編輯器,應(yīng)用于我所有的編程之中。編輯器和匯編程序都是用匯編語(yǔ)言寫的,按照今天的標(biāo)準(zhǔn)看上去非常愚笨。這種語(yǔ)言又復(fù)雜又費(fèi)時(shí),我想用匯編語(yǔ)言解決一個(gè)問(wèn)題要比用C語(yǔ)言解決一個(gè)問(wèn)題多出一百倍的時(shí)間,而當(dāng)時(shí)C語(yǔ)言已經(jīng)存在了。

            我給我的機(jī)器帶著的基本處理程序增加了好幾個(gè)指令,所以只要我想編輯任何東西,機(jī)器就會(huì)自動(dòng)操作我的編輯器,它立刻就會(huì)顯現(xiàn)出來(lái)。我的編輯器比機(jī)器本身帶的編輯器速度要快。我可以在顯示器上以極快的速度書寫文字,我為此而感到驕傲。通常用這樣的機(jī)器,在顯示器上寫滿字需要很長(zhǎng)的時(shí)間,你可以看到屏幕在慢慢地滾動(dòng)。但是用我的編輯器在書寫時(shí)速度非常之快,屏幕滾動(dòng)能給人造成一種模糊的感覺,這讓我很得意。這一點(diǎn)對(duì)我非常重要。它使我的機(jī)器顯得性能驚人,而且我知道為了讓我的操作更迅速,自己已做了大量的工作。

            那時(shí),在我所認(rèn)識(shí)的人當(dāng)中,像我那樣沉迷于計(jì)算機(jī)的人微乎其微。學(xué)校里有一個(gè)電腦俱樂部,但我?guī)缀醪辉趺慈ァD莻€(gè)俱樂部主要是為那些想了解電腦的孩子們創(chuàng)立的。我們的高中只有二進(jìn)五十名學(xué)生,但我想他們?cè)谑畾q以后就再?zèng)]有一個(gè)人玩電腦了。

            通常我用我的Sinclair QL電腦做的事情是復(fù)制游戲。我曾用VIC-20電腦為我喜歡的游戲作過(guò)翻版。有時(shí)我還讓游戲升級(jí)。但多數(shù)情況下它們都得不到改進(jìn)。機(jī)器更高級(jí)了,但概念并無(wú)改進(jìn)。我最喜歡的游戲大概是“小行星”,但我怎么也不能很好地將其復(fù)制下來(lái)。原因是那個(gè)時(shí)期所有游戲機(jī)中心的“小行星”游戲都是用真正的矢量圖形顯示進(jìn)行的。那些游戲的圖形不是靠小粒(即像素)顯示的,而實(shí)際與陰極射線管的原理相同:電子是從陰極射線管的后面通過(guò)電子槍發(fā)射出來(lái),然后用磁鐵進(jìn)行轉(zhuǎn)向,這樣便可以高清晰度地顯示圖像,但如想復(fù)制過(guò)來(lái)就不那么容易了。你當(dāng)然可以復(fù)制,但假如你的電腦沒有特殊的圖形顯示能力,復(fù)制出來(lái)的東西便與原本的“小行星”相去甚遠(yuǎn)。

            我記得曾經(jīng)采用匯編語(yǔ)言對(duì)“穿靴人”做過(guò)翻版。第一個(gè)步驟是,你必須記住穿靴人里的人物是什么樣子。然后你把它們畫在一張16*16平方厘米的坐標(biāo)紙上,再涂上顏色。你若有藝術(shù)細(xì)胞,就可以畫得很逼真。然而若像我似的完全不懂藝術(shù),畫出來(lái)的人物就會(huì)像是穿靴人的生了病的小表弟。

            所以這個(gè)復(fù)制做得并不理想。然而我卻為此感到自豪。做出來(lái)的那個(gè)游戲是可以玩的,于是我把它寄給了一家發(fā)表電腦編碼的雜志。我曾經(jīng)把其他的程序寄給一些雜志,所以我以為我這次被他們接納應(yīng)是理所當(dāng)然的事。

            事實(shí)卻恰恰相反。

            其中的一個(gè)問(wèn)題是,無(wú)論你在什么地方出現(xiàn)一個(gè)極為微小的錯(cuò)誤,它就會(huì)運(yùn)轉(zhuǎn)不靈。

            我自己也寫過(guò)一些游戲。然而創(chuàng)作需要某種心態(tài)。由于游戲需要大量的表演,就需要你對(duì)電腦的硬件十分精通。這我做得到。但我卻不具備玩游戲的感覺。一個(gè)出色的游戲通常并不是它的速度有多快,也不是它的圖形顯示得多么漂亮。它必須能讓你感到玩得起來(lái)--能吸引人。游戲和電影頗為相似。特殊效果是一回事,然而你還是需要情節(jié)。我所有的游戲從來(lái)都沒有情節(jié)。游戲還需要有發(fā)展,有想法。發(fā)展常常就是讓游戲速度越來(lái)越快。穿靴人就是這種模式。進(jìn)展時(shí)也產(chǎn)生變化,或是讓你能夠更緊密地跟蹤里面的怪物。

            我對(duì)“穿靴人”感興趣的另一個(gè)原因是,它能夠解決圖形顯示閃爍不定的問(wèn)題。這在老式的電腦游戲中是一個(gè)比較普遍的問(wèn)題,因?yàn)闆]有特殊的硬件,你的人物就會(huì)閃爍不定。你采用的辦法就是去掉老拷貝,重寫一個(gè)新拷貝。假如你的時(shí)間恰巧處理得不好,人們就能看到?jīng)]有拷貝時(shí)的狀況,于是就更會(huì)出現(xiàn)閃爍的情況。解決這一難題有許多種方式。你可以先畫一個(gè)新人物,然后再把以前的人物去掉來(lái)避免這一問(wèn)題。但你必須小心謹(jǐn)慎,不要把老人物被新人物覆蓋住的那部分也給去掉。這樣你就能獲得一個(gè)良好的效果,不會(huì)再看到煩人的閃爍現(xiàn)象。這一解決方案的問(wèn)題是創(chuàng)作時(shí)相對(duì)昂貴,而且特別費(fèi)時(shí)間。

            游戲?yàn)楹慰偸翘幱诩夹g(shù)領(lǐng)先的地位,而且編制人員為什么總是先制作游戲程序,其中是有原因的。一方面是關(guān)在房間里玩電腦的聰明的程序編制人員都是十五歲左右的孩子(我十五年前就這么認(rèn)為,至今對(duì)此仍深信不疑)。游戲之所以總處于領(lǐng)先地位還有另一個(gè)原因:它總能推動(dòng)硬件的發(fā)展。

            你若是看一下今天的電腦,就會(huì)發(fā)現(xiàn)它們速度快得可以做任何事情。但考驗(yàn)硬件極限的往往是動(dòng)作感過(guò)強(qiáng)的游戲,如現(xiàn)在很流行的一些三維游戲。從根本上說(shuō),通過(guò)電腦上的游戲,你可以看出硬件是不是過(guò)關(guān)。進(jìn)行文字處理時(shí),速度慢上一二秒鐘也不會(huì)在意,但玩游戲時(shí),出現(xiàn)十分之一秒的誤差也非常明顯,游戲過(guò)去都比較簡(jiǎn)單,時(shí)至今日,編程只是任何游戲的一小部分,此外還有音樂和情節(jié)。假如你把制作游戲比做拍電影,編程者在一定程度上就等同于攝影師。

            就這樣,我使用了Sinclair QL電腦三年:從高中到赫爾辛基大學(xué),再到芬蘭部隊(duì)服役。這個(gè)電腦不錯(cuò),但我們肯定會(huì)分手。在最后的一兩年里,我發(fā)現(xiàn)了它和短處。68008是個(gè)不錯(cuò)的CPU,但我在書上了解到了下一代的68020,得知了諸如內(nèi)存管理和分頁(yè)等種種功能,在使用低檔電腦進(jìn)行工作時(shí),這種新的電腦可以完成非常重要的任務(wù)。

            Sinclair QL令我討厭的地方是,它的操作系統(tǒng)雖說(shuō)能進(jìn)行多重任務(wù)處理,但在任何時(shí)候都會(huì)出現(xiàn)死機(jī),因?yàn)樗鼪]有保存措施。只要一個(gè)任務(wù)出現(xiàn)差錯(cuò),就能讓整個(gè)機(jī)子死機(jī)。Sinclair QL是克里夫·辛克萊爾爵士最后一次設(shè)計(jì)和制造的電腦,原因之一是這種電腦在商業(yè)上并不成功。它的技術(shù)非常有意思,但公司卻存在著生產(chǎn)問(wèn)題和質(zhì)量保證問(wèn)題,而且最終宣傳上也很失敗。此外,市場(chǎng)競(jìng)爭(zhēng)也開始變得越來(lái)越激烈。

            到了八十年代末期,你便開始想象,或許有那么一天,大街上的每一個(gè)人都可能擁有一臺(tái)電腦,哪怕只是進(jìn)行簡(jiǎn)單的文字處理。而且種種跡象表明,發(fā)展方向是PC機(jī)。不錯(cuò),IBM最早制造的PC機(jī)盡管有許許多多的技術(shù)問(wèn)題,但卻開始擺滿了商店的貨架,銷售得極為成功。PC機(jī)的另一個(gè)吸引人的地方是:外圍設(shè)備非常標(biāo)準(zhǔn),而且很容易就能搞到。

            所有關(guān)于這種較新的CPU的文章我都閱讀,它可以完成我想完成的任何任務(wù)。顯而易見,看上去非常有意思的68020發(fā)展前景不佳。我完全可以為QL買一個(gè)升級(jí)的CPU。在那個(gè)年代,這便意味著重新組裝一臺(tái)機(jī)器。盡管如此,操作系統(tǒng)還是沒有內(nèi)內(nèi)存管理,所以我不得不自己編寫。于是我想:這將是很費(fèi)力的一步,而且獲得一個(gè)CPU過(guò)于昂貴。

            此外,令我越發(fā)感到頭疼的是:為電腦購(gòu)買設(shè)備的問(wèn)題依舊存在。Sinclair QL電腦的產(chǎn)品目錄似乎根本就沒有過(guò),所以你不可能簡(jiǎn)單地抄起電話,像定購(gòu)西爾斯百貨商店的郵購(gòu)商品那樣定購(gòu)內(nèi)存設(shè)備。再說(shuō),通過(guò)郵局從英國(guó)訂貨的做法已經(jīng)過(guò)時(shí)了。當(dāng)時(shí)還沒有用收縮封套包裝的軟件盤,這我倒不在乎,因?yàn)槲叶寄茏约壕帉憽?/p>

            這個(gè)頭疼的問(wèn)題卻給我?guī)?lái)了一個(gè)好處。在我琢磨著把我的機(jī)器處理掉時(shí),也決定把我的附加設(shè)備賣掉。我指的是我買的硬盤驅(qū)動(dòng)器,因?yàn)橐獢U(kuò)展內(nèi)存,我一分鐘也不能忍受了。當(dāng)時(shí)沒有人在大街上到處找這種東西,所以我只能在電腦雜志上登廣告,然后就祈禱等待著。就這樣,我認(rèn)識(shí)了我的好朋友喬科·維亞魯馬奇(Jouko Vierumaki)。在整個(gè)芬蘭,他大概是第二個(gè)擁有Sinclair QL電腦的人。他對(duì)我的廣告做出了回應(yīng),騎著自行車來(lái)到我家,買走了我的一些外圍設(shè)備。后來(lái),他也讓我學(xué)著打斯諾克臺(tái)球。

             

            2、上大學(xué)

            我在上大學(xué)的第一年,住在彼得蓋坦街,我的宿舍在一層,靠窗戶的一張桌子上就擺著Sinclair QL電腦。但我沒有編寫多少程序,原因之一是我必須集中精力讀書,原因之二是我也找不到什么項(xiàng)目去做。沒有項(xiàng)目可做就會(huì)缺乏熱情。你總是在尋找能夠讓你鼓起勁去做的事情。

            當(dāng)時(shí)似乎是參軍的好時(shí)光,而且我也知道那是早晚的事。我當(dāng)時(shí)十九歲,正因?yàn)樽约旱碾娔X毛病太多而心情沮喪。而且,當(dāng)時(shí)也沒有任何有意思的電腦項(xiàng)目,于是我就搭上了一輛開往拉普蘭的火車。

            前面我已經(jīng)說(shuō)過(guò),關(guān)于軍隊(duì)在體力方面會(huì)對(duì)我們做出什么樣的要求我是一無(wú)所知的。所以在那里手執(zhí)武器上了一個(gè)月的“體育課”之后,我便覺得在我有生之年完全有資格從此一動(dòng)不動(dòng),享受平靜的生活了。惟一可做的事情就是把編碼打入鍵盤,或者手里端著一瓶比爾森啤酒(說(shuō)真的,在我復(fù)員整整十年后,才第一次參加一次劇烈的活動(dòng)。當(dāng)時(shí)大衛(wèi)硬拉著我去沖浪。舊金山半月灣的強(qiáng)大海浪差點(diǎn)沒把我淹死,我的腿一連酸了好幾天)。

            部隊(duì)服役結(jié)束于

            剛一離開部隊(duì)就想弄只貓。

            復(fù)員的幾個(gè)星期前,我一個(gè)朋友的貓下了一窩崽,于是我把他剩下的唯一一只小貓買了下來(lái)。那是只白色的公貓,長(zhǎng)得很漂亮。它生下來(lái)的頭幾個(gè)禮拜就在室外跑來(lái)跑去,所以在我媽媽公寓的室內(nèi)和室外養(yǎng)活起來(lái)都很容易。我給它起了個(gè)名字,叫蘭迪。它現(xiàn)在已經(jīng)十歲了,和它的主人一樣完全適應(yīng)了加利福尼亞的生活方式。

            那年整個(gè)夏天我沒有干什么正事。我大學(xué)二年級(jí)的課程直到秋天才開始。我的電腦狀態(tài)也很不佳。于是我就穿著一件破舊的睡衣,逗蘭迪玩,偶爾和朋友們聯(lián)歡會(huì),讓他們笑話我的保齡球和臺(tái)球的拙劣技術(shù)。當(dāng)然,我對(duì)我的下一部電腦也做了一些設(shè)想。

            我面臨的是一個(gè)電腦迷的困境。

            我同其他隨著68008芯片一起長(zhǎng)大的電腦迷一樣,特別討厭PC機(jī)。但在1986年386芯片出臺(tái)后,PC突然看上去有了魅力,凡是68020能做的事情它們都能做。到了1990年,大規(guī)模的生產(chǎn)使這種機(jī)器的價(jià)格急劇下跌。我對(duì)錢很在乎,因?yàn)槲沂洲讚?jù)。于是我就希望擁有一臺(tái)這樣的電腦。正因?yàn)镻C非常紅火,升級(jí)材料和裝置很容易就能弄到。在硬件方面,我特別希望有一臺(tái)標(biāo)準(zhǔn)的機(jī)器。

            我決定來(lái)個(gè)大跳躍,超越界限,而且弄一個(gè)新的CPU這事的確讓人興奮。于是我便開始把我的Sinclair QL的零件一點(diǎn)點(diǎn)地賣掉。

            每個(gè)人都會(huì)一本改變其一生的書籍,比如《圣經(jīng)》、《資本論》、《星期二和莫瑞在一起》、《我想知道我在幼兒園里學(xué)到的一切》等等(我真誠(chéng)地希望,在你讀過(guò)了本書序言和我的關(guān)于生命意義的理論之后,這本書也能對(duì)你產(chǎn)生影響)。把我推向生命高峰的是安德魯·S·塔南鮑姆(Andrew S. Tanenbaum)寫的《操作系統(tǒng):設(shè)計(jì)和執(zhí)行》。

            我已經(jīng)選好我的秋季課程,其中最讓我期待的是C程序語(yǔ)言和UNIX操作系統(tǒng)。在等待著上課期間,我還買了一本上面提到的教科書,希望能先讀一下。在這本書中,住在阿姆斯特丹的大學(xué)教授安德魯·塔南鮑姆討論了MINIX,那是他為UNIX撰寫的教學(xué)輔助軟件。MINIX也是UNIX的小型翻版。一旦讀完了介紹,了解到UNIX背后的理念以及那個(gè)強(qiáng)大、利索、漂亮的操作系統(tǒng)所能做到的事情后,我便決定弄一臺(tái)機(jī)器來(lái)操作UNIX。我將操作MINIX,那是我所能找到的惟一版本。

            通過(guò)閱讀和對(duì)UNIX的了解愈來(lái)愈深,我的熱情高漲起來(lái)。

            說(shuō)實(shí)施,我的熱情從來(lái)沒有低落過(guò)(我希望你在做某件事時(shí)也能說(shuō)出同樣的話)。

             

            3、從UNIX開始

            赫爾辛基大學(xué)第一次擁有UNIX是在1990年秋季開學(xué)的時(shí)候。

            那個(gè)強(qiáng)大的操作系統(tǒng)是美國(guó)電話電報(bào)公司的貝爾實(shí)驗(yàn)室于六十年代發(fā)明的,然而它的開發(fā)卻是在別的地方。前一年,也就是我上大學(xué)的第一年,我們有一臺(tái)操作VMS的VAX。這個(gè)操作系統(tǒng)糟糕透頂,你決不會(huì)說(shuō)出:“嘿,我在農(nóng)時(shí)也想裝一個(gè)VAM”這樣的話,它只能讓你說(shuō):“你怎么會(huì)使用這個(gè)破玩意?”它用起來(lái)極不方便,沒有多少工具,也不適合輕松容易地進(jìn)入因特網(wǎng),而因特網(wǎng)是在UNIX上面操作的。你甚至都無(wú)法輕易地估算出文件到底有多大。坦白地說(shuō),VAM可能很適合某些操作,比如數(shù)據(jù)庫(kù)。但這種操作系統(tǒng)無(wú)法讓你為之感到興奮。

            赫爾辛基大學(xué)當(dāng)時(shí)意識(shí)到應(yīng)該淘汰諸如VMS類的軟件。學(xué)術(shù)界已經(jīng)對(duì)UNIX產(chǎn)生了越來(lái)越大的興趣,于是我所在的大學(xué)購(gòu)買了一臺(tái)操作Ultrix的微型VAX,Ultrix是DEC公司生產(chǎn)的一種UNIX版本。

            我特別渴望操作UNIX,將我從安德魯·塔南鮑姆書上所學(xué)到的東西進(jìn)行試驗(yàn)。要是我有一臺(tái)386,它肯定會(huì)對(duì)我能進(jìn)行的一切探索感到興奮不已。但是,我無(wú)法湊齊一萬(wàn)八千芬蘭馬克買一臺(tái)386。我知道一旦秋季學(xué)期開始后,我就能使用我的Sinclair QL進(jìn)入大學(xué)新的UNIX電腦,直到我自己湊齊了錢買一臺(tái)PC機(jī),再在上面操作UNIX。

            因此,那年夏天我做了兩件事。第一件是什么都沒做。第二件事是讀完了七百一十九頁(yè)的《操作系統(tǒng):設(shè)計(jì)和執(zhí)行》。那本紅色的簡(jiǎn)裝本教科書差不多等于睡在了我的床上。

            赫爾辛基大學(xué)為微型VAX電腦購(gòu)買了十六個(gè)客戶執(zhí)照。這意味著“C語(yǔ)言和UNIX”課程的選修學(xué)生人數(shù)被控制在了三十二名--我想學(xué)校的想法是十六個(gè)學(xué)生白天使用機(jī)器,另外十六個(gè)學(xué)生晚上使用。教師和我們一樣,對(duì)UNIX也不太熟悉。他對(duì)此公開承認(rèn),因此也沒構(gòu)成什么問(wèn)題。但他每次都比學(xué)生先讀一個(gè)章節(jié)。有時(shí)學(xué)生也會(huì)提前跳讀三個(gè)章節(jié),因而上課成了一種游戲,學(xué)生們問(wèn)的問(wèn)題都是在三個(gè)章節(jié)之后才能學(xué)到的,目的是為了難住教師,看他是否已經(jīng)讀了那么多。

            我們?cè)赨NIX的大世界中都是嬰兒,一邊學(xué)習(xí)一邊完善這門課程。然而關(guān)于這門課最明顯的是,在UNIX背后有一個(gè)非常獨(dú)特的理念。你在這門課的第一個(gè)小時(shí)就抓住了這一點(diǎn),剩下來(lái)就是解釋細(xì)節(jié)了。

            UNIX的獨(dú)到之處在于它所追求的基本理想。它是一個(gè)干凈利索、非常漂亮的操作系統(tǒng)。UNIX具有程序的觀點(diǎn),凡是做任何事情都是一個(gè)過(guò)程。這里有一個(gè)簡(jiǎn)單的例子。shell command是為進(jìn)入操作系統(tǒng)而鍵入的一種指令,在UNIX中,它并不像在DOS中似的被裝在操作系統(tǒng)里。它只是一個(gè)任務(wù),同其他的任務(wù)相同。這個(gè)任務(wù)是從你的鍵盤中讀出的,然后再寫回到顯示器。任何能做的事情的東西在UNIX里面都是一個(gè)程序,此外還有文件。

            吸引我的就是這個(gè)簡(jiǎn)單的設(shè)計(jì),它也吸引著大多數(shù)對(duì)UNIX感興趣的人(至少對(duì)我們電腦迷們頗有吸引力)。你在UNIX上完成的大部分任務(wù)都是通過(guò)六個(gè)基本操作完成的,它們被稱作“系統(tǒng)呼叫”(system call),因?yàn)樗鼈兪悄銓?duì)操作系統(tǒng)的呼叫,你便讓它為你完成任務(wù)。通過(guò)這六個(gè)基本的系統(tǒng)呼叫,任何事情你都可以完成。

            此外還有“創(chuàng)建子進(jìn)程”(fork)的概念,它是UNIX的基本操作之一。當(dāng)一個(gè)程序創(chuàng)建子進(jìn)程時(shí),它便把自身完全復(fù)制出來(lái)。這樣你就有了兩個(gè)相同的拷貝。復(fù)制拷貝多數(shù)情況下再去執(zhí)行另一個(gè)程序--用一個(gè)新項(xiàng)目替換自己。這便是第二個(gè)基本操作。其他四個(gè)基本系統(tǒng)呼叫--打開、關(guān)閉、讀和寫--都是為了訪問(wèn)文件的。這六個(gè)系統(tǒng)呼叫便組成了UNIX的簡(jiǎn)單操作。

            當(dāng)然,從細(xì)節(jié)方面講,還有數(shù)不清的其他系統(tǒng)呼叫。然而一旦你明白了這六個(gè)基本系統(tǒng)呼叫,你就了UNIX。UNIX的好處之一是,你并不需要擁有復(fù)雜的連接去創(chuàng)立復(fù)雜的事物。你可以通過(guò)簡(jiǎn)單事情的互動(dòng)來(lái)建立任何程度的復(fù)雜任務(wù)。你只需在簡(jiǎn)單的程序之間創(chuàng)造出交流渠道,在UNIX中叫做“管道”(pipes),就能解決復(fù)雜的問(wèn)題。

            一個(gè)差勁的系統(tǒng)在做任何你想做的事情時(shí)都需要有特殊的連接。UNIX則恰相反。它提供給你執(zhí)行任務(wù)的材料,這些材料足以讓你完成任何事情。這就是所謂的干凈利索的設(shè)計(jì)。

            語(yǔ)言其實(shí)也是如此。英語(yǔ)有二十六個(gè)字母,你可以用這些字母創(chuàng)造出任何單字。另一種語(yǔ)言是漢語(yǔ)。在漢語(yǔ)中,你所想到的任何一件事都由一個(gè)字來(lái)代替。你一開始用的就是復(fù)雜的形態(tài),然后在有限的方式中將復(fù)雜的形態(tài)組合起來(lái)。VMS的大體上也是這種思路,Windows的方法也是如此。

            而UNIX的理念是越小越漂亮。一小堆簡(jiǎn)單基本的建筑材料,結(jié)合起來(lái)就能創(chuàng)造出無(wú)限的復(fù)雜表述。

            物理的規(guī)則亦是如此。你努力找出基本的規(guī)則,而這些規(guī)則都是相對(duì)簡(jiǎn)單的。從那些簡(jiǎn)單的規(guī)則中,通過(guò)相互作用產(chǎn)生令人不可思議的復(fù)雜性。

            那種簡(jiǎn)單的設(shè)計(jì)并非是自然產(chǎn)生的。UNIX是美國(guó)電報(bào)電話公司貝爾實(shí)驗(yàn)室的丹尼斯·里奇(Dennis Richie)和肯·湯普森(Ken Thompson)花了很大力氣設(shè)計(jì)完成的。你也不能認(rèn)為簡(jiǎn)單就是容易。簡(jiǎn)單需要特別的設(shè)計(jì)和很高的品味。

            讓我們?cè)倩氐饺祟愓Z(yǔ)言的例子上。像圖畫似的中國(guó)象形文字是最先產(chǎn)生的,然后再追求“簡(jiǎn)化”。而建筑材料似的做法則需要更多的抽象思維。同樣,你不能將UNIX的簡(jiǎn)潔同上不了檔次混淆起來(lái)--事情正好相反。

            但這并不是說(shuō),創(chuàng)造UNIX的最初原因有多么復(fù)雜。它和計(jì)算機(jī)的許多其他事情一樣,都是以游戲開始的。最初有人想在等離子顯示器上玩電腦游戲,那就是UNIX發(fā)展起來(lái)的原因。正因?yàn)楫?dāng)時(shí)人們覺得這個(gè)操作系統(tǒng)不是一個(gè)嚴(yán)肅的項(xiàng)目,美國(guó)電話電報(bào)公司才認(rèn)為它并非是商業(yè)上的冒險(xiǎn)嘗試。事實(shí)上,美國(guó)電話電報(bào)公司的壟斷受到制約,對(duì)其限制之一是不能推銷電子計(jì)算機(jī)。所以創(chuàng)造UNIX的人有很大的,尤其在為大學(xué)服務(wù)方面沒遇到什么阻礙。

            于是乎,UNIX在學(xué)術(shù)界就演變成了一個(gè)大項(xiàng)目。到1984年美國(guó)電報(bào)電話公司分家后,它已被允許進(jìn)入電腦業(yè),那時(shí)大學(xué)里的計(jì)算機(jī)專家們--尤其是加州大學(xué)伯克利分校的專家們--已經(jīng)在比爾·喬(Bill Joy)和馬歇爾·克拉克·邁克庫(kù)塞克(Marshall Kirk McKusid)的指導(dǎo)下,把開發(fā)和改進(jìn)UNIX的工作進(jìn)行了許多年了。

            但到了1996年初,UNIX已經(jīng)成為所有超級(jí)計(jì)算機(jī)和服務(wù)器的頭號(hào)操作系統(tǒng)。它的市場(chǎng)非常大。但當(dāng)時(shí)的問(wèn)題之一是,已經(jīng)出現(xiàn)了數(shù)不清的操作系統(tǒng)的競(jìng)爭(zhēng)版本。有一些是從控制得比較嚴(yán)密的美國(guó)電報(bào)電話公司代碼庫(kù)里創(chuàng)造出來(lái)的(即所謂的“V系統(tǒng)”),另一些人則是從加州大學(xué)伯克利分校的代碼庫(kù)衍生而來(lái)(即BSD--伯克利軟件分布),還有的則是這兩者的結(jié)合體。

            其中一個(gè)BSD的衍生版本特別值得一提。那是386BSD項(xiàng)目,是比爾·喬利茲(Bill Jolitz)在代碼庫(kù)的基礎(chǔ)上做成的,分布在因特網(wǎng)上。后來(lái)它又進(jìn)一步分裂,成為人人都可以獲得的BSD--Net BSD,F(xiàn)ree BSD和Open BSD,在使用UNIX的群體中引起廣泛的注意。

            于是美國(guó)電報(bào)電話公司突然覺醒了,將加州大學(xué)伯克利分校告上了法庭。最初的代碼是電報(bào)電話公司的,但絕大多數(shù)后期工作都是在伯克利完成的。加州大學(xué)的校務(wù)委員們聲稱他們有權(quán)傳播和銷售他們的UNIX版本,而且還可收取象征性的費(fèi)用。而且他們還向人證明,他們已為此做了大量工作,基本上把電報(bào)電話公司的軟件進(jìn)行了重寫。官司的結(jié)果是,Novell公司從電話電報(bào)公司買斷了UNIX,一部分體系不得不從電報(bào)電話公司中分離出去。

            同時(shí),那場(chǎng)無(wú)休止的官司卻讓一個(gè)兒童贏得了一些時(shí)間,使自己成熟和發(fā)展起來(lái)。具體地說(shuō),linux獲得了時(shí)間去占領(lǐng)市場(chǎng)。我自己走在了我的前面。

            坦白地講,在使用UNIX的人當(dāng)中,有許多是幾乎發(fā)瘋的人。他們不是集郵瘋子,不是把鄰居的狗毒死的瘋子,而是一些生活方式很另類的人。

            別忘了,UNIX最初的主要發(fā)展是在六十年代和七十年代,我當(dāng)時(shí)正在祖父公寓里的一個(gè)洗衣筐子里睡覺。當(dāng)時(shí)正是美國(guó)嬉皮士的時(shí)代,而那些人也都懂技術(shù)。有關(guān)UNIX應(yīng)共享的理念和當(dāng)時(shí)的社會(huì)環(huán)境有關(guān),而并不應(yīng)簡(jiǎn)單地歸功于其開放源代碼的系統(tǒng)本身。那是一個(gè)了各種理想的時(shí)代。革命、解放、自由愛情(自由愛情我可沒趕上,即使趕上也不知該怎么做)……于是UNIX的相對(duì)開放性對(duì)這類人就特別有吸引力,盡管在當(dāng)時(shí)它還缺乏商業(yè)上的價(jià)值。

            我第一次了解到UNIX可開發(fā)性的一面大概是1991年前后,當(dāng)時(shí)拉爾斯·沃茲尼亞斯(Lars Wizenius)拉著我去赫爾辛基理工大學(xué)參加一個(gè)集會(huì)。人人都知道,這所大學(xué)根本不在赫爾辛基,而是在城市邊界線以外的艾斯普。學(xué)校的人想和豪華的赫爾辛基聯(lián)系起來(lái),哪怕只是在名義上。當(dāng)時(shí)的演講者是理查德·斯多曼(Richard Stallman)。

            此人是自由軟件的鼓吹者。

            1983年,他開始研究UNIX的一個(gè)替代物,將其稱作GNU系統(tǒng),其含義是“GUN不是UNIX”(GUN是“GUN is Not UNIX”的字首縮略語(yǔ)--譯注)。這些只有在電腦界內(nèi)部開的玩笑,常人是很難聽懂的。電腦迷之間流傳的文學(xué)游戲?qū)嵲谑菙?shù)都數(shù)不清。

            更重要的是,RMS(理查德·斯多曼希望別人這樣稱呼他)還撰寫了《自由軟件宣言》和自由軟件產(chǎn)權(quán)證書,即GPL。他首先提出的關(guān)于開放源代碼的概念完全是有意的,而并非出于偶然,和UNIX最初的開放發(fā)展理念是相吻合的。

            我得承認(rèn),我對(duì)社會(huì)政治方面的問(wèn)題了解得不多,而這些問(wèn)題過(guò)去和現(xiàn)在對(duì)RMS都非常重要。我對(duì)他所創(chuàng)立的開放軟件基金會(huì)的宗旨也知之甚少。事實(shí)是,我對(duì)1991年人們談?wù)摰脑掝}也沒有多少記憶,這說(shuō)明當(dāng)時(shí)它對(duì)我的生活并沒有產(chǎn)生多大的影響。我當(dāng)時(shí)所關(guān)心的是技術(shù),而不是政治--我們家里的政治已經(jīng)夠多的了。但拉爾斯是個(gè)思想理論家,于是我便跟在他身后去聽聽。

            我在生活中第一次見到了典型的留著長(zhǎng)發(fā)、蓄著長(zhǎng)胡子的黑客形象,其代表就是理查德。這樣的人在赫爾辛基為數(shù)不多。

            我當(dāng)時(shí)可能沒有看到眼前的光芒,但我猜他說(shuō)的一些話也多少給了我一些鍰。畢竟,我后來(lái)為linux使用的就是GPL。就這樣,我再一次走在了自己的前面。

             

            4、第一臺(tái)386和終端仿真

            在我的日歷上,圣誕節(jié)和我的二十一歲生日是兩個(gè)最重要的能讓我得到金錢的日子,而這一天是這兩個(gè)日子之后商店開門的第一天。

            我手里攥著在圣誕節(jié)和生日得到的錢,做出了一個(gè)重大的財(cái)政決定:準(zhǔn)備買一臺(tái)價(jià)格一萬(wàn)八千芬蘭馬克的計(jì)算機(jī)。這差不多等于三千五百美元。我沒有這么多錢,所以打算首付三分之一,剩下的用賒賬方式來(lái)付。其實(shí)那種電腦的價(jià)格是一萬(wàn)五千芬蘭馬克,其余的三千馬克稅款可在三年之內(nèi)付清。

            我去的是一家小店,也就是那種夫妻店,只是我去的這家只有丈夫,沒有妻子。我對(duì)生產(chǎn)廠商不太在乎,所以決定買一臺(tái)雜牌的,裝在一個(gè)白色大箱子里的電腦。老板把一張價(jià)格表遞給你,上面有你想要的CPU、價(jià)格以及硬盤的大小。我想要大功率的。我希望內(nèi)存是4兆,而不是2兆。我希望我的CPU是33兆赫的,當(dāng)然,要是16兆赫也能湊合。不,我要買就買最好的。

            我把自己希望的規(guī)格告訴他們,他們就給你組裝好。如今在因特網(wǎng)和快遞的年代,這聽起來(lái)似乎很怪。三天以后你去提貨,但那三天就像過(guò)了一個(gè)禮拜。

            這臺(tái)電腦不僅是雜牌,而且其貌不揚(yáng)。它的顏色灰蒙蒙的。我買這臺(tái)電腦并不是因?yàn)樗瓷先ズ芸帷K臉幼訕O不好看,有一個(gè)

            這臺(tái)電腦有一個(gè)DOS操作系統(tǒng)。我想使用UNIX的變體MINIX,所以我訂了貨,然而這個(gè)操作系統(tǒng)需要等一個(gè)多月的時(shí)間才能到達(dá)芬蘭。當(dāng)然,你也可以在一家電腦商店買一本關(guān)于MINIX的書,但人們對(duì)這種操作系統(tǒng)的需求非常之少,所以你必須事先向書店訂購(gòu)。操作系統(tǒng)的價(jià)格是一百六十九美元,再加上稅,還有別的什么費(fèi)用。當(dāng)時(shí)我覺得這簡(jiǎn)直太不可思議了。坦白地說(shuō),我今天仍舊這樣認(rèn)為。當(dāng)時(shí)那一個(gè)月讓我覺得就像度過(guò)了六年。在我等待買我的PC機(jī)時(shí),也沒有經(jīng)受過(guò)那樣大的煩躁不安。

            當(dāng)時(shí)正值隆冬。你若從寢室里出來(lái),就可能會(huì)遇到被老太太們撞倒在雪地上的危險(xiǎn)。這些老太太們實(shí)在應(yīng)該呆在家里為她們的家人煮煮白菜湯,或一邊織毛衣一邊在電視上看冰球,而不是應(yīng)該出來(lái)趔趔趄趄地瞎溜達(dá)。

            那個(gè)月里,我基本上是在用新電腦玩“普魯士王子”游戲。不玩時(shí)就看書,以便弄明白我買的電腦的功能。

            MINIX軟件終于在一個(gè)星期五的下午到了,當(dāng)天晚上我便將其裝了上去。你得用十六張軟盤才能把這個(gè)軟件裝入計(jì)算機(jī)。然后整個(gè)周末就都花在了熟悉這個(gè)新系統(tǒng)上。我學(xué)會(huì)了這個(gè)操作系統(tǒng)的好的一面,但更重要的是,也了解到了我不喜歡的一面。我從大學(xué)的電腦上把我熟悉的程序下載下來(lái),來(lái)彌補(bǔ)它的不足之處。總之,我用了將近一個(gè)月左右的時(shí)間,才使這個(gè)系統(tǒng)完全變成了我自己需要的系統(tǒng)。

            住在阿姆斯特丹的、撰寫MINIX的安德魯·塔南鮑姆想把這個(gè)操作系統(tǒng)作為教學(xué)工具,于是在一些不利的方面它都被故意損壞了。MINIX也得到了一些改進(jìn),最出名的一個(gè)改進(jìn)是一個(gè)叫布魯斯·伊文斯(Bruce Evans)的澳大利亞人進(jìn)行的,他使用的是MINIX386。他的改進(jìn)使MINIX在386上運(yùn)行起來(lái)更方便。在我購(gòu)買這臺(tái)電腦之前,我就一直在網(wǎng)上跟蹤MINIX的消息,所以從一開始我就想使用它的升級(jí)版。但是,你不得不買MINIX的正版,然后再做大量的工作,引入伊文斯的改進(jìn)--這是工作的主要任務(wù)之一。

            MINIX有一些性能令我很不滿意,其中最大的失望是終端仿真(terminal emulation)。仿真很重要,因?yàn)槲抑荒芤蕾囘@個(gè)程序,才能讓我家里的電腦模仿大學(xué)的電腦。每當(dāng)我撥電話接通大學(xué)的電腦,使用強(qiáng)大的UNIX工作或僅僅是上網(wǎng)時(shí),都使用終端仿真程序。

            于是我開始做一個(gè)項(xiàng)目,制作自己的終端仿真程序。我不想在MINIX底下做這個(gè)項(xiàng)目,而是想在硬件水平上完成它。這個(gè)終端仿真項(xiàng)目也是一個(gè)很好的機(jī)會(huì),可以讓我了解386硬件的工作性能。我前面已經(jīng)說(shuō)過(guò),這時(shí)正值赫爾辛基的冬天。我的電腦又笨又大。這個(gè)項(xiàng)目最重要的部分就是悟出這臺(tái)機(jī)器都能做些什么,并從中獲得樂趣。

            我不得不從BIOS開始,BIOS是計(jì)算機(jī)啟動(dòng)的早期ROM編碼。它可讀軟盤和硬盤。所以這次我在軟盤上操作。它讀出軟盤的一個(gè)扇區(qū)并跳到那里。這是我的第一臺(tái)PC,我不得不學(xué)著如何進(jìn)行這種操作。386是以“常規(guī)模式”啟動(dòng)的。但為了充分利用全部的CPU和進(jìn)入32比特模式,你只得進(jìn)入“保護(hù)模式”。在此之前,你得進(jìn)行大量的復(fù)雜的測(cè)試。

            為了制作仿真程序,你需要了解CPU是怎樣工作的。其實(shí),我用匯編語(yǔ)言收發(fā)室的部分原因就是為了了解CPU。其他你還需要了解的事情包括:怎樣寫入顯示器,怎樣讀鍵盤輸入,怎樣讀寫調(diào)制解調(diào)器--但愿我的這些文字不會(huì)把非電腦迷們嚇跑。

            我想出兩條獨(dú)立的線程。一條線程從調(diào)制解調(diào)器讀出,然后在顯示器上顯示。另一條線程從鍵盤上讀出,然后寫入調(diào)制解調(diào)器,這樣就會(huì)在兩條線程上運(yùn)行著兩條管道。這叫做任務(wù)轉(zhuǎn)換,386有支持這一程度的硬件。

            我寫的最早的試驗(yàn)程序是使用一個(gè)線程將字母A寫到顯示器上。另一個(gè)線程寫B(tài)。我知道,這聽起來(lái)沒有什么奇怪的。我把此編入程序,讓其在一秒鐘之內(nèi)出現(xiàn)若干次。在定時(shí)器的幫助下,我使這個(gè)程序這樣運(yùn)轉(zhuǎn):顯示器上先出現(xiàn)一連串的字母A,然后突然之間,轉(zhuǎn)變成一連串的字母B。從實(shí)際的角度看,這是一個(gè)完全沒有任何用處的練習(xí)。但卻是一個(gè)很好的方式,顯示出我的任務(wù)轉(zhuǎn)換是可行的。做到這一點(diǎn)大約花了我一個(gè)月左右的時(shí)間,因?yàn)槲冶仨氁贿呑鲆贿厡W(xué)習(xí)。

            于是,最終我便能改變由一連串A和一連串B組成的兩個(gè)線程,從而使數(shù)據(jù)一個(gè)讀自調(diào)制解調(diào)器,再寫入顯示器,另一個(gè)讀自鍵盤,再寫入調(diào)制解調(diào)器。我有了自己的終端仿真程序。

            每當(dāng)我想讀新聞,我就運(yùn)行自己的程序。我把自己的軟盤插進(jìn),重新啟動(dòng)機(jī)器,就能從大學(xué)的計(jì)算機(jī)里讀新聞了。倘若我想改進(jìn)終端仿真組合程序,我就啟動(dòng)MINIX,用它進(jìn)行編程。

            對(duì)此我感到非常驕傲。

            對(duì)于我的了不起的個(gè)人成就,薩拉是了解的。我顯示給她看,她盯著顯示器看了大約五秒鐘,看著上面是一串A和一串B,說(shuō)了聲“很好”,便沒什么感覺地走開了。我意識(shí)到我的成績(jī)看上去并不輝煌。它雖然看上去平平,背后卻包含了大量的工作,猶如你指給人看你鋪設(shè)了一條長(zhǎng)長(zhǎng)的柏油馬路,但想向別人解釋這條馬路的意義是完全不可能的。另一個(gè)目睹我成績(jī)的人大概是拉爾斯--另一個(gè)講瑞典的學(xué)生,他和我同一年主修的計(jì)算機(jī)專業(yè)。

            當(dāng)時(shí)是三月,也可能是四月,就算彼得蓋坦街上的白雪已經(jīng)化成了雪泥我也不知道。不過(guò)我也并不關(guān)心。大部分時(shí)間我都穿著睡衣,趴在我相貌平平的計(jì)算機(jī)前。窗戶上的窗簾遮得嚴(yán)嚴(yán)密密,把我和陽(yáng)光--更不用說(shuō)外部世界--隔離開來(lái)。我每月都要為新電腦付款,預(yù)計(jì)在三年之內(nèi)付清。當(dāng)時(shí)我不知道的是,我的款項(xiàng)在第二年的就不用再付了。那時(shí)我已經(jīng)寫出了linux,它將被許多人見到,而不僅僅只是薩拉和拉爾斯。當(dāng)時(shí),現(xiàn)在跟我一起在Transmeta公司工作的彼德·安文(Peter Anvin),為了幫我償付我的電腦錢,開始在因特網(wǎng)上為我募捐。

            錢就這樣來(lái)了。別人都知道linux并沒有讓我獲利,于是人們便覺得,讓我們大家湊點(diǎn)錢,替李納斯把電腦錢還清。

            這實(shí)在太好了。

            我實(shí)在是沒有錢。我一向認(rèn)為不應(yīng)該向別人要錢或乞求錢,這一點(diǎn)非常重要,但事實(shí)上我卻得到了錢,所以……讓我激動(dòng)得無(wú)話可說(shuō)。

            linux操作系統(tǒng)就是這樣開始的。

            我的實(shí)驗(yàn)程序變成了終端仿真組合程序。

             

            《熏鯡》雜志將我派往芬蘭,去采寫報(bào)道奧盧的文章。奧盧是一個(gè)新崛起的高科技中心,雖然它的位置十分可怕:離北極圈開車只有幾個(gè)小時(shí)的距離,里面卻有一百四十一家新成立的公司。這是一次極好的機(jī)會(huì),我可以在赫爾辛基見到李納斯的父母和他的妹妹薩拉。

            李納斯父親尼爾斯的綽號(hào)叫尼基,他在赫爾辛基火車站廣場(chǎng)對(duì)面一家飯店的大堂里見到我,飯店的名字叫瓦庫(kù)那。他身材瘦長(zhǎng),戴著厚厚的眼鏡,留著列寧式的胡子。他剛剛結(jié)束了芬蘭新聞社派他在莫斯科長(zhǎng)達(dá)十年的工作,目前正在寫一本關(guān)于俄國(guó)的書,并正在考慮是否去華盛頓任職。他覺得那個(gè)地方?jīng)]有什么意思。幾個(gè)月前,他榮獲了著名的全國(guó)新聞獎(jiǎng),他的前妻安娜后來(lái)說(shuō)那個(gè)獎(jiǎng)項(xiàng)“使他變得溫和了許多”。

            黃昏時(shí)分,他開著他的沃爾沃S70轎車,拉著我去看被白雪覆蓋的、李納斯成長(zhǎng)的地方。他指給我看一幢結(jié)實(shí)的建筑物,說(shuō)那是父子倆都曾就讀過(guò)的小學(xué)。然后我們又驅(qū)車路過(guò)了李納斯生下來(lái)后度過(guò)的最初三個(gè)月的他祖父母的公寓,接著又來(lái)到了那棟俯瞰花園的樓房,他們?nèi)以谀抢镞^(guò)了七年。其中的一年尼基曾前往莫斯科,成為一名共產(chǎn)主義者。當(dāng)時(shí)李納斯五歲。而后他又指給我看那座黃色的建筑物,尼基與安娜離婚后,李納斯和他妹妹就住在那里。李納斯年輕時(shí)的電子商店已經(jīng)不存在,在街頭原來(lái)的地方現(xiàn)在是一座成人錄影帶小鋪。最后我們驅(qū)車路過(guò)了最重要的一幢物,即五層樓高的李納斯外祖父母居住的公寓,也就是linux系統(tǒng)的誕生地。安娜至今仍住在那里。它看上去就像是十二月底曼哈頓的東區(qū)。

            尼基很滑稽,又聰明,善于自嘲,而且許多動(dòng)作和他兒子一樣,比如在說(shuō)話時(shí)喜歡用一只手握住自己的下巴。他們倆笑起來(lái)也很相似。然而這位社會(huì)主義的忠實(shí)信徒和他兒子不同的是,他終生熱愛體育。他在籃球隊(duì)打球,天天跑

            我們?cè)诤諣栃粱兄行牡囊患覔頂D的餐廳里吃晚飯,尼基談起了李納斯作為一個(gè)激進(jìn)的共產(chǎn)黨人的兒子成長(zhǎng)起來(lái)所面臨的困難。他說(shuō)他自己常常出外演講,一度還做過(guò)一個(gè)小官。他說(shuō)李納斯由于父親的激進(jìn)政治觀點(diǎn),常常受到同學(xué)們的挪揄,有些父母甚至不讓他們的孩子和他一起玩。正因?yàn)槿绱耍峄忉屨f(shuō),李納斯的童年生活雖然被左傾的政治思想所包圍,他卻努力使自己從這種氛圍中脫離開來(lái)。尼基說(shuō):“他不讓我談?wù)撐业挠^點(diǎn),我一開口講他就會(huì)離開房間。要么他說(shuō)話時(shí)就總跟我對(duì)著干。我知道,由于他有這樣一個(gè)父親,在學(xué)校里總是受到嘲弄。他對(duì)我的態(tài)度是:‘別讓我陷入這種尷尬的境地。’”

            尼基把帶到他家,他說(shuō)我們可以在他的廚房里喝兩杯啤酒。他的家坐落在中央商業(yè)區(qū)的北部,那里一排排的樓房是二十年代為工人階層建造的。我們爬上樓梯到了他的公寓,在門口把鞋子脫掉。他的房間讓人回想起六十年代末期反對(duì)工業(yè)文明的景象:燈罩是用手織的籃子做的,墻上掛著第三世界的圖片,屋子的角落里還垂吊著各種植物。我們?cè)趶N房的餐桌前落座。尼基一邊斟啤酒一邊談起了他當(dāng)父親的感受:

            “一個(gè)當(dāng)父母的人不應(yīng)該從他養(yǎng)育了自己孩子的角度去想問(wèn)題。”他說(shuō)。這時(shí)他用手機(jī)給和他同居的一個(gè)女人打電話。他說(shuō)李納斯現(xiàn)在剛剛開始閱讀他多少年來(lái)一直敦促他讀的歷史書籍,但李納斯大概還從來(lái)沒有讀過(guò)他自己爺爺寫的詩(shī)歌。

            我問(wèn)尼基他是否對(duì)電腦程序表示過(guò)任何興趣,或讓李納斯教給他一些最基本的電腦常識(shí)。他回答說(shuō)從來(lái)沒有。他說(shuō)父子完全是不同的個(gè)體,而深入探究李納斯的激情就等于“侵犯他的靈魂”。看起來(lái),他作為一個(gè)名人的父親似乎不覺得有什么讓人不舒服的地方。他獲得全國(guó)新聞獎(jiǎng)后,有一家報(bào)紙發(fā)表了一篇關(guān)于他的小傳,其中引用他的原話說(shuō),在李納斯還很小的時(shí)候,每當(dāng)他去外面的操場(chǎng)接李納斯時(shí),別的孩子就會(huì)指著他說(shuō):“瞧,那是李納斯的爸爸。”

            李納斯的妹妹薩拉?托沃茲是乘火車從她的家趕過(guò)來(lái)的,她的家在一座小城市里,位于赫爾辛基以西,那里街道的牌子首先是瑞典語(yǔ),其次才是芬蘭語(yǔ)。在那里,她買得起帶澡盆和桑拿浴的公寓,而且那里的人們?cè)诖蠼稚现v的是瑞典語(yǔ),而不是芬蘭語(yǔ),這讓她感到很高興。正如她本人解釋的那樣,她是少數(shù)民族中的少數(shù)民族:在少年時(shí)期,她就皈依了天主教,將自己劃歸到不到百分之十的芬蘭公民之中。她不信教的父親為此曾在幾個(gè)禮拜的時(shí)間里氣憤地不認(rèn)這個(gè)女兒。

            今天她來(lái)到赫爾辛基,是實(shí)施一項(xiàng)政府資助的項(xiàng)目,給年輕人教授《教理問(wèn)答》。她為人爽快樂觀,雖然已經(jīng)二十九歲,卻像一個(gè)誠(chéng)懇熱心的高中生似的有著真誠(chéng)的精神。她皮膚白晰,圓圓的臉,和她的哥哥有點(diǎn)相似。但顯而易見,和她哥哥相比,她更愛與人接觸。她總是不停地按手機(jī)上的號(hào)碼,給她的朋友發(fā)出信息,約他們當(dāng)天晚上見面,然后又不停地查看他們的回答。她所做的翻譯生意非常成功。

            當(dāng)時(shí)是中午,薩拉帶著我去見她的母親,并一起吃午飯。在路上,她時(shí)不時(shí)停下來(lái)指給我看童年呆過(guò)的地方,比如貓園和小學(xué)。“我父母是地地道道的共產(chǎn)主義者,我們就是在這種環(huán)境下長(zhǎng)大的,認(rèn)為蘇聯(lián)是最好的。我們還去過(guò)莫斯科,”她解釋說(shuō),“我記得最清楚的是那里的一家特大的玩具店,赫爾辛基所有的玩具店都不如那家大。”她父母在她六歲時(shí)離了婚。“我刻他們對(duì)我說(shuō),爸爸 永遠(yuǎn)搬出去住了。我當(dāng)時(shí)覺得這很好。這樣一來(lái)就不會(huì)再吵架了。其實(shí)他是去莫斯科長(zhǎng)駐,于是我們慢慢習(xí)慣了他不在身邊。”她說(shuō)。薩拉十歲時(shí),決定搬到她父親那里去住,不再和她媽媽和哥哥一起住。她父親當(dāng)時(shí)搬到了鄰近的城市艾斯普。“這并非因?yàn)槲也幌牒蛬寢屢黄鹱 N沂遣幌牒屠罴{斯住在一起。這樣一來(lái),除了周末,我們倆就不用吵架了。我們倆總是吵個(gè)沒完沒了。隨著我們漸漸地長(zhǎng)大,我們倆吵的也少了。”

            我們來(lái)到她媽媽位于一層的公寓。安娜?托沃茲見到我們后非常高興。她的綽號(hào)叫米基。她拒絕讓我遵循芬蘭人的習(xí)慣,把鞋子脫掉。“別傻了。我這地方本來(lái)就臟得一塌糊涂。不脫鞋子也無(wú)所謂。”她個(gè)子不高,黑頭發(fā),反應(yīng)敏感,非常機(jī)智。我們剛剛到達(dá),電話鈴就響了。一個(gè)地產(chǎn)商想讓我去年看一個(gè)空著的公寓,這樣我就可以將它描繪給米基在美國(guó)的兒子,并把房子的所有材料親自交給他,因?yàn)槔罴{斯有可能要買下這個(gè)房子,作為在赫爾辛基的臨時(shí)住所。于是我們進(jìn)入了那幢龐大的公寓樓。那個(gè)房地產(chǎn)商長(zhǎng)得怪怪的,有點(diǎn)像《美國(guó)美人》影片中的一個(gè)人物。他讓我們?cè)谟^看房子之前,先在鞋子上套一個(gè)藍(lán)色布鞋套。過(guò)了一會(huì)兒,房地產(chǎn)商自鳴得意地說(shuō):“你們瞧這棟房子,要是你們有不希望被太陽(yáng)損壞的古董的話,這里是最理想不過(guò)的了。”米基狡黠地朝我瞟了一眼,然后不無(wú)嘲諷地說(shuō):“哦,你說(shuō)話真風(fēng)趣,干嗎不直說(shuō)這個(gè)房子沒有陽(yáng)光?”

            我們又回到了她不大的廚房。米基坐在一個(gè)長(zhǎng)方形的餐桌旁,餐桌上鋪著一張五顏六色的桌面,米基將咖啡倒入一個(gè)非常大的杯子里。她的公寓和她前夫的一樣,到處都是書籍和民間藝術(shù)品。掛著的窗簾是黑白相間的。這個(gè)公寓本來(lái)有三個(gè)臥室和一個(gè)廚房。她的孩子們搬出去后,米基便搬進(jìn)了過(guò)去由薩拉占著的最大的臥室。她后來(lái)把李納斯的臥室和她從前臥室的墻壁都拆了,創(chuàng)造出一個(gè)巨大的帶廚房的客廳。她指指一個(gè)空著的地方說(shuō):“他過(guò)去的電腦就放在那里。我想我應(yīng)該在那里掛上一個(gè)牌子什么的。你覺得呢?”她一根接一根地抽著煙,講起話來(lái)滔滔不絕,而且英語(yǔ)說(shuō)得很漂亮,說(shuō)話時(shí)幾乎沒有什么停頓。“李納斯可不是你在大街上遇到的那種笨孩子”,她說(shuō)。在她臥室的墻上掛著一面巨大的蘇聯(lián)國(guó)旗。那是喬科在一次國(guó)際跳臺(tái)滑雪比賽中買的,作為禮物送給了李納斯。李納斯把它放在一個(gè)抽屜里,一放就是好幾年,但米基把它掛在了她的床頭上。

            米基拿出了一個(gè)相冊(cè),里面有一些全家的照片。有一張是李納斯兩三歲時(shí),赤身裸體地站在海灘上。還有一張也是他,也是那個(gè)年齡,在月光下瞎跑著,地點(diǎn)是赫爾辛基附近的一所著名的城堡。另一張是他少年時(shí)代,看上去又瘦又笨。還有一張是米基,參加她父親的六十歲大壽。她指著她的姐姐和哥哥說(shuō):“她是個(gè)心理學(xué)家,在紐約。他是個(gè)核物理學(xué)家。而我,是我們家的敗家子。對(duì)不對(duì)?可我是第一個(gè)抱孫子的。”她說(shuō)完又點(diǎn)起一根煙。

            我們?nèi)ヒ患医袕埐畟惖牟蛷d吃中飯。薩拉又查看她的手機(jī),米基要了幾種不同的咖啡。米基回憶說(shuō),她和尼基曾爭(zhēng)論過(guò)是否要強(qiáng)迫李納斯放棄橡皮奶頭。他們爭(zhēng)論的方式很有意思:相互寫紙條,然后把紙條放在茶幾上。她們還談起了李納斯的記憶力非常之差,常常記不住別人的相貌。薩拉說(shuō):“要是你和他一起看電影,主人公本來(lái)穿一件紅色襯衫,但后來(lái)?yè)Q了件黃色的,他就會(huì)問(wèn):‘這人是誰(shuí)?’”他們?nèi)疫€騎自行車去瑞典野營(yíng)度假,晚上就睡在擺渡船上。第一天薩拉的自行車就被人偷走了,于是不得不花錢又買了一輛新的。他們的帳篷就搭在一個(gè)懸崖上。母女倆去游泳和釣魚,李納斯就一個(gè)人呆在帳篷里讀了一整天的書。后來(lái)來(lái)了一場(chǎng)暴風(fēng)雨,一直睡在帳篷里的李納斯對(duì)突如其來(lái)的氣候變化竟全然不知,但正是因?yàn)樗趲づ窭铮艣]使帳篷被風(fēng)吹到波羅的海里去。

            米基回憶起李納斯整天躲在他的房間里玩電腦的歲月時(shí),不禁大笑起來(lái)。“尼基常對(duì)我說(shuō):‘把他踢出去,讓他去找個(gè)工作。’但李納斯對(duì)我不是什么負(fù)擔(dān)。他的要求不多,他所要求的一切就是他的電腦。那是他的事情,他的王國(guó),他有權(quán)那樣做。我對(duì)他所作的事情一無(wú)所知。”

            如今她和其他人一樣,對(duì)她兒子的活動(dòng)非常熟悉。各種媒體不斷地尋找米基和她的家人搜集材料。有一些問(wèn)題他們都轉(zhuǎn)給了李納斯,但他告訴他媽媽、爸爸和妹妹運(yùn)用他們自己的判斷力回答那些問(wèn)題。可每當(dāng)他們寫好回答后,一般又都寄給李納斯,在交給記者之前都希望得到他的同意。

            幾個(gè)月前,我曾給米基發(fā)過(guò)電子郵件,請(qǐng)求她寫點(diǎn)關(guān)于李納斯童年生活的東西,米基的回信非常長(zhǎng),而且寫得非常用心。她文章題目是“從一個(gè)電腦迷中培養(yǎng)出李納斯”。在文章中,她描述了對(duì)她蹣跚學(xué)步兒子的早期觀察,說(shuō)在他身上看到了她父親和她哥哥身上所具有的對(duì)科學(xué)執(zhí)著的跡象。

            “當(dāng)一個(gè)問(wèn)題出現(xiàn)并始終困擾一個(gè)人時(shí),你就會(huì)看到他的眼睛變得發(fā)直,他再也聽不到你在說(shuō)什么,也不回答你簡(jiǎn)單的問(wèn)題,而是完全陷入眼前的問(wèn)題之中,在解決方案的過(guò)程中廢寢忘食,而且從不放棄。當(dāng)然,他在日常生活中會(huì)被瑣事打斷,但事后還會(huì)繼續(xù)單槍匹馬地思索,這時(shí)你便知道他是什么樣的人了。”

            她還寫了李納斯和薩拉這兩個(gè)兄妹之間的爭(zhēng)執(zhí)和不可調(diào)和的不一致(比如,薩拉:“我不喜歡蘑菇、豬肝之類的味道。”李納斯:“你必須喜歡。”)他倆偶爾也會(huì)流露出尊重對(duì)方的態(tài)度。“李納斯在很小的時(shí)候,有一次對(duì)我袒露出對(duì)他妹妹的佩服。他那時(shí)大概是五歲或七歲,突然嚴(yán)肅地對(duì)我說(shuō):‘你瞧,我腦子里從來(lái)沒有新的思想,我想的事都是別人先想出來(lái)的,我再把它們重新組織起來(lái)。但薩拉想的事都是別人從沒有想過(guò)的。’”

            “這些回憶讓我覺得,我至今仍認(rèn)為他沒有什么‘特殊的’才華,肯定沒有在‘計(jì)算機(jī)’方面的才華--假如他沒有這方面的才華,斷然會(huì)把精力放在其他方面。在某一天或某個(gè)年代,他就會(huì)集中于應(yīng)付另一個(gè)不同的挑戰(zhàn)。我想他會(huì)的(我的意思是說(shuō),我希望他不要永遠(yuǎn)陷在linux軟件上)。因?yàn)槲艺J(rèn)為他的動(dòng)力并非是‘計(jì)算機(jī)’,也決不是名聲和財(cái)富,而是誠(chéng)實(shí)的好奇心和征服所面臨的困難的愿望,以及用最好的辦法去克服困難。因?yàn)槭虑榫褪侨绱耍麤Q不會(huì)后退。

            “我想我已經(jīng)回答了李納斯是一個(gè)什么的孩子的問(wèn)題--不錯(cuò),他是非常好養(yǎng)的。他惟一需要的就是一個(gè)挑戰(zhàn),剩下來(lái)的事情就由他自己去解決了。就像我和薩拉過(guò)去常說(shuō)的,只要給他一間斗室,里面放上一臺(tái)電腦,再給他一些面條吃,他就會(huì)覺得無(wú)比幸福。

            “除了……自他打小起我就一直揪著心:照他這樣怎么可能找到一個(gè)像樣的女孩?我只得再次求助于父母?jìng)儗以嚥凰霓k法--祈禱。你們瞧,還真靈驗(yàn)了!他是在大學(xué)教書時(shí)遇到塔芙的,她讓他在幾天之內(nèi)忘記了他的貓和他的電腦,這毋庸諱言是上天的勝利,正如其一貫獲勝那樣。

            “我唯一的希望是名聲不要讓他分心太多。他的出名并沒有改變他,但他變得溫和多了,人們接近他時(shí)他也愿意和別人說(shuō)話了。拒絕別人也讓他感到比較為難了。但我想讓他改變的與其說(shuō)是所有媒體的喧囂,還不如說(shuō)主要是由于他成為了一個(gè)丈夫和一名父親。”

            顯而易見,母親和女兒都對(duì)媒體的喧囂了如指掌。Transmeta公司鄭重宣布他們的決定的第二天,我們?cè)诔灾形顼垥r(shí),米基就問(wèn)薩拉:“今天的報(bào)紙上有什么消息嗎?”

            當(dāng)天晚上,在她去上班的路上,她讓出租汽車司機(jī)在我住在旅館門口停下,她送來(lái)了一只松木兒童椅子,讓我親自交給帕特里夏。同時(shí)還有一張一處公寓的樓層平面圖。

             

            下面我談?wù)劦谝淮我娮R(shí)李納斯那出色發(fā)明的情景。

            記得那是1992年上半年的一天。我騎著自行車,隨便溜達(dá)到了李納斯亂七八糟的家里。和往常一樣,我一邊看著音樂電視節(jié)目,一邊詢問(wèn)李納斯有關(guān)他那操作系統(tǒng)的發(fā)展?fàn)顩r。要是平常,他會(huì)咕噥一些毫無(wú)意義的東西。這次,他卻徑直領(lǐng)著我穿過(guò)臟亂的廚房,來(lái)到他那一團(tuán)糟的房間里的電腦旁。

            李納斯將用戶名和密碼輸入了電腦,接著出現(xiàn)的是command prompt命令提顯符。他展示了命令處理程序(command interpreter)的一些基本功能--但是沒什么特別的。稍許,他回過(guò)頭,臉上帶著李納斯式的微笑,問(wèn)道:“看起來(lái)像DOS,是嗎?”

            我點(diǎn)點(diǎn)頭。我一點(diǎn)也不吃驚,因?yàn)槟强雌饋?lái)真的像DOS--沒什么新意,真的。我真該知道,如果不是有什么特別的話,李納斯絕不會(huì)那么笑。他轉(zhuǎn)向電腦,又敲了幾個(gè)功能鍵--出現(xiàn)了另一個(gè)登錄屏,一個(gè)嶄新的登錄屏和嶄新的命令提顯符。李納斯給我看了四個(gè)不同的提顯符,告訴我這四個(gè)命令提顯符可由四名不同的用戶使用。

            就在那時(shí),我知道李納斯創(chuàng)造了一種奇妙的東西。毫無(wú)疑問(wèn)。

            喬科。沃魯馬吉

             

            “對(duì)我而言,那意味著電話一直占線,沒有人能給我們打電話……后來(lái),明信片開始從四面八方寄來(lái)。我想就是在那時(shí),我意識(shí)到現(xiàn)實(shí)世界的人們確實(shí)在使用他所創(chuàng)造的東西。”

                                                 薩拉。托沃茲ÿ


            posted on 2008-03-08 23:13 七星重劍 閱讀(450) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 亂七八糟
            久久亚洲春色中文字幕久久久| 国内精品久久久久影院老司| 91久久精一区二区三区大全| 久久精品国产亚洲一区二区| 久久九九免费高清视频| 伊人久久无码精品中文字幕| 日韩人妻无码一区二区三区久久| 国产精品毛片久久久久久久| 亚洲?V乱码久久精品蜜桃| 亚洲女久久久噜噜噜熟女| 99久久精品费精品国产| 亚洲人成网站999久久久综合| 久久青青草原精品国产| 久久久久人妻一区精品| 久久亚洲精品国产精品| 久久精品国产清自在天天线| 伊人色综合久久天天人手人婷| 美女写真久久影院| 亚洲综合伊人久久综合| 欧美一级久久久久久久大| 72种姿势欧美久久久久大黄蕉| 亚洲人成电影网站久久| 99久久精品国产麻豆| 少妇高潮惨叫久久久久久| 亚洲日韩欧美一区久久久久我| 久久国产精品成人片免费| 亚洲中文久久精品无码ww16| 麻豆久久久9性大片| 免费一级做a爰片久久毛片潮| 久久综合九色综合久99 | 午夜视频久久久久一区| 51久久夜色精品国产| 99久久er这里只有精品18| 看久久久久久a级毛片| 久久综合亚洲鲁鲁五月天| 久久久久久午夜精品| 国产精品九九久久免费视频| 久久九九有精品国产23百花影院| 99久久人妻无码精品系列| 久久国产色AV免费看| 久久精品国产亚洲77777|