第六百八十三章 貝爾實(shí)驗(yàn)室的UNIX(一切都是文件)
Ken Thompson在老婆不在家的三周里面寫(xiě)出了UNIX操作系統(tǒng)。
1966年碩士畢業(yè)之后,被貝爾實(shí)驗(yàn)室多次邀請(qǐng)加入。
他和GE、MIT一起開(kāi)發(fā)Multics操作系統(tǒng),1969年因?yàn)檫^(guò)度設(shè)計(jì)而無(wú)法實(shí)現(xiàn)其宏大目標(biāo)。
貝爾實(shí)驗(yàn)室花不少錢(qián)推出,但是Ken繼續(xù)找到一臺(tái)PDP7機(jī)器,廢物回收,設(shè)計(jì)了太空旅行游戲。PDP7運(yùn)行速度慢,他和Dennis Ritchie等人,重新設(shè)計(jì)文件系統(tǒng),加快速度。
結(jié)果他第一周開(kāi)始實(shí)現(xiàn)shell,第二周開(kāi)始實(shí)現(xiàn)編輯器,第三周開(kāi)始實(shí)現(xiàn)匯編器。
這三周剛好老婆帶孩子回娘家,他完成了所有工作,在1969年寫(xiě)出了操作系統(tǒng)Unix。
而Dennis Ritchie發(fā)明c語(yǔ)言。然后用c語(yǔ)言重寫(xiě)了UNIX。讓UNIX可以輕松的在各個(gè)游戲之間移植。
公元1969年,貝爾實(shí)驗(yàn)室的Ken Thompson和Dennis Ritchie正在設(shè)計(jì)一個(gè)史無(wú)前例的操作系統(tǒng): Unix
Dennis兄,昨夜我一夜未眠,我感覺(jué)我們上了賊船了設(shè)計(jì)一個(gè)操作系統(tǒng)可真不容易啊你看看操作系統(tǒng)得管理多少設(shè)備鍵盤(pán),鼠標(biāo),屏幕,打印機(jī),光盤(pán)U盤(pán),游戲桿......
噓!天機(jī)不可泄漏,光盤(pán),游戲桿,U盤(pán),幾十年后才能發(fā)明啊!
所以說(shuō)上帝交給我們的任務(wù)不容易啊,得應(yīng)對(duì)未來(lái)幾十年的變化。你想想,我們可以開(kāi)發(fā)一個(gè)針對(duì)鍵盤(pán)讀寫(xiě)的程序,還可以開(kāi)發(fā)一個(gè)針對(duì)打印機(jī)讀寫(xiě)的程序,可是光盤(pán)U盤(pán)現(xiàn)在都不存在,怎么開(kāi)發(fā)?
在昨晚夢(mèng)里,上帝好像說(shuō)了一句話,我想不起來(lái)了只記得抽象這倆字
抽象?這些多亂七八糟的設(shè)備,有什么共同點(diǎn)?
你看啊,這些設(shè)備雖多,但共同點(diǎn)是都可以向它們寫(xiě)點(diǎn)東西,或者可以從它們讀點(diǎn)東西。
一個(gè)東西,可讀可寫(xiě),那不就是我們上周開(kāi)發(fā)完的文件嗎?
對(duì)對(duì),老弟說(shuō)得非常對(duì)我想起來(lái)了!上帝在夢(mèng)里給我說(shuō)的就是:Everything is a file!
我們?cè)偌?xì)化一下,文件就是個(gè)抽象的概念像個(gè)接口,其他的設(shè)備都是文件的實(shí)現(xiàn)。
沒(méi)錯(cuò),但是還有一個(gè)小問(wèn)題,既然把這些設(shè)備當(dāng)成了文件那總得像文件那樣給它們一個(gè)路徑名(Path name)吧!
嗯,有道理,當(dāng)這些設(shè)備注冊(cè)到操作系統(tǒng)的時(shí)候,操作系統(tǒng)就給它們分配一個(gè)像文件那樣的路徑,讓它們成為文件系統(tǒng)的一部分!
如此甚好,以后程序員可以像操作一個(gè)文件一樣來(lái)操作設(shè)備了:
它們都有一致的命名空間
它們都有一致的操作方法
(open,read,write,close)。
欽,等等!我們倆不是在用匯編開(kāi)發(fā)操作系統(tǒng)嗎,你這是什么編程語(yǔ)言?
哦,我忘了告訴你了,這是我私下里開(kāi)發(fā)的語(yǔ)言叫做C語(yǔ)言,可移植性比較好,用它來(lái)開(kāi)發(fā)Unix將來(lái)就可以移植到各種機(jī)器上去了。
老兄厲害啊,這C語(yǔ)言比匯編看起來(lái)舒服多了,敲完這行喝酒去!
1971年,Ken休假期間回到母校加州大學(xué),開(kāi)設(shè)課程,講解操作系統(tǒng)原理。一行行的給學(xué)生分析代碼。激發(fā)了很多學(xué)生對(duì)編程的熱情。Unix在很多大學(xué)開(kāi)始流行起來(lái)。
其中影響了Bill Joy。
1983年Ken和Dennis獲得圖靈機(jī)。
2000年Ken從貝爾實(shí)驗(yàn)室退休。
6年后63歲的他加入Google,發(fā)明了go語(yǔ)言。