我們熟知的操作系統(tǒng)大概都是windows系列,近年來Apple的成功,讓MacOS也逐漸走進普通用戶。在服務(wù)器領(lǐng)域,恐怕Linux是無人不知無人不曉。他們都是操作系統(tǒng),也在自己的領(lǐng)域里獨領(lǐng)風(fēng)騷。這都還得益于另外一個古董級別的操作系統(tǒng)--Unix,雖然說古董級別,只是他年紀大了,性能和功能,Unix依然有著頑強的生命力。
我們來沏杯茶,回顧Unix的傳奇,討論討論Windows與Mac OS的恩恩怨怨,還有Linux的迅速崛起。
Unix 傳奇
時光追溯到上世紀六十年代,多數(shù)計算機都采用批處理命令。為了研發(fā)一個多用途,多用戶的操作系統(tǒng)。有三個著名的公司聯(lián)合起來進行研發(fā)。三個知名的公司是美國電話及電報公司(American Telephone and Telegraph Inc.;ATT)、通用電器公司(General Electrics;G.E.)及麻省理工學(xué)院(Massachusetts Institute of Technology;MIT)。整個項目研發(fā)出來的操作系統(tǒng)被稱之為MULTICS??墒呛髞?,MULTICS項目開始迷失,目標過于龐大,功能過于復(fù)雜,研發(fā)的人們越來越不明白這個項目將會如何走下去。最終隸屬 ATT 公司的貝爾實驗室(Bell Labs)退出了這個項目。
值得一提的是 Bell Labs 。這個實驗室在整個人類科技史上都占據(jù)重要地位,電話就是在這個實驗室誕生。里面有著才華卓越的工程師和黑客。由于貝爾實驗室退出了MULTICS,那些習(xí)慣了使用MULTICS的貝爾實驗室工程師突然之間無法使用MULTICS,這無疑類似把劍客的劍給沒收了。當時貝爾實驗室有個叫Ken Thompson的人,他負責(zé)為為MULTICS這個操作系統(tǒng)寫游戲了個叫“Space Travel”的游戲。為了讓這個游戲能繼續(xù)下去,他不得不重新編寫一個操作系統(tǒng)。當他去申請計算機的時候,顯然領(lǐng)導(dǎo)不會因為一個游戲批準你一臺計算機。早起的計算機并不像我們現(xiàn)在的pc機那么小巧。當時計算機可是巨無霸,每一臺的造價也極其昂貴,只有企業(yè)和科研機構(gòu)才能買得起。
數(shù)字設(shè)備公司(Digital Equipment Corporation;DEC)生產(chǎn)兩種小型計算機 pdp系列和vax。 Ken無法得到pdp-11,卻在一個角落了發(fā)現(xiàn)了pdp-7,雖然這個機器已經(jīng)落后, Ken還是覺得如獲至寶,隨后他很順利的用匯編完成了操作系統(tǒng),并寫完了游戲。有趣的是,Ken的一個同事Brian Kernighan非常不喜歡這個系統(tǒng),嘲笑Ken Thompson說:“你寫的系統(tǒng)好真爛,干脆叫Unics算了。”(unics在英文里表示單一,與mult相反)。Ken對Brian的評價到?jīng)]有多大排斥,本身他的目標是游戲,而不是操作系統(tǒng),也接受了同事的命名。然后他更樂于推廣他的游戲,讓同事們茶余飯后娛樂娛樂。那時是1969年8月,恰巧這一年,芬蘭誕生了一個嬰兒,Linus Torvalds啼哭的來到這個世界。
事情總是環(huán)環(huán)相扣,可是誰也不知道這環(huán)將會扣向哪一環(huán)。Ken的另一個同事Dennis Ritchie對Ken的游戲沒有多大興趣,倒是對Unics情有獨鐘。當時Ken用匯編完成的Unics,如果換到pdp-11上,Unics想要運行必須重新沖重新編寫代碼移植。Ken無法為當時不同的機型提供上百個Unics版本。這時,Dennis Ritchie 在BCPL基礎(chǔ)上,開發(fā)了一種新的高級語言將Unics重新寫了一遍,并命名為 UNIX。這個語言是將BCPL語言進行了升級,也就是后來大名鼎鼎的C語言。盡管是游戲和嘲諷,Unix和C誕生了,并且完美地結(jié)合成為一個統(tǒng)一體,C與Unix很快成為世界的主導(dǎo)。新的歷史,開始了。
當時的美國公司,工程師研發(fā)完畢,往往會有休假,一休就是一年。旅游,探險都是好方式,可是 Ken選擇了到伯克利(Berkeley)進行教學(xué)。也難怪歐美的教育科技那么發(fā)達,總有黑客將知識和技術(shù)進行傳承。由于當時ATT被美國反壟斷制裁,Bell實驗室不能銷售Unix。只能無償提供大家學(xué)習(xí)研究。正是因為這樣開放環(huán)境,使得Unxi的功能和特性被不斷的豐富。在Berkeley,有一個專門研究UNIX小組,他們?yōu)閁NIX提供了很多新特性,例如著名的 TCP/IP協(xié)議。并完成了BSD版本。很快,就有公司看到了BSD的商機,分分購買BSD進行商用。
這個時候,ATT公司對其他機構(gòu)拿著Unix賺錢自己卻一無所獲很不爽。那是一個ATT妄圖私有化的Unix的時代。為了私有化Unix,1986年IEEE指定了一個委員會制定了一個一個開放作業(yè)系統(tǒng)的標準,稱為 POSIX (Portable Operating Systems Interface)。并和BSD進行法律官司,ATT再次被反壟斷,這場官司一直打到 ATT再將自己的Unix系統(tǒng)實驗室賣掉。當然,ATT的Unix取得了這個標準制訂戰(zhàn)爭的勝利,并取得了Unix注冊商標。此時BSD的擁護者自喻為冷酷無情的公司帝國的反抗軍。獨立的Bell實驗室就可以單獨銷售Unix,當時價格昂貴。也就在這個時候,人們被昂貴的Unix嚇怕了,使用的人數(shù)驟減。與此同時,Berkeley BSD小組的Bill Joy開始創(chuàng)辦了一家公司,也就是后來全球知名的SUN公司。就銷售量來說,ATT/UNIX始終趕不上BSD/Sun。并且Sun生產(chǎn)的小型工作站,風(fēng)靡整個市場,很快就將 DEC 擊敗,并且讓DEC退出了歷史舞臺。
BSD 仍然還在官司纏身,可是其他公司都看到了UNIX的商機,分分投靠 ATT 并開發(fā)自己的Unxi,其中有著名的IBM的AIX,HP的HP-UX,SUN公司的Solaris,還有西雅圖一個不知名的小公司,也生產(chǎn)著一個叫XENIX的Unix。時光繼續(xù)走著,這個小公司的三個創(chuàng)始人打著撲克,心里還在構(gòu)思。自己的公司如何挑戰(zhàn)并取代那些巨無霸公司,成為是Microsoft未來的夢想。
Windows與Mac OS的恩恩怨怨
毫無疑問,Unix的誕生,對與計算機的發(fā)展起到了至關(guān)重要的作用。人們可以通過操作系統(tǒng)去使用計算機。然而在當時,盡管DEC生產(chǎn)的小型機PDP系列和VAX系列比起早起的巨無霸已經(jīng)算是比較苗條了,可是對于個人而言,計算機還是相當大的東西,并且造價昂貴,無法進行民用。
為了將大型計算機縮小體積,很多公司都在嘗試。1975年,IBM推出了早起的PC兼容機。我們知道,操作系統(tǒng)與CPU是有直接關(guān)系,不同的cpu運行的操作系統(tǒng)是不一樣的。當時Unix價格昂貴,IBM一臺PC兼容機造價2w美元,操作系統(tǒng)都要花4w。這樣還是無法民用,因此IBM選擇了一家小公司Inter生產(chǎn)的X86系列的cpu。Inter是小公司?沒錯,當時確實是這樣,小到不起眼。而主流生產(chǎn)cpu的卻是摩托羅拉,摩托羅拉生產(chǎn)的M6800比Inter的技術(shù)和設(shè)計上都要先進很多,更重要的是這個可以運行Unix。IBM放棄了兼容機上的Unix,因而不得不自己寫出了一個兼容X86的操作系統(tǒng)---PL/M。當然這個東東造價也不菲。
微軟聯(lián)合創(chuàng)始人Allen同學(xué)Tim Paterson原本是打算寫個東西用來測試的16位Intel 8086 CPU界面,于是花四個星期寫了一個操作系統(tǒng)。當Bill Gates得知之后,馬上花5W美元買下了這個系統(tǒng),Tim Paterson欣喜若狂,四個星期就賺了一大筆,簡直像做夢,趕緊和Bill簽訂合同,Bill得到之后并命名為DOS。隨后,Bill通過其IBM董事會成員的媽媽,得以和IBM高層談判。IBM兼容機的操作系統(tǒng)價格昂貴,不適合賣個普通用戶,IBM定義的主要對手是如火如荼的Apple,IBM想要壓制apple就需要廉價的計算機。微軟可以提供廉價的DOS,當然不是賣操作系統(tǒng),而是賣操作系統(tǒng)的許可。每臺IBM兼容機都捆綁一個DOS。Bill的招數(shù)就是捆綁,從dos到IE都是如出一轍,當然特別奏效。IBM也沒想多少,他們認為硬件才是賺錢的根本,DOS也便宜。兩者結(jié)合,果然市場頗受歡迎,Bill也賺到了千萬刀。
IBM兼容機逐漸推向市場,與Apple一較高下。此前,在一個車庫,兩個年輕的極客,一個對機器懷有無比的熱情,另外一個則對改變世界十分狂熱,兩個人黏在一起,創(chuàng)立了一家偉大的公司Apple。與IBM兼容機不一樣,Apple的早期微機,采用是摩托羅拉的cpu和unix。Jobs獨特的藝術(shù)氣質(zhì)與Wozniak的技術(shù)天才,讓Apple的微機在市場上極受歡迎。
Jobs對技術(shù)和藝術(shù)的卓越追求,讓他不斷的改進Apple的電腦。1973年施樂(Xerox)的PARC研究所開發(fā)出GUI接口與鼠標(題外話,歷史上有兩個著名的雷鋒實驗室,前面提到的Bell 和 這個 Parc)。但是Xerox本身是生產(chǎn)打印機的,董事會莫名其妙的覺得GUI一旦出現(xiàn),顧客就不樂意使用打印機,因此對Park實驗室的成果冷淡的打入冷宮。
1979年喬布斯到PARC研究所看到Xerox原型機Alto。敏銳的Jobs立刻發(fā)現(xiàn)了GUI和鼠標的商業(yè)價值,很快他就說服Xerox公司,以一個極低的價格買下了GUI進行研究。1983年蘋果公司推出了Apple Lisa,首次采用GUI的商品化計算機。Lisa一誕生,就震撼了整個微機市場,那個車庫里的年輕人因此身價過億。
Apple蒸蒸日上,Mcriosoft的Bill心里可不是滋味。現(xiàn)在人們習(xí)慣把Jobs和Bill進行比較,不可否認他們都很偉大,至少在IT領(lǐng)域。不同于Jobs的完美主義和偏執(zhí)狂的作風(fēng),Bill更圓滑和更中庸。Bill找到了Jobs,大加贊賞了Jobs的偉大,然后卑微的祈求一份Apple的GUI,并承諾Microsoft的一切成果都是Apple的。不可一世的Jobs答應(yīng)了,Bill得到了Lisa原型機,馬上組織團隊研發(fā),并在1990年5月份推出Windows3.0并一炮而紅。商業(yè)上取得驚人的成功。打破了任何軟件產(chǎn)品的六周內(nèi)銷售記錄,從而開始了微軟在操作系統(tǒng)上的壟斷地位。
此時Jobs發(fā)現(xiàn)了Bill這個小偷,勃然大怒,可是為時已晚。對此,Bill并不否認,反而很得意譏諷喬布斯說:“我們有一個富鄰居——Xerox,他家有一臺電視。當我們想偷的時候,發(fā)現(xiàn)喬布斯早就偷走了,可他卻說我們是小偷。”他們兩人,都驗證畢加索那句著名的格言:“好的藝術(shù)家抄襲,偉大的藝術(shù)家偷竊。”
但是Jobs心有不甘,因此著手研發(fā)Macintosh,由于Macintosh造價昂貴。在市場上逐步落后與Microsoft的Windows。Windows持續(xù)發(fā)展著,對于Jobs,Apple正在醞釀著一個地震,1985 Jobs被趕出了Apple。
此時,Unix在干嘛呢??Unix正忙著和BSD打官司,也正是這些時間,錯過了操作系統(tǒng)發(fā)展的黃金時間,當Microsoft和Apple逐漸由小人物變成巨人的時候,Unix已經(jīng)脫離了商業(yè)的主流。盡管如此,Unix先天的優(yōu)雅并不會就此沉淪,DEC生產(chǎn)的機器,原本是自有操作系統(tǒng),隨著后來Unix的發(fā)展,不得不買PDP和VAX的時候添加Unix。其中VAX本身有一個操作系統(tǒng)VMX。由于Unix的入侵,VMX團隊面臨解散。
Windows風(fēng)靡市場,一時洛陽紙貴??墒窃缙诘膚indows并不穩(wěn)定,藍屏是家常便飯。Bill并沒有偷到Jobs的核心技術(shù),只獲得了GUI。因此windows可謂先天的不足。郁悶的Bill找到了同樣郁悶的VMX團隊。很快兩個失意者結(jié)合。Microsoft死活硬湊的將windows和VMX結(jié)合,誕生了Windows NT。NT誕生不久又出現(xiàn)了Server版本,Server的誕生,敲響了另一家公司的喪鐘。當時網(wǎng)絡(luò)已經(jīng)出現(xiàn),Novell生產(chǎn)網(wǎng)絡(luò)操作系統(tǒng)占據(jù)網(wǎng)絡(luò)統(tǒng)治地位,可是NT的出現(xiàn),Novell的生命也走到了盡頭。
被趕出Apple的Jobs同樣沒有停止他的步伐,Jobs離開Apple之后創(chuàng)辦了如今三維動畫巔峰旗幟的Pixar公司.并且Apple在對Microsoft的競爭中逐步走向衰敗,Apple董事會不得不重新召回Jobs挽救Apple日益頹廢的江山。Jobs果然是幫主,他的回歸,Apple散發(fā)了第二春,幾款革命性的產(chǎn)品iPod,iPhone將Apple再一次走到了世界的巔峰。MacOS成為了人們熱衷的操作系統(tǒng),這個曾經(jīng)敗給Windows的操作系統(tǒng)又回來了,并且在移動斷,IOS也成為了霸主,后來Google 的Android加入爭斗,那是后話了。
Microsoft的 windows xp成為微軟史上成功的操作系統(tǒng)。可是Jobs回歸之后的Apple,XP丑陋的界面很難和炫目的MacOS較量。Microsoft早期和IBM共同研發(fā)OS/2,由于后來和VMX的結(jié)合而退出了OS/2。IBM又一次驗證了誰跟微軟合作誰被坑的規(guī)律。可是針對MacOS,Microsoft一直對和VMX的結(jié)合產(chǎn)品心有余悸。最終用低價從IBM手下買回了OS/2,并重新拼湊了一個“絢麗”的操作系統(tǒng)Windows Vista。
顯然,OS/2被IBM定義為史上最失敗的產(chǎn)品,具有諷刺的是,Vista也不約而同的被Microsoft定義為失敗的產(chǎn)品。Microsoft不得不在短時間內(nèi)重新開發(fā)。推出了Xp的取代者--Windows7。先如今,Microsoft在互聯(lián)網(wǎng)遭遇Google強大的統(tǒng)治, 移動方面windows phone也生存在Apple IOS的陰影之下。
曾經(jīng)強大到像日不落帝國的Microsoft,也在謀求著新的蛻變。當然,Microsoft依然統(tǒng)治著桌面操作系統(tǒng),在服務(wù)器端,另外一個崛起的不是Unix,不是MacOS,也不是Wndows的操作系統(tǒng),他已然加冕成為新的王者。那就是Linux的故事,這個故事也很有趣,伴隨自由的運動,黑客的分享的精神。比起之前少了很多商業(yè)的爭斗氣息,更多是那些黑客傳奇的故事。我們得重新打開歷史書,回到1991那年的夏天,陽光明媚的芬蘭赫爾辛基大學(xué)的校園里...
Linux的崛起
我是你可怕的惡夢
------------Eric Raymond
Eric Raymond,黑客,他寫了一篇論文《大教堂與市集》,也寫過一本書叫《unix編程藝術(shù)》。于是整個世界都改變了。
紀錄片《Revolution OS》描述,一次開發(fā)者大會,他遇到一個微軟工程師,看見衣服上Microsoft的標志便詢問對方:“你為微軟工作?”當那位西裝革履的工程師帶有嘲諷和鄙視看著這個衣著普通的黑客回復(fù):“是啊,你呢?”Raymond送去了一個微笑:我是你們可怕的惡夢。。。
黑客是Microsoft的惡夢?不,不僅僅是,黑客是一切不自由的惡夢。電腦和網(wǎng)絡(luò),已經(jīng)成為現(xiàn)代社會和文明不可或缺的產(chǎn)品。很多人電腦使用Microsoft的windows系統(tǒng),而這些機器所訪問的web頁面。其背后的服務(wù)器系統(tǒng)卻是Windows的死敵---Linux。相比Windows成為家喻戶曉并家家都在使用的操作系統(tǒng)。Linux很少被普通人知道,但是這并不妨礙它的偉大。他們分別在桌面和服務(wù)器兩個環(huán)境,各自稱霸著世界。
談到Linux的起源,這個故事平凡卻扣人心弦。1991那年,對于芬蘭人絕對是一個有意思的一年。世界上首次全球通對話在諾基亞的Radiolinja網(wǎng)絡(luò)中完成,諾基亞征服世界的腳步已經(jīng)無法遏制。
與此同時,陽光明媚的芬蘭赫爾辛基大學(xué)的校園里,一個少年正好擁有了一臺完全屬于自己的電腦,不必再忍受學(xué)校機房漫長的等待。他當時對安德魯·塔南鮑姆(Andrew Tanenbaum)的著作《操作系統(tǒng):設(shè)計與實現(xiàn)》——一本Minix操作指南深深著迷。
由于ATT對于Unix商業(yè)化,而后將Unix進行了閉源。Andrew所教授的課程《操作系統(tǒng)》卻沒有了“操作系統(tǒng)”。對此Andrew一咬牙,狠狠心,寫出了一個兼容Unix的操作系統(tǒng)。人家就是厲害,你不給我使用,我自己寫一個出來用。盡管Andrew的成果很簡單,但是還是具備了Unix的基本功能,當然比較mini,因此命名為Minix。Minix作為Unix的變種,彼時的Minix正憑借低廉的價格和簡易的操作在大學(xué)大行其道。
Minix由于過于短小精悍,只能運行這一種機器,其他機器沒有驅(qū)動。Andrew的學(xué)生就寫了好多好用驅(qū)動來擴展Minix。可是,教授Andrew卻覺得自己的操作系統(tǒng)要保持純潔,不能有其他的代碼來源。于是學(xué)生們就很郁悶,其中就有個叫Linus的同學(xué)。
擁有自己的PC的Linus卻不能將Minix運行在自己的電腦上。Linus也不得不走上了他無數(shù)前輩的道路,不讓用,不給用,那就自己寫一個操作系統(tǒng)來用。僅僅兩個月后,一個“千瘡百孔但卻碰巧可以使用”的磁盤驅(qū)動程序和一個小到不能再小的文件系統(tǒng)就誕生了,這就是第0.01版的Linux。隨后Linus將操作系統(tǒng)上傳至FTP,并公布了全部源代碼。在USENET討論區(qū),Linus闡述其初衷:在新操作系統(tǒng)中,“人們可以自己編寫驅(qū)動程序,可以隨意修改操作系統(tǒng)以適應(yīng)不同需求,可以嘗試在Minix上運行所有程序,這是Minix從未有過的美好一天。”
美好的日子漸漸來臨,Unix生態(tài)還是老樣子,在商業(yè)的爭斗中裹足不前。Microsoft和Apple的爭斗也逐漸明朗,Microsoft靠賣軟件大發(fā)特發(fā)。這讓一個黑客很不滿。
理查德·斯托曼(Richard Stallman)登場,他認為所有軟件都是人類智慧和思想的結(jié)晶。軟件應(yīng)該自由的讓人們使用。1983年,Stallman發(fā)起了“GNU(GNU’s Not Unix的遞歸縮寫)”計劃,目的是創(chuàng)建一套完全自由的操作系統(tǒng),以“重現(xiàn)軟件界合作互助的團結(jié)精神”。他以“著佐權(quán)”(copyleft)標準為范本擬定了一份通用公用版權(quán)協(xié)議(General Public License,GPL)。與強調(diào)個人版權(quán)但限制自由傳播的著作權(quán)(copyright)不同,GPL更強調(diào)公共版權(quán)和鼓勵自由傳播,它允許修改程序、復(fù)制軟件和銷售獲利。但前提是公布修改后的全部源代碼,必須保證自由思想的傳遞。GNU計劃激發(fā)了軟件界極大的熱情,世界各地的軟件奇才們紛紛參與其中。并且開發(fā)出包括文字編輯器Emacs、C語言編譯器,gcc以及大部分UNIX系統(tǒng)程序庫和工具在內(nèi)的絕大多數(shù)軟件,很多免費軟件的水平甚至都已經(jīng)超過了相應(yīng)的付費版本。
可是問題又來了,GNU編寫了很多自由免費的軟件,可是這些免費軟件卻運行在不自由的Unix上,這真是一個巨大的諷刺。Stallman承諾大家要兩年內(nèi)重新寫一個操作系統(tǒng),可是五年過去了,依然看不清成功的那一天。
與前面很多故事一樣,事情總是環(huán)環(huán)相扣,可是誰也不知道這環(huán)將會扣向哪一環(huán)。Stallman苦于沒有操作系統(tǒng),芬蘭的那邊,Linus只有一個操作系統(tǒng)內(nèi)核而沒有應(yīng)用軟件。
于是,他們在各自的領(lǐng)域奮斗多年之后,命運終于安排他們走到了一起,Linus率領(lǐng)Linux加盟Stallman的GNU計劃,上帝說要有光,于是牛頓出生了;人類需要自由,于是Linux與GUN結(jié)婚。這一“聯(lián)姻”堪稱是軟件界的天作之合。
1992年,在Linux Kernel平臺上工作的開發(fā)者只有100位,平臺中的核心代碼只有幾萬行。如今,在平臺上工作的開發(fā)者已經(jīng)多達1000人,人員的背景也從最初的黑客擴散至更多的行業(yè),平臺中的核心代碼則已經(jīng)超過千萬行。
1998年,全球前500臺超級計算機中還只有1臺運行Linux。今天在全球前500臺超級計算機中,有413臺選用Linux。這些計算機遍布世界各地的多個行業(yè),共同主宰著這個智慧的地球。
大到航天科技,小到IC卡芯片,無不存在Linux的影子。在移動領(lǐng)域,Android來勢洶洶,已經(jīng)逾越IOS成為移動的王者,完成了對windows的完美復(fù)仇。
Linux“可自由擴散”并不等同于“缺乏支持”和“業(yè)余水平”,恰恰相反,正是起開發(fā)的政策,讓無數(shù)天才黑客參與進來,這是自由的勝利。
就連商業(yè)軟件公司也參與進來,這些公司技術(shù)雄厚又善于市場運作,開創(chuàng)了新的商業(yè)模式----銷售服務(wù)而不是軟件。使Linux從網(wǎng)絡(luò)黑客和業(yè)余愛好者自娛自樂的工具,變成了一個具有全球影響力的軟件帝國。
98年的奧斯卡頒獎典禮上,當卡梅隆手握“最佳導(dǎo)演獎”的小金人,模仿《泰坦尼克》中的男主角Jack發(fā)出“我是世界之王”的宣言時,全世界無不為之傾倒。影片中那被重新描繪過的“唯美”海難,使人們驚嘆于卡氏的神奇。但完美的電影也使人們忽略了另一個偉大事實:電影史上嶄新的技術(shù)時代悄然來臨。而這一時代,是由Linux開啟的。
從那時開始,夢工廠、迪斯尼、皮克斯等公司都逐漸將各自的工作平臺轉(zhuǎn)向Linux,無數(shù)偉大的銀幕經(jīng)典因此橫空出世。從《魔戒》到《金剛》,從《哈利波特》到《霍比特人》,再從《指環(huán)王》到《阿凡達》,Linux幾乎以一己之力締造了無數(shù)人夢中的玄幻王國。也是從那時開始,Linux終將埋葬Microsoft就開始成為江湖中著名的傳說之一。
悠悠蒼天,傳來一股由弱變強的聲音----- 我是你可怕的惡夢?。?!