Unix時代的開創者Ken Thompson(1943~)

自圖靈獎誕生以來,其獲得者一直都是計算機領域的科學家與學者,而在所有這些界的圖靈獎中只有唯一的一界有個例外,那就是Ken Thompson與Dennis M. Ritchie,他們都是計算機軟件工程師。
Ken Thompson,1943年出生於美國新奧爾良。1960年,Ken進入加州大學伯克利分校主修電氣工程。1965年從伯克利畢業後,又花了一年的時間在該校取得了電子工程碩士的學位。不知道是時代造就英雄,還是英雄順應時代而生,在Ken讀書期間,正好趕上了計算機時代蓬勃發展的起步階段,自小喜歡電氣的Ken接觸到計算機後,立即完全沉迷了進去,從1962年的開始,他就在學校的計算機中心找到份工作,專門負責程序的編寫。這也爲其後他一手開創的Unix時代奠定了良好基礎。
1966年離開校園的Ken加入了貝爾實驗室。那時的計算機系統還是批處理的天下,程序員只能在又慢又笨重大型機上工作,一般來講是先將程序卡片裝入設備,然後再等1個小時再過來取回運算的結果,其效率之低可想而知。應市場的需要,當時貝爾實驗室與麻省理工學院以及通用電氣公司聯合開發了一個多用戶分時操作系統,取名爲Multics(多路信息計算系統),Ken當時就是這個系統的開發人員之一,在開發Multics的期間,Ken創造出了名爲Bon的編程語言。可惜因爲這個系統不但開發週期長,成本高,而且龐大而緩慢,市場前景完全不被看好,最後貝爾實驗室從這個項目中撤了出來。這對於Ken而言,簡直是個巨大的不幸,因爲他自己用寫的一個“star travel”遊戲就是完全基於Multics的,退出Multics項目意味着Ken將沒有機器可以再玩這個遊戲了。
面對此情此景,Ken作爲一個創造者的本性立即體現了出來,於是他決定自己寫一個操作系統來滿足他玩遊戲的需要,說幹就幹,Ken找到了一臺廢棄已久的老式PDP-7,並在這臺機器上重寫了他的遊戲。在這個過程中,Ken有了一個主意,要開發一個全新的操作系統。利用PDP-7上的彙編語言,Ken只花了一個月就編寫完了操作系統的內核,在這個一個月中,他一週一個內核,一個文件系統,一個編輯器和一個編譯程序的完成。做完這個系統後,Ken將其命名爲UNiplexed Information and Computing System,縮寫爲 UNICS,後來做了一下改動,稱爲UNIX,在開發第一版Unix的過程中,Ken還開發出一種新的語言,即C語言的前身——B語言,這種語言簡潔明瞭,接近於硬件語言,第一版的Unix就是基於B語言來開發的。
Unix的出現開始雖然並不爲大家所看好,但是卻引起了貝爾實驗室另一位同事的注意,這就是Dennis M. Ritchie,於是Dennis主動加入了進來共同完善這個系統。至此一場轟轟烈烈的Unix的傳奇時代才真正的拉開了序幕。1972年,他們聯手將Unix移植到當時最先進的大型機PDP-2上,由於Unix是如此的簡潔、穩定與高效,以至於當時大家都放棄了PDP-2上自帶的DEC操作系統,而完全改用Unix,這時的Unix已經開始走向成熟了。在1973年之前Unix還不太爲外界所知,到同年10月,Unix在IBM舉辦的操作系統原理專題研討會上被提及,當Ken和Dennis在會上宣讀論文並展示Unix後,整個會場轟動了,大家都立即涌上來索取這種新型的操作系統的程序。隨着Unix的需求量的日益增加,Ken與Dennis決定將Unix進一步改寫,以便可以移植到各種不同的硬件系統,由於Unix的原碼中不少是用匯編完成,不具備良好的移植性,正好Dennis在1973年在B語言的基礎上開發出了C語言,C語言靈活,高效性,與硬件無關,並且不失其簡潔性,正是Unix移植所需要的法寶,於是舊版的Unix與C語言完美結合在一起產生了新的可移植的Unix系統。隨着Unix的廣泛使用,C語言也成爲了當時最受歡迎的編程語言一直到延續至令。
說到Unix與C語言,還有一段小故事,當時安裝了Unix的PDP-11被放在貝爾實驗室供大家使用,有一天大傢伙發現Ken總是可以得到最高的權限輕鬆進入他們的帳戶,在貝爾實驗室這種高人云集的地方,這簡單是太不能容忍了,於是有若干高人跳了出來,仔細分析Unix代碼,找到後門,修改後再重新編譯整個Unix,當所有人都以爲這個世界應該從此清靜了的時候,卻發現Ken還是很容易就取得了他們的帳戶權限,爲此大家鬱悶不已。至到很多年後,Ken才道出其中的原委,原來代碼裏確實存在後門,不過並不在Unix代碼中,而是藏在編譯Unix的編譯器裏,每次編譯器編譯時就會自動加入後門代碼,而當時整個貝爾實驗室都用的是Ken所寫的C編譯器。
由於Unix與C語言的深遠影響,1983年美國計算機協會將當年的圖靈獎破例頒給了作爲軟件工程師的Ken與Dennis,並在當年還決定新設立一個獎項――軟件系統獎,以獎勵那些優秀的軟件開發者,當然首個軟件系統獎也是非他們兩人莫屬了。
雖然UnixC語言讓KenDennis功成名就,但是他們兩人都沒有走那些IT史上自己創業的通用套路,而是一直留在貝爾實驗室從事其喜愛的軟件開發工作。到了200012月時,Ken正式退休,離開了工作了幾十年的貝爾實驗室開始享受他晚年的時光,但是Ken怎麼能閒得下來呢,於是他乾脆將他的另一個愛好:飛機,變成正式的職業,成爲了一名專職的飛行員。至此,他所開創的Unix時代已經完全與他無關了。 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章