Unix40年風(fēng)雨歷程:革命性操作系統(tǒng)的過去現(xiàn)在與未來
原創(chuàng)【51CTO獨家翻譯】40年前的這個夏天,一個程序員坐在他的電腦前,輸入了一系列的代碼,于是軟件歷史上最重要的一個產(chǎn)品就此誕生了。
1969年的八月,來自AT&T實驗室的程序員Ken Thompson發(fā)現(xiàn)當(dāng)他的妻子和孩子出去度假的時候,他終于有時間來實現(xiàn)自己關(guān)于新操作系統(tǒng)的想法了。他用匯編語言為Digital Equipment公司編寫了第一版的Unix操作系統(tǒng)。他使用DEC的小型機PDP-7,各花了一周的時間來完成外殼程序,編輯器和匯編程序。自從貝爾實驗室在早些時候撤銷了一個被稱作Multics(多路信息與計算服務(wù))的分時共享系統(tǒng)的項目(該項目早就陷入了困境)時,Thompson和他的同事Dennis Ritchie就感覺一直無所事事。他們不看好當(dāng)時的那些主流操作系統(tǒng),也不想繼續(xù)那個荒唐和愚蠢的Multics。經(jīng)過多次關(guān)于全新操作系統(tǒng)的討論。Thompson編寫了第一個版本的Unix。這個版本的Unix在后續(xù)的幾年內(nèi)得到了他的同事Doug McIlroy, Joe Ossanna 以及Rudd Canaday的幫助。一些來自Multics的創(chuàng)意被加入到了新操作系統(tǒng)里。但是這個全新的操作系統(tǒng)的精華就在于簡單就是最好的。
Ritchie 和Thompson在CACM的期刊中寫道:“一個強大的交互式操作系統(tǒng)既不需要花費大量的設(shè)備也不需要大批的人力。我們希望我們操作系統(tǒng)的用戶們發(fā)現(xiàn)Unix的最大特點就是簡單,優(yōu)雅并且容易操作?!?/P>
顯然他們做到了。Unix已經(jīng)成為IT界的基石,它已經(jīng)被廣泛的應(yīng)用到大學(xué),政府部門里的服務(wù)器以及工作站中。而它的影響力遠(yuǎn)比它應(yīng)用的范圍大的多。由于對計算機界的貢獻(xiàn),ACM在1983年授予Thompson 和Ritchie計算機界的最高榮譽---圖靈獎。 Unix的誕生使得一代的程序員開始重新思考編程的真諦。
Thompson和Ritchie
早期的起步
羅馬不是一天建成的。在1971年,Unix被移植到了PDP-11小型機上,這個平臺遠(yuǎn)比早期的PDP-7強大的多。新的系統(tǒng)中加入了全新的文本格式以及文本編輯器。而它的第一批使用者就是來自貝爾實驗室專利部門的打字員們。
在1972年,Ritchie發(fā)明了高級C程序語言(這是基于Thompson早期的B語言),隨后Thompson用C語言重新編寫了Unix,而這極大的增強了系統(tǒng)的便攜性。而這個版本被命名為Unics(Uniplexed Information and Computing Service),這也是對當(dāng)年Multics的致敬,不久這個名字又被改回Unix。
而是時候讓大家了解這個全新的操作系統(tǒng)了。Ritchie 和 Thompson于1974年6月在CACM期刊上發(fā)表了《Unix,全新的分時系統(tǒng)》的論文。這篇論文引起了巨大的反響。早期Unix在貝爾實驗室很受冷落。但是現(xiàn)在它有ACM作為后盾。編輯們稱這個優(yōu)雅的操作系統(tǒng)是個劃時代的作品。
專門研究IT歷史的專家Peter Salus評論說:“這篇CACM的論文影響深遠(yuǎn),Ken因為Unix而被大家重視?!?/P>
黑客們的天堂
Thompson和Ritchie被稱作是黑客們的教父。黑客們稱贊他們是集超凡的創(chuàng)造力與無窮的智慧于一身。他們研究問題的方法,編寫代碼的方式,在大學(xué)里對程序員們的精彩演講,以及拒絕微軟,IBM的資助,白手起家創(chuàng)辦公司的事跡都被人們津津樂道。而Unix也是當(dāng)時一些像加州大學(xué)Bill Joy,卡耐基梅隆大學(xué)Rick Rashid,貝爾實驗室David Korn等一些著名黑客專研的模板。Thompson和Ritchie在論文中寫道:“幾乎從一開始,這個系統(tǒng)就可以自己進(jìn)行完善。所有源代碼都可以在互聯(lián)網(wǎng)上查看與修改。當(dāng)互聯(lián)網(wǎng)上有新的創(chuàng)意發(fā)布出來我們很樂于修改或者重寫系統(tǒng)?!?/P>
AT&T的程序員Korn評價說:“Unix最大的特點就是可以自己編寫工具來替換系統(tǒng)原有的工具。這比你從其他地方購買軟件好得多。你知道你到底需要什么,并且可以開發(fā)出更好的工具?!盞orn是最有影響力的Unix開源工具Korn Shell的作者。
作家Salus回憶1970年他在多倫多大學(xué)使用IBM360系統(tǒng)進(jìn)行APL編程時說:“那個IBM的系統(tǒng)十分糟糕。但是在1978年的圣誕,我的一位哥倫比亞大學(xué)的朋友送給我一臺安裝有Unix系統(tǒng)的小型機,它實在是太方便了?!彼fUnix最大的優(yōu)點就是他的管道特性。這一特點在1973年被引入,可以很方便的將一個程序的輸出連接到另一個程序上。流水線的概念是由貝爾實驗室的Mcllroy發(fā)明的。這一特點被大多數(shù)操作系統(tǒng)抄襲,例如Linux,DOS,Windows。
而Unix另外的一個優(yōu)點就是它不需要幾百萬的大型機才可以運行。它是由低廉的DEC PDP-7編寫成的。Salus評價說:“我們不得不佩服Ken的智慧,可以用如此廉價的機器編寫出這么強大的操作系統(tǒng)?!?/P>
當(dāng)時大學(xué)的研究員們普遍使用Unix因為它相對來說簡單而且便于操作,并且它是開源的,擁有很多免費軟件,特別適用于科學(xué)計算。
#p#
Unix的后代
如今Unix已經(jīng)演變成為一個無所有權(quán)的操作系統(tǒng)。因為在1956年AT&T公司已經(jīng)被聯(lián)邦政府要求只能提供電信業(yè)務(wù)。雖然公司也可以繼續(xù)開發(fā)一些軟件并且合理的收取一些費用,但是公司對于計算機業(yè)務(wù)已經(jīng)不再熱衷了。而Unix也就不再受到公司的資助。而在二十世紀(jì)七十年代末期,AT&T公司突然認(rèn)識到Unix還有一定的商業(yè)價值,因此他們就利用1956年的一項軟件著作權(quán)聲明想要把Unix聲明成為自己的商業(yè)機密。從1979年的Unix第七個版本開始,Unix的許可協(xié)議不再允許大學(xué)里使用Unix源代碼開設(shè)課程。
而Vrije大學(xué)的計算機教授Andrew Tanenbaum說:“這不是個問題。”在1987年他編寫了一個Unix的克隆版,并在他的課堂中使用它。這個開源的Minix操作系統(tǒng)可以運行在Intel 80286處理器上。
Salus說:“Minix實現(xiàn)了Unix的所有功能,這是一個杰作。只有一個資深的程序員,并且熟知操作系統(tǒng)真諦的人才能做到這點?!倍鳰inix是1991年Linus Torvald的雛形。它不僅僅是個Unix的克隆,確切的說它只是外表像Unix而已。
讓我們再退回去幾年。在70年代,Bill Joy只是位加州大學(xué)伯克利分校的一位畢業(yè)生,他當(dāng)時正從事程序員的工作。一次他從貝爾實驗室收到一份Unix的拷貝,他發(fā)現(xiàn)這是一個很好的平臺,可以運行他的Pascal編譯器和文本編輯器。
而后來他和他的同學(xué)們又編寫了Unix的另外一個重要的分支,被稱作Berkeley Software Distribution (BSD) Unix。在1978年3月,Joy賣出了BSD Unix的第一份拷貝,售價50美元。
因此,在20世紀(jì)80年代,市面上一共有兩個版本的主流Unix。一個來自Berkeley一個來自AT&T。而這就演變成后來大家熟知的Unix內(nèi)戰(zhàn)。而用戶因此得到的好處就是可以免費得到Unix的源代碼并且定制自己合適的應(yīng)用程序。而不好的地方就在于造成了Unix的分化與變種。
在1982年,Joy創(chuàng)辦了Sun微系統(tǒng)公司,并且發(fā)布了他們的第一款工作站Sun-1.這款Sun-1上運行的BSD Unix被稱作SunOS(這也是Solaris的前身)。而在第二年,AT&T就發(fā)布了Unix System V。而這款極具影響力的操作系統(tǒng)成為后來IBM AIX和Hewlett-Packard HP-UX的基礎(chǔ)。
Unix內(nèi)戰(zhàn)
在80年代中期,用戶們就連聯(lián)邦政府都在抱怨,Unix雖然理論上是一個完整的操作系統(tǒng),但是實質(zhì)上它已經(jīng)分化了。廠商們抱怨不得不通過定制自身的特性與API來鎖定用戶群。在1987年,Unix System Laboratories(當(dāng)時它還是Bell實驗室的一個分支機構(gòu))開始與Sun合作,試圖合并這兩個主要的Unix分支。而他們合作的成果就是被稱作Unix System V Release 4.0的Unix系統(tǒng)。它與1989年發(fā)布,并且整合了System V Release 3, BSD, SunOS 以及 Microsoft's Xenix等多個Unix系統(tǒng)的特性。
而其它廠商開始對AT&T和Sun聯(lián)盟產(chǎn)生畏懼。而一些小聯(lián)盟像:X/Open, Open Software Foundation, Unix International 以及Corporation for Open Systems開始成立試圖對抗標(biāo)準(zhǔn)化聯(lián)盟。而這些聯(lián)盟間的口舌之爭已經(jīng)可以寫成一本書了。而他們都宣稱自己的Unix是一個標(biāo)準(zhǔn)版本,并且借此抨擊對手。
一個寫于1988年沒有發(fā)表的論文中說:“微型計算機的先驅(qū)Gordon Bell評價由IBM,HP,DEC等一些反AT&T與Sun聯(lián)盟的公司組成的組織“開源軟件聯(lián)盟”(OSF)。開源軟件聯(lián)盟可以讓更多的廠商進(jìn)入Unix市場,同時還可以保持這個市場較高的利潤率?!?/P>
而Unix內(nèi)戰(zhàn)想要統(tǒng)一Unix操作系統(tǒng)標(biāo)準(zhǔn)的愿望并沒有達(dá)成。但是在1993年,Unix聯(lián)盟遭到了來自微軟公司的32位操作系統(tǒng)Windows NT企業(yè)版的迎頭痛擊。Window NT在用戶桌面以及數(shù)據(jù)中心等多個市場取替了Sun公司了壟斷地位。
微軟的擁護(hù)者拍手稱快而Unix的廠商慌了神。幾乎所有的主要的Unix廠商自發(fā)的組成了 Common Open Software Environment聯(lián)盟。而這也減輕了AT&T與Sun聯(lián)盟被邊緣化的危險。
而事實上,這些聯(lián)盟使得Unix更加的標(biāo)準(zhǔn)化了,并且更具有競爭力。但是它們發(fā)展的太慢,并沒有阻止開源操作系統(tǒng)Linux的成長。而Linux正是從當(dāng)年Tanenbaum教授的Minix Unix發(fā)展而來的。
Unix進(jìn)化史
Unix的未來
一份來自Gartner Group的報告表明,持續(xù)的缺乏便攜性以及相對于Linux和Windows在X86平臺的移植成本都促使IT人員脫離了Unix。
一份2009年的報告中說:“用戶對于Linux服務(wù)器平臺充滿了熱情,而Windows服務(wù)平臺的使用率也在逐年上升,相比之下Unix最近幾年一直都在下降。”來自Gartner的分析師George Weiss說“Unix有一個悠久的歷史,但是目前它正在壓力中苦苦支撐,Linux可以成為Unix戰(zhàn)略上的伙伴。雖然Linux沒有像Unix那樣自身的背景,但是它在性能以及穩(wěn)定性發(fā)面將會馬上趕超Unix。”
但是一份來自計算機世界的調(diào)查表明近期不會發(fā)生大面積的Unix用戶系統(tǒng)遷移。通過對211位IT經(jīng)理的調(diào)查表明:90%的經(jīng)理人聲稱他們十分信賴Unix平臺。超過百分之五十的經(jīng)理人聲稱Unix對于他們是至關(guān)重要的。只有12%的經(jīng)理人宣稱將會在將來棄用Unix系統(tǒng)。節(jié)約成本與系統(tǒng)合并是其棄用的兩項重要原因。
Weiss說:“由于X86平臺的價格優(yōu)勢,其移植的過程將會加速??缮壗M件,聚類,云計算以及虛擬化,當(dāng)你想要整合這所有的元素,你就只能選擇Linux或者Windows。舉個例子,思科公司剛剛宣布它的統(tǒng)一計算模型可以整合網(wǎng)絡(luò),存儲,計算以及存儲器鏈接在一條網(wǎng)絡(luò)上。而你就不能使用Unix。你可以在X86平臺上運行Linux或者Unix,這是Intel的一次勝利?!?/P>
AT&T公司的Korn依舊看好Unix。他說自從1973年Unix引入了管道以來,它就在不斷的完善,現(xiàn)在你可以輕易的把它分割并且發(fā)布。而這將會促使Unix不斷進(jìn)步。他說:“管道理論可以在云計算的環(huán)境下很好的工作。你可以把工作分成簡單的部分來取代臃腫的工程。”
Unix的后續(xù)發(fā)展
我們且不看Unix的最終命運。這個操作系統(tǒng)自從40年前在貝爾實驗室建立以來就發(fā)展了無數(shù)的后代產(chǎn)品。無數(shù)的主流軟件都來源于Unix這包括了IBM, HP, Sun公司的Unix,Apple電腦的Mac OS X 以及Linux。而Unix的跟目錄結(jié)構(gòu)也影響了無數(shù)主流操作系統(tǒng)就像:微軟的Windows NT,IBM以及微軟的DOS系統(tǒng)等等。
Unix給了很多小公司建立自己低價平臺的機會。也許早先迷你系統(tǒng)的一個核心就變成的如今網(wǎng)絡(luò)通信系統(tǒng)的核心組件。而Unix也孕育了無數(shù)類似“管道”這樣的創(chuàng)意。Unix的后代Mach在科學(xué)計算以及分布式微處理器計算領(lǐng)域應(yīng)用廣泛。
ACM將1983年的圖靈獎授予Thompson和Ritchie的Unix。他們評價說:"Unix系統(tǒng)的精華在于它的框架,每一個程序員都可以在其他人的基礎(chǔ)上繼續(xù)工作。"
【編輯推薦】























