第六百八十三章 貝爾實驗室的UNIX(第1/1頁)
章節報錯
Ken thompson在老婆不在家的三週裡面寫出了UNIx作業系統。
1966年碩士畢業之後,被貝爾實驗室多次邀請加入。
他和GE、mIt一起開發multics作業系統,1969年因為過度設計而無法實現其宏大目標。
貝爾實驗室花不少錢推出,但是Ken繼續找到一臺pdp7機器,廢物回收,設計了太空旅行遊戲。pdp7執行速度慢,他和dennis Ritchie等人,重新設計檔案系統,加快速度。
結果他第一週開始實現shell,第二週開始實現編輯器,第三週開始實現彙編器。
這三週剛好老婆帶孩子回孃家,他完成了所有工作,在1969年寫出了作業系統Unix。
而dennis Ritchie發明c語言。然後用c語言重寫了UNIx。讓UNIx可以輕鬆的在各個遊戲之間移植。
公元1969年,貝爾實驗室的Ken thompson和dennis Ritchie正在設計一個史無前例的作業系統: Unix
dennis兄,昨夜我一夜未眠,我感覺我們上了賊船了設計一個作業系統可真不容易啊你看看作業系統得管理多少裝置鍵盤,滑鼠,螢幕,印表機,光碟隨身碟,遊戲杆......
噓!天機不可洩漏,光碟,遊戲杆,隨身碟,幾十年後才能發明啊!
所以說上帝交給我們的任務不容易啊,得應對未來幾十年的變化。你想想,我們可以開發一個針對鍵盤讀寫的程式,還可以開發一個針對印表機讀寫的程式,可是光碟隨身碟現在都不存在,怎麼開發?
在昨晚夢裡,上帝好像說了一句話,我想不起來了只記得抽象這倆字
抽象?這些多亂七八糟的裝置,有什麼共同點?
你看啊,這些裝置雖多,但共同點是都可以向它們寫點東西,或者可以從它們讀點東西。
一個東西,可讀可寫,那不就是我們上週開發完的檔案嗎?
對對,老弟說得非常對我想起來了!上帝在夢裡給我說的就是:Everything is a file!
我們再細化一下,檔案就是個抽象的概念像個介面,其他的裝置都是檔案的實現。
沒錯,但是還有一個小問題,既然把這些裝置當成了檔案那總得像檔案那樣給它們一個路徑名(path name)吧!
嗯,有道理,當這些裝置註冊到作業系統的時候,作業系統就給它們分配一個像檔案那樣的路徑,讓它們成為檔案系統的一部分!
如此甚好,以後程式設計師可以像操作一個檔案一樣來操作裝置了:
它們都有一致的名稱空間
它們都有一致的操作方法
(open,read,write,close)。
欽,等等!我們倆不是在用匯編開發作業系統嗎,你這是什麼程式語言?
哦,我忘了告訴你了,這是我私下裡開發的語言叫做c語言,可移植性比較好,用它來開發Unix將來就可以移植到各種機器上去了。
老兄厲害啊,這c語言比彙編看起來舒服多了,敲完這行喝酒去!
1971年,Ken休假期間回到母校加州大學,開設課程,講解作業系統原理。一行行的給學生分析程式碼。激發了很多學生對程式設計的熱情。Unix在很多大學開始流行起來。
其中影響了bill Joy。
1983年Ken和dennis獲得圖靈機。
2000年Ken從貝爾實驗室退休。
6年後63歲的他加入Google,發明了go語言。