第350章崑崙系統
# 第350章崑崙系統
1983年5月,北京。
中關村新樓三層最東頭那間屋子,門口連塊牌子都沒掛。
窗戶朝東,早上太陽一出來就晃眼,下午又曬得跟蒸籠似的。
但王溯不在乎這個。
他站在屋子中間,看著眼前這幾個人。
胡志遠,坐角落那臺機器前,頭髮還是亂糟糟的,眼鏡片厚得像啤酒瓶底。
來了一多月了,說的話加起來不超過一百句。
李衛國,二十八歲,軟體組最早的骨幹之一,話多,手快,一個人能頂三個用。
還有兩個新面孔。
一個叫劉春生,二十五歲,北大數學系畢業的,去年分來的;一個叫孫曉梅,二十四歲,唯一的女生,清華計算機系的高材生。
五個人,五臺機器,一間朝東的屋子。
這就是作業系統的全部家當。
「人都齊了。」王溯開口,「咱們開個會。」
胡志遠沒動,繼續盯著屏幕。
李衛國拉過一把椅子坐下。劉春生和孫曉梅站在旁邊,等著。
王溯走到黑板前,拿起粉筆,寫下兩個字:
「崑崙」
「這是咱們的系統,叫『崑崙』。」他轉過身,「這名兒,是趙總工起的。」
胡志遠的頭抬了一下,又低下去了。
李衛國念出聲來:「崑崙……挺有氣勢。」
王溯點點頭。
「咱們的任務,是在這兒,從零開始,寫一個作業系統。」
他看著那幾個人。
「不是改別人的,不是抄別人的,是自己從頭寫的。內核、文件系統、內存管理、進程調度、設備驅動、用戶界面——全得自己寫。」
屋裡安靜了幾秒。
劉春生舉手。
「王組長,我問一下,咱們為什麼要自己寫?不能改別人的嗎?」
王溯看著他。
「改誰的?」
劉春生想了想:「CP/M,或者……那個剛出來的MS-DOS?」
王溯搖搖頭。
「改不了。」
他從桌上拿起一沓資料,遞給劉春生。
「這是咱們的硬體架構。跟別人的不一樣。別人的系統,跑不了。」
劉春生翻著資料,沒說話。
孫曉梅開口。
「王組長,咱們有多少人?」
「五個。」
「時間呢?」
「不知道。可能三年,可能五年。」
孫曉梅沉默了幾秒,然後點點頭。
「行。」
王溯看著她。
「你不怕?」
孫曉梅搖搖頭。
「怕什麼?幹就是了。」
王溯笑了。
他轉向胡志遠。
「老胡,你說兩句?」
胡志遠抬起頭,看著他。
「說什麼?」
「說點……鼓勵的話?」
胡志遠想了想。
然後他轉回去,繼續盯著屏幕。
「代碼寫出來,就是鼓勵。」
王溯愣了一下,然後笑了。
「行。那就不說了。」
他走到那臺機器前,坐下。
把手放在鍵盤上。
「第一行代碼,誰來寫?」
沒人說話。
王溯看著屏幕,沉默了幾秒。
然後他敲下了第一行。
那是一個注釋:
「/*KunlunOS-kernelstart*/」
屋裡安靜極了。
只有鍵盤敲擊的聲音,噼裡啪啦,一下一下。
胡志遠的嘴角,翹了一下。
沒讓別人看見。
第一個月,最難熬。
五個人,五臺機器,每天從早上八點幹到晚上十二點。餓了就在機房吃,困了就在椅子上眯一會兒。
王溯買了五張摺疊床,靠牆放著。誰實在扛不住了,就躺一會兒。但很少有人躺。躺下去,腦子裡還是那些代碼,翻來覆去睡不著,還不如起來接著寫。
胡志遠最拼。
他每天來得最早,走得最晚。有時候王溯早上七點半到,他已經在那兒了。問他幾點來的,他說六點。問他晚上幾點走的,他說不知道。
李衛國悄悄跟王溯說:「老胡這人,不是人。」
王溯瞪他一眼。
「我說真的。」李衛國壓低聲音,「他一天能寫我三天的量。而且bug少,基本上寫完就能跑。他是怎麼長的?」
王溯看著胡志遠的背影,沒說話。
但他心裡清楚。
這人,是真喜歡寫代碼。
不是當工作,是真喜歡。
劉春生和孫曉梅也拼。
兩個新人,剛來就趕上這種強度,誰也沒叫苦。劉春生負責文件系統,天天抱著那本《數據結構》翻,翻爛了還在翻。孫曉梅負責內存管理,遇到難題就追著王溯問,問完了自己琢磨,琢磨通了就寫,寫完了再問。
有一天晚上,王溯十一點多要走,看見孫曉梅還趴在桌上,對著一屏幕代碼發呆。
「曉梅,還不走?」
孫曉梅抬起頭,眼睛紅紅的。
「王組長,這個bug,我找了一天了,沒找著。」
王溯走過去,看了看屏幕。
是一個內存分配的問題。代碼看著沒問題,但跑起來就死機。
他坐下來,一行一行看。
看了二十分鐘,他指著一行代碼。
「這兒。」
孫曉梅湊過去看。
「少了一個判斷。」王溯說,「邊界條件沒處理。」
孫曉梅盯著那行代碼,愣了幾秒。
然後她一拍腦袋。
「對!對啊!我怎麼沒想到!」
她抬起頭,看著王溯。
「王組長,你太厲害了。」
王溯笑了。
「不是我厲害。是你太累了。回去睡覺,明天再看。」
孫曉梅點點頭,關掉機器,站起來。
走到門口,她忽然回過頭。
「王組長,咱們這個系統,真能做成嗎?」
王溯看著她。
「你覺得呢?」
孫曉梅想了想。
「我覺得能。」
「為什麼?」
孫曉梅指了指胡志遠的座位——人早就走了,但桌上那沓列印紙還攤著,上面密密麻麻的代碼,每一行都寫得整整齊齊。
「因為有老胡。」她說,「還有你。還有我們。」
王溯愣了一下,然後笑了。
「那就做下去。」
第二個月,出了事。
那天下午,王溯正在調試一段代碼,忽然聽見李衛國喊了一聲。
「壞了!」
他抬起頭。
李衛國盯著屏幕,臉色煞白。
「怎麼了?」
李衛國沒說話,只是指著屏幕。
王溯走過去一看,心裡咯噔一下。
屏幕上,一行紅字:
「FATAL:KERNELPANIC」
內核崩潰。
整個系統,死了。
「怎麼回事?」王溯問。
李衛國搖頭。
「不知道。我剛加了一段代碼,編譯完一跑,就成這樣了。」
王溯坐下來,開始查。
查了一個小時,沒查出來。
劉春生過來幫忙,又查了一個小時,還是沒查出來。
孫曉梅也過來,三個人一起查,又查了兩個小時。
天黑了。燈亮了。
還是沒查出來。
李衛國坐在那兒,臉色越來越難看。
「王組長,是我寫崩的。我……」
「別急。」王溯打斷他,「代碼是人寫的,bug也是人寫的。找出來,改掉,就行。」
他又低下頭,繼續看。
九點多,門開了。
胡志遠走進來。他今天出去辦了點事,下午不在。
看見幾個人圍著屏幕,他愣了一下。
「怎麼了?」
王溯抬起頭。
「內核崩了。找了一下午,沒找著。」
胡志遠走過去,在李衛國旁邊坐下。
「最後一次提交是什麼時候?」
李衛國報了個時間。
胡志遠調出代碼,開始看。
看了十分鐘。
他指著屏幕。
「這兒。」
幾個人湊過去看。
一行代碼,看起來沒什麼問題。
「這兒少了一個括號。」胡志遠說,「語法上沒錯,但邏輯不對。編譯能過,跑起來就崩。」
李衛國盯著那行代碼,看了半天。
然後他一拍腦袋。
「對!對啊!我寫的時候少敲了一個!」
他轉過頭,看著胡志遠。
「老胡,你……你怎麼看出來的?」
胡志遠沒回答,只是站起來,走到自己的座位,坐下。
「改完重新編譯。」
李衛國愣在那兒,半天沒動。
王溯拍拍他肩膀。
「愣著幹嘛?改啊。」
李衛國這才回過神來,開始改代碼。
改完,重新編譯。
跑了二十分鐘,沒崩。
又跑了半小時,還是好好的。
李衛國長出一口氣,靠在椅背上。
「老胡,我服了。」
胡志遠沒回頭。
但他的手,在鍵盤上停了一下。
那天晚上,李衛國非要請胡志遠吃飯。
胡志遠不去。李衛國就拽著他,生拉硬拽,拽到那個小館子。
點了幾個菜,要了兩瓶啤酒。
李衛國端起酒杯。
「老胡,我敬你。今天要不是你,我可能得熬一宿。」
胡志遠沒端杯。
「不用。」
李衛國也不尷尬,自己喝了一口。
「老胡,我問你個事兒。」
胡志遠看著他。
「你這麼厲害,以前在計算所,怎麼沒人知道?」
胡志遠沉默了一會兒。
「沒人問。」
李衛國愣了一下。
「什麼?」
「沒人問。」胡志遠說,「我在計算所幹了六年。沒人問過我,想幹什麼,能幹什麼,需要什麼。」
他拿起筷子,夾了一口菜。
「後來我就不說了。」
李衛國看著他,不知道該說什麼。
胡志遠把菜嚼完,放下筷子。
「王溯來的時候,問了我三個問題。」
他頓了頓。
「你會幹活兒嗎?你有什麼條件?你什麼時候能來?」
他轉過頭,看著李衛國。
「六年了,第一次有人問這些。」
李衛國沉默了很久。
然後他舉起酒杯。
「老胡,以後有人問了。」
胡志遠看著他。
李衛國把酒幹了。
「以後咱們就是兄弟。你有事兒,說話。我扛不住,還有王溯。王溯扛不住,還有趙總工。」
他放下酒杯。
「你不是一個人了。」
胡志遠低著頭,沒說話。
但他的手,在桌子底下,握成了拳頭。
第三個月,有了進展。
那天下午,王溯把幾個人叫到一起。
「今天,咱們跑個完整的。」
幾個人互相看了看。
「完整的?」李衛國問,「內核、內存、文件系統、進程調度,全跑?」
王溯點頭。
「全跑。」
胡志遠沒說話,但手指在鍵盤上敲了幾下。
屏幕上開始滾動一行行信息。
內存初始化……完成。
進程表初始化……完成。
文件系統掛載……完成。
調度器啟動……完成。
最後,屏幕上跳出一行提示符:
「KunlunOSv0.1>」
屋裡安靜極了。
幾個人盯著那行字,誰也沒說話。
然後李衛國嗷一嗓子。
「成了!」
他跳起來,在屋裡轉圈。
劉春生和孫曉梅也笑了,使勁鼓掌。
王溯沒動。他就坐在那兒,盯著那行提示符,盯著那幾個字。
「KunlunOS」
那是他寫的。是他們五個人,三個月,一天一天熬出來的。
他的眼眶有點紅。
胡志遠也沒動。他就坐在那兒,看著屏幕。
但他的嘴角,翹得老高。
門被推開了。
趙四站在門口。
「聽說跑起來了?」
王溯站起來。
「趙總工,您怎麼來了?」
趙四走進來,走到那臺機器前。
他看著屏幕,看著那行提示符。
看了很久。
然後他轉過頭,看著那五個人。
胡志遠,頭髮還是亂糟糟的,眼鏡片厚得像啤酒瓶底。
李衛國,笑得跟個傻子似的。
劉春生和孫曉梅,站得筆直,眼睛亮亮的。
王溯,站在最前面,眼眶紅紅的。
趙四點點頭。
「好。」
就一個字。
但王溯聽見了。
那一個字裡,有太多東西。
那天晚上,趙四請他們吃飯。
還是那個小館子,還是那幾張破桌子。但這次,趙四點了八個菜,要了四瓶二鍋頭。
「喝。」他舉起酒杯,「今天高興。」
大家舉杯,一飲而盡。
喝著喝著,李衛國話多起來。
「趙總工,您知道嗎,今天跑起來那一刻,我差點哭了。」
趙四看著他。
「是嗎?」
「真的。」李衛國說,「三個月,天天熬,天天寫。有時候真想放棄,覺得太難了。但今天一看那行字,就覺得值了。」
趙四點點頭。
「值就好。」
他轉向胡志遠。
「老胡,你呢?」
胡志遠沉默了一會兒。
「還行。」
趙四笑了。
「還行,就是挺好。」
他又倒了一杯酒,端起來。
「來,敬你們。敬崑崙。」
大家舉杯。
「敬崑崙!」
喝完了,趙四放下酒杯,看著他們。
「你們知道,我今天為什麼來嗎?」
幾個人搖頭。
趙四說:「因為我年輕的時候,也經歷過今天。」
他看著窗外。
「1969年,在那個廢棄的氣象站裡,我們第一次把『天河』的通信跑通。那天晚上,我們七個人,就著鹹菜,喝了三瓶二鍋頭。」
他轉過頭。
「那種感覺,跟你們今天一樣。」
他看著那五個人。
「你們今天跑起來的,不是幾行代碼。是一個開始。是從零到一的那一步。」
他頓了頓。
「這條路,你們走出來了。」
屋裡安靜了幾秒。
然後孫曉梅忽然說。
「趙總工,我能問您個問題嗎?」
趙四看著她。
「說。」
孫曉梅想了想。
「您覺得,咱們這個系統,將來能趕上美國的嗎?」
趙四沉默了一會兒。
然後他笑了。
「趕上?」
他看著孫曉梅。
「孩子,不是趕上。是走自己的路。」
他站起來。
「美國有美國的系統,咱們有咱們的。不一樣,但一樣用。一樣能讓老百姓用上計算機,一樣能讓工廠用上數控,一樣能讓學校開上計算機課。」
他拍拍孫曉梅的肩膀。
「這就夠了。」
孫曉梅聽著,若有所思。
趙四走到門口,忽然回過頭。
「對了,王溯。」
王溯站起來。
趙四看著他。
「明天,把這行字列印出來,貼在門口。」
王溯愣了一下。
「哪行字?」
趙四指了指那臺機器。
「KunlunOSv0.1」
王溯笑了。
「好。」
趙四推門出去。
五個人坐在那兒,誰也沒動。
過了一會兒,李衛國忽然說。
「王溯,你說,等咱們把v1.0搞出來,趙總工會不會再來請咱們吃飯?」
王溯想了想。
「會。」
「為什麼?」
王溯指著那臺機器。
「因為他知道,這條路,咱們走出來了。」
他頓了頓。
「而且,還會走下去。」
夜深了。
小館子裡,燈還亮著。
那五個人,還在喝著,聊著,笑著。
窗外,月亮很亮。
照在中關村的街上,照在那棟老樓的窗戶上。
那扇窗戶裡,有一臺機器,還亮著屏幕。
屏幕上,有一行字:
「KunlunOSv0.1