第119章 i三
“不知道是什麽樣的操作係統?”托瓦茲推了推眼睛,問道。這方麵他可以說是專家級的。
“一個混合式構架的操作係統!”這時推門走進一個亞裔的青年,他笑著說道。然後他伸手和托瓦茲握了一下,坐下後,繼續道:“我叫周昌,你可以喊周。我現在負責這個操作係統的研發。”
袁明元旦一過完就過來了,成立了分公司,招聘的人員,直到今天和托瓦茲見麵。他看著這個青澀瘦小的大男孩,誰又能想到未來能和威阮抗衡的操作係統之父,就是這個邋裏邋遢的男孩?
“混合式架構?”托瓦茲疑惑的皺著眉頭,道:“我隻聽過單內核和微內核,還沒聽過有混合式架構的?”
袁明笑著解釋道:“這是我們公司自行設計的一種架構思想。”混合架構,也可以叫做混合內核,是後世才發展起來的一種集單內核和微內核兩種架構之長的操作係統內核。大名鼎鼎的MAKOS就是采用混合內核的,後來威阮的Win也改用了這一架構。當然他們現在都還不是,萍果現在是微內核架構,威阮是單內核架構。
混合內核的基本設計理念,是以微內核架構來設計操作係統內核,但在實現上則采用單內核的作法。混合內核實質上是微內核,隻不過它讓一些微核結構運行在用戶空間的代碼運行在核心空間,這樣讓核心的運行效率更高些。這是一種妥協做法,是因為微內核架構雖然在擴展性、穩定性上更勝一籌,但消耗了更多係統時間,在運行速度上比不上單內核的架構。
袁明早於曆史10多年提出這種架構思想,不但讓自行研發的新操作係統少走了很多彎路,又可以讓操作係統的性能更強!
當袁明為托瓦茲解釋了什麽是混合式架構後,托瓦茲思考了一下後,驚訝的問道:“這不是一種單內核的變種嗎?”
袁明笑著點點頭道:“確實是的,隻是我們更喜歡稱它為微內核的變種。當然兩種講法其實都差不多,不過看大家的傾向而已。”
托瓦茲見袁明沒有反對他的話,心中不由很滿意,他對單內核架構很執著,因為他是個實用主義者,考慮的更多是係統如何更快,以及讓CPU的性能充分發揮。從某些方麵來說,這樣的作法是正確的。
在八、九十年代,CPU的速度不高,內存的很小,所以並行多任務的需求很少,大多數計算機操作係統都是分時多任務係統。這樣的係統,因為運行的任務少,所以即使因為故障掛掉了,重新跑一邊就好了。因為不需要考慮故障對操作係統核心的影響,所以那個時代單內核成為了主流。
而當CPU速度越來越快,內存越來越大,甚至一台計算機可以有多個CPU時,服務器隨著作業量的增加和可靠性要求的增高,單內核的操作係統就很吃虧了,因為任何一個小小的係統故障都會導致係統宕機,這才有了混合內核的誕生。
袁明見托瓦茲沒有反駁,不由送了一口氣,果然托瓦茲是個單內核控,幸好沒刺激到他。
“我們準備按照一個月500米刀支付你的薪水,不知道你願意接這個任務嗎?”袁明問道。
“願意!願意!”托瓦茲心裏太願意了,上午他還在為差幾百米刀而苦惱,結果中午就有人支付薪水請他幹活,他怎麽能不願意?
“那好,後麵的事情都由伊芙娜負責,你後麵和她聯係就好。”袁明心情愉快地走了。
伊芙娜笑著對托瓦茲說:“我們準備為你了一間辦公室,另外還有十幾個計算機高手,協助你完成開發。而我是這個項目的負責人,後麵還需要托瓦茲先生多多協助。”袁明當初招伊芙娜進來隻有一件事情,就是保持和托瓦茲的接觸,讓他順利進入項目組,然後完成開發任務。伊芙娜也知道老板對這件事看得很重,所以對待托瓦茲非常謹慎小心,生怕得罪了他,她就完不成任務。
托瓦茲對於有美女陪伴,還有高手幫忙的事情,非常滿意!上哪裏找這樣的好事情啊!所以後麵他就利用課餘時間過來,開始了操作係統的研發。
說實話,雖然有十幾個幫手,但他們更多是開發外圍程序,而混合內核的開發隻能由托瓦茲自己獨力完成。獨自開發操作係統內核的日子其實十分單調。托瓦茲每天24小時是這樣度過的:編程——睡覺——編程——吃椒鹽卷餅或洗澡(隨便衝衝了事)——睡覺——編程。
好在有美女相伴,他並不感覺枯燥。相反,由於伊芙娜的存在,他爆發出了前所未有的激情。他基本上吃喝都在公司,連宿舍和家都很少回。由於他的大學就在家門口,以往他都是隔一段時間就要回家的。現在他回家很少,即使回去了,也是埋頭寫代碼,對外麵的事情漠不關心。
見他如此沉迷,引來了父母的擔憂。父親尼奇憂心忡忡地對母親米奇說:“趕緊讓他去外麵玩玩吧。”米奇擔心的則是另一回事:“像他這副(整天宅著不出門的)德性,以後還怎麽去結識好女孩兒啊?”
在父母為兒子操心時,黑客兒子也為正在開發的係統操碎了心。
由於和作為參考的Minix操作係統架構不太一樣,他要從原來單層結構裏,再插入一層BSD層,用於跑用戶進程。開始他的做法是直接讓微內核的直接調度BSD層的進程,結果發現又回到了單內核的老路上,和混合內核的思想嚴重衝突。所以他研究了很久,在調度之上增加了進程和線程的抽象,是對BSD層的進程和線程的更高層次抽象。BSD層的進程和線程比核心層包含更多的信息,支持更多的特性,核心層的進程和線程並不能滿足操作係統的高級需求,通過BSD層提供了更為豐富且標準化的API。
當然,托瓦茲隻負責定義接口和標準,其他API的豐富都交給了團隊成員。
開發到文件係統驅動環節時,由於感覺太費勁,托瓦茲差點放棄。但每當他看到伊芙娜那絕美的容顏,不知道為何他又鬥誌昂揚起來。
為了寫操作係統,他放棄了那可有可無的派對,放棄了社交,甚至有時候寫到興頭上,連上課也放棄了。
1988年11月,當地球那一邊傳來老喬治當選米國總統的消息時,托瓦茲和整個團隊已經完成了新操作係統的全部開發和測試。曆時10個月,核心代碼1MB,整個操作係統有20MB大小。完全兼容POSIX1.0標準,意味著可以通過模擬器運行DOS、Windows程序,支持多用戶多任務,同時具備字符界麵和圖形界麵。這是曆史上第一多用戶多任務、分頁磁盤緩存的操作係統。由於當時的電腦內存有限,如果運行的程序大於內存,很容易導致電腦崩潰,分頁到磁盤的功能,可以很好地解決了這個問題。
更重要的是,由於這個新操作係統支持多種平台,可以安裝在各種計算機硬件設備中,比如未來的手機、平板電腦、路由器、視頻遊戲控製台、台式計算機、大型機和超級計算機。在跨平台適應性上,甩了威阮的Win好幾條街,這也為未來袁明的移動操作係統崛起奠定了基礎。
當袁明知道這個消息後,很快飛來了芬蘭,托瓦茲為袁明演示了操作係統的各項功能,甚至還演示了自己寫的一個簡單圖形界麵。袁明對此讚不絕口,他已經在米國為圖形界麵申請專利了,當然要繞過萍果公司的專利,他申請的是十多年後的那種多任務多窗口的圖形界麵,所以他不擔心以後萍果公司會告他侵權,相反的,未來隻要威阮和萍果公司想要發展,就繞不過他的那些專利!
托瓦茲讓袁明給操作係統起一個名字,袁明想都沒想就說:“就叫它MinOS吧!”因為這個操作係統參考的是Minix操作係統,所以袁明保留的Min,但日後袁明希望這個操作係統可以是橫跨PC和移動端的強大操作係統,所以直接命名它OS!另一方麵,袁明的明,在鷹文中可以成為min,這也代表這他的一點小小的私心。
最終,袁明告訴托瓦茲,這個操作係統將分成兩個版本,一個是私有版,用於商業用途,一些公司的私秘功能將在這個版本上開發;另一個是社區版,在刪除公司機密之後,這個操作係統將開源到GNU社區,作為GNU可用的開源操作係統。這一下,可把托瓦茲高興壞了,他對金錢其實沒多大興趣,隻是裝X的事情樂此不疲,這樣一個長臉的事情,他當然願意了。所以他當即就把社區版的維護工作給包攬下來了,還為社區版起了一個好聽的名字叫“Linux”!