操作系統Unix、Windows、Mac OS、Linux的故事

我們熟知的操作系統大概都是windows系列,近年來Apple的成功,讓MacOS也逐漸走進普通用戶。在服務器領域,恐怕Linux是無人不知無人不曉。他們都是操作系統,也在自己的領域裡獨領風騷。這都還得益於另外一個古董級別的操作系統--Unix,雖然說古董級別,只是他年紀大了,性能和功能,Unix依然有著頑強的生命力。


我們來沏杯茶,回顧Unix的傳奇,討論討論Windows與Mac OS的恩恩怨怨,還有Linux的迅速崛起。

Unix 傳奇

時光追溯到上世紀六十年代,多數計算機都採用批處理命令。為了研發一個多用途,多用戶的操作系統。有三個著名的公司聯合起來進行研發。三個知名的公司是美國電話及電報公司(American Telephone and Telegraph Inc.;AT&T)、通用電器公司(General Electrics;G.E.)及麻省理工學院(Massachusetts Institute of Technology;MIT)。整個項目研發出來的操作系統被稱之為MULTICS。可是後來,MULTICS項目開始迷失,目標過於龐大,功能過於複雜,研發的人們越來越不明白這個項目將會如何走下去。最終隸屬 AT&T 公司的貝爾實驗室(Bell Labs)退出了這個項目。
值得一提的是 Bell Labs 。這個實驗室在整個人類科技史上都佔據重要地位,電話就是在這個實驗室誕生。裡面有著才華卓越的工程師和黑客。由於貝爾實驗室退出了MULTICS,那些習慣了使用MULTICS的貝爾實驗室工程師突然之間無法使用MULTICS,這無疑類似把劍客的劍給沒收了。當時貝爾實驗室有個叫Ken Thompson的人,他負責為為MULTICS這個操作系統寫遊戲了個叫“Space Travel”的遊戲。為了讓這個遊戲能繼續下去,他不得不重新編寫一個操作系統。當他去申請計算機的時候,顯然領導不會因為一個遊戲批准你一臺計算機。早起的計算機並不像我們現在的pc機那麼小巧。當時計算機可是巨無霸,每一臺的造價也極其昂貴,只有企業和科研機構才能買得起。


數字設備公司(Digital Equipment Corporation;DEC)生產兩種小型計算機 pdp系列和vax。Ken無法得到pdp-11,卻在一個角落了發現了pdp-7,雖然這個機器已經落後, Ken還是覺得如獲至寶,隨後他很順利的用匯編完成了操作系統,並寫完了遊戲。有趣的是,Ken的一個同事Brian Kernighan非常不喜歡這個系統,嘲笑Ken Thompson說:“你寫的系統好真爛,乾脆叫Unics算了。”(unics在英文裡表示單一,與mult相反)。Ken對Brian的評價到沒有多大排斥,本身他的目標是遊戲,而不是操作系統,也接受了同事的命名。然後他更樂於推廣他的遊戲,讓同事們茶餘飯後娛樂娛樂。那時是1969年8月,恰巧這一年,芬蘭誕生了一個嬰兒,Linus Torvalds啼哭的來到這個世界。
事情總是環環相扣,可是誰也不知道這環將會扣向哪一環。Ken的另一個同事Dennis Ritchie對Ken的遊戲沒有多大興趣,倒是對Unics情有獨鍾。當時Ken用匯編完成的Unics,如果換到pdp-11上,Unics想要運行必須重新編寫代碼移植。Ken無法為當時不同的機型提供上百個Unics版本。這時,Dennis Ritchie 在BCPL基礎上,開發了一種新的高級語言將Unics重新寫了一遍,並命名為 UNIX。這個語言是將BCPL語言進行了升級,也就是後來大名鼎鼎的C語言。儘管是遊戲和嘲諷,Unix和C誕生了,並且完美地結合成為一個統一體,C與Unix很快成為世界的主導。新的歷史,開始了。
當時的美國公司,工程師研發完畢,往往會有休假,一休就是一年。旅遊,探險都是好方式,可是 Ken選擇了到伯克利(Berkeley)進行教學。也難怪歐美的教育科技那麼發達,總有黑客將知識和技術進行傳承。由於當時AT&T被美國反壟斷制裁,Bell實驗室不能銷售Unix。只能無償提供大家學習研究。正是因為這樣開放環境,使得Unxi的功能和特性被不斷的豐富。在Berkeley,有一個專門研究UNIX小組,他們為UNIX提供了很多新特性,例如著名的 TCP/IP協議。並完成了BSD版本。很快,就有公司看到了BSD的商機,紛紛購買BSD進行商用。

這個時候,AT&T公司對其他機構拿著Unix賺錢自己卻一無所獲很不爽。那是一個AT&T妄圖私有化的Unix的時代。為了私有化Unix,1986年IEEE指定了一個委員會制定了一個一個開放作業系統的標準,稱為 POSIX (Portable Operating Systems Interface)。並和BSD進行法律官司,AT&T再次被反壟斷,這場官司一直打到 AT&T再將自己的Unix系統實驗室賣掉。當然,AT&T的Unix取得了這個標準制訂戰爭的勝利,並取得了Unix註冊商標。此時BSD的擁護者自喻為冷酷無情的公司帝國的反抗軍。獨立的Bell實驗室就可以單獨銷售Unix,當時價格昂貴。也就在這個時候,人們被昂貴的Unix嚇怕了,使用的人數驟減。與此同時,Berkeley BSD小組的Bill Joy開始創辦了一家公司,也就是後來全球知名的SUN公司。就銷售量來說,AT&T/UNIX始終趕不上BSD/Sun。並且Sun生產的小型工作站,風靡整個市場,很快就將 DEC 擊敗,並且讓DEC退出了歷史舞臺。
BSD 仍然還在官司纏身,可是其他公司都看到了UNIX的商機,紛紛投靠 AT&T 並開發自己的Unxi,其中有著名的IBM的AIX,HP的HP-UX,SUN公司的Solaris,還有西雅圖一個不知名的小公司,也生產著一個叫XENIX的Unix。時光繼續走著,這個小公司的三個創始人打著撲克,心裡還在構思。自己的公司如何挑戰並取代那些巨無霸公司,成為是Microsoft未來的夢想。


Windows與Mac OS的恩恩怨怨


毫無疑問,Unix的誕生,對於計算機的發展起到了至關重要的作用。人們可以通過操作系統去使用計算機。然而在當時,儘管DEC生產的小型機PDP系列和VAX系列比起早期的巨無霸已經算是比較苗條了,可是對於個人而言,計算機還是相當大的東西,並且造價昂貴,無法進行民用。

為了將大型計算機縮小體積,很多公司都在嘗試。1975年,IBM推出了早起的PC兼容機。我們知道,操作系統與CPU是有直接關係,不同的cpu運行的操作系統是不一樣的。當時Unix價格昂貴,IBM一臺PC兼容機造價2w美元,操作系統都要花4w。這樣還是無法民用,因此IBM選擇了一家小公司Inter生產的X86系列的cpu。Inter是小公司?沒錯,當時確實是這樣,小到不起眼。而主流生產cpu的卻是摩托羅拉,摩托羅拉生產的M6800比Inter的技術和設計上都要先進很多,更重要的是這個可以運行Unix。IBM放棄了兼容機上的Unix,因而不得不自己寫出了一個兼容X86的操作系統---PL/M。當然這個東東造價也不菲。
微軟聯合創始人Allen同學Tim Paterson原本是打算寫個東西用來測試的16位Intel 8086 CPU界面,於是花四個星期寫了一個操作系統。當Bill Gates得知之後,馬上花5W美元買下了這個系統,Tim Paterson欣喜若狂,四個星期就賺了一大筆,簡直像做夢,趕緊和Bill簽訂合同,Bill得到之後並命名為DOS。隨後,Bill通過其IBM董事會成員的媽媽,得以和IBM高層談判。IBM兼容機的操作系統價格昂貴,不適合賣個普通用戶,IBM定義的主要對手是如火如荼的Apple,IBM想要壓制apple就需要廉價的計算機。微軟可以提供廉價的DOS,當然不是賣操作系統,而是賣操作系統的許可。每臺IBM兼容機都捆綁一個DOS。Bill的招數就是捆綁,從dos到IE都是如出一轍,當然特別奏效。IBM也沒想多少,他們認為硬件才是賺錢的根本,DOS也便宜。兩者結合,果然市場頗受歡迎,Bill也賺到了千萬刀。


IBM兼容機逐漸推向市場,與Apple一較高下。此前,在一個車庫,兩個年輕的極客,一個對機器懷有無比的熱情,另外一個則對改變世界十分狂熱,兩個人黏在一起,創立了一家偉大的公司Apple。與IBM兼容機不一樣,Apple的早期微機,採用是摩托羅拉的cpu和unix。Jobs獨特的藝術氣質與Wozniak的技術天才,讓Apple的微機在市場上極受歡迎。
Jobs對技術和藝術的卓越追求,讓他不斷的改進Apple的電腦。1973年施樂(Xerox)的PARC研究所開發出GUI接口與鼠標(題外話,歷史上有兩個著名的雷鋒實驗室,前面提到的Bell 和 這個 Parc)。但是Xerox本身是生產打印機的,董事會莫名其妙的覺得GUI一旦出現,顧客就不樂意使用打印機,因此對Park實驗室的成果冷淡的打入冷宮。
1979年喬布斯到PARC研究所看到Xerox原型機Alto。敏銳的Jobs立刻發現了GUI和鼠標的商業價值,很快他就說服Xerox公司,以一個極低的價格買下了GUI進行研究。1983年蘋果公司推出了Apple Lisa,首次採用GUI的商品化計算機。Lisa一誕生,就震撼了整個微機市場,那個車庫裡的年輕人因此身價過億。
Apple蒸蒸日上,Mcriosoft的Bill心裡可不是滋味。現在人們習慣把Jobs和Bill進行比較,不可否認他們都很偉大,至少在IT領域。不同於Jobs的完美主義和偏執狂的作風,Bill更圓滑和更中庸。Bill找到了Jobs,大加讚賞了Jobs的偉大,然後卑微的祈求一份Apple的GUI,並承諾Microsoft的一切成果都是Apple的。不可一世的Jobs答應了,Bill得到了Lisa原型機,馬上組織團隊研發,並在1990年5月份推出Windows3.0並一炮而紅。商業上取得驚人的成功。打破了任何軟件產品的六週內銷售記錄,從而開始了微軟在操作系統上的壟斷地位。

此時Jobs發現了Bill這個小偷,勃然大怒,可是為時已晚。對此,Bill並不否認,反而很得意譏諷喬布斯說:“我們有一個富鄰居——Xerox,他家有一臺電視。當我們想偷的時候,發現喬布斯早就偷走了,可他卻說我們是小偷。”他們兩人,都驗證畢加索那句著名的格言:“好的藝術家抄襲,偉大的藝術家偷竊。”
但是Jobs心有不甘,因此著手研發Macintosh,由於Macintosh造價昂貴。在市場上逐步落後於Microsoft的Windows。Windows持續發展著,對於Jobs,Apple正在醞釀著一個地震,1985 Jobs被趕出了Apple。
此時,Unix在幹嘛呢??Unix正忙著和BSD打官司,也正是這些時間,錯過了操作系統發展的黃金時間,當Microsoft和Apple逐漸由小人物變成巨人的時候,Unix已經脫離了商業的主流。儘管如此,Unix先天的優雅並不會就此沉淪,DEC生產的機器,原本是自有操作系統,隨著後來Unix的發展,不得不買PDP和VAX的時候添加Unix。其中VAX本身有一個操作系統VMX。由於Unix的入侵,VMX團隊面臨解散。
Windows風靡市場,一時洛陽紙貴。可是早期的windows並不穩定,藍屏是家常便飯。Bill並沒有偷到Jobs的核心技術,只獲得了GUI。因此windows可謂先天的不足。鬱悶的Bill找到了同樣鬱悶的VMX團隊。很快兩個失意者結合。Microsoft死活硬湊的將windows和VMX結合,誕生了Windows NT。NT誕生不久又出現了Server版本,Server的誕生,敲響了另一家公司的喪鐘。當時網絡已經出現,Novell生產網絡操作系統佔據網絡統治地位,可是NT的出現,Novell的生命也走到了盡頭。

被趕出Apple的Jobs同樣沒有停止他的步伐,Jobs離開Apple之後創辦瞭如今三維動畫巔峰旗幟的Pixar公司.並且Apple在對Microsoft的競爭中逐步走向衰敗,Apple董事會不得不重新召回Jobs挽救Apple日益頹廢的江山。Jobs果然是幫主,他的迴歸,Apple散發了第二春,幾款革命性的產品iPod,iPhone將Apple再一次走到了世界的巔峰。MacOS成為了人們熱衷的操作系統,這個曾經敗給Windows的操作系統又回來了,並且在移動端,iOS也成為了霸主,後來Google 的Android加入爭鬥,那是後話了。
Microsoft的 windows xp成為微軟史上成功的操作系統。可是Jobs迴歸之後的Apple,XP醜陋的界面很難和炫目的MacOS較量。Microsoft早期和IBM共同研發OS/2,由於後來和VMX的結合而退出了OS/2。IBM又一次驗證了誰跟微軟合作誰被坑的規律。可是針對MacOS,Microsoft一直對和VMX的結合產品心有餘悸。最終用低價從IBM手下買回了OS/2,並重新拼湊了一個“絢麗”的操作系統Windows Vista。
顯然,OS/2被IBM定義為史上最失敗的產品,具有諷刺的是,Vista也不約而同的被Microsoft定義為失敗的產品。Microsoft不得不在短時間內重新開發。推出了Xp的取代者--Windows7。現如今,Microsoft在互聯網遭遇Google強大的統治, 移動方面windows phone也生存在Apple IOS的陰影之下。
曾經強大到像日不落帝國的Microsoft,也在謀求著新的蛻變。當然,Microsoft依然統治著桌面操作系統,在服務器端,另外一個崛起的不是Unix,不是MacOS,也不是Wndows的操作系統,他已然加冕成為新的王者。那就是Linux的故事,這個故事也很有趣,伴隨自由的運動,黑客的分享的精神。比起之前少了很多商業的爭鬥氣息,更多是那些黑客傳奇的故事。我們得重新打開歷史書,回到1991那年的夏天,陽光明媚的芬蘭赫爾辛基大學的校園裡...


Linux的崛起

我是你可怕的惡夢
------------Eric Raymond


Eric Raymond,黑客,他寫了一篇論文《大教堂與市集》,也寫過一本書叫《unix編程藝術》。於是整個世界都改變了。
紀錄片《Revolution OS》描述,一次開發者大會,他遇到一個微軟工程師,看見衣服上Microsoft的標誌便詢問對方:“你為微軟工作?”當那位西裝革履的工程師帶有嘲諷和鄙視看著這個衣著普通的黑客回覆:“是啊,你呢?”Raymond送去了一個微笑:我是你們可怕的惡夢。。。
黑客是Microsoft的惡夢?不,不僅僅是,黑客是一切不自由的惡夢。電腦和網絡,已經成為現代社會和文明不可或缺的產品。很多人電腦使用Microsoft的windows系統,而這些機器所訪問的web頁面。其背後的服務器系統卻是Windows的死敵---Linux。相比Windows成為家喻戶曉並家家都在使用的操作系統。Linux很少被普通人知道,但是這並不妨礙它的偉大。他們分別在桌面和服務器兩個環境,各自稱霸著世界。

談到Linux的起源,這個故事平凡卻扣人心絃。1991那年,對於芬蘭人絕對是一個有意思的一年。世界上首次全球通對話在諾基亞的Radiolinja網絡中完成,諾基亞征服世界的腳步已經無法遏制。


與此同時,陽光明媚的芬蘭赫爾辛基大學的校園裡,一個少年正好擁有了一臺完全屬於自己的電腦,不必再忍受學校機房漫長的等待。他當時對安德魯·塔南鮑姆(Andrew Tanenbaum)的著作《操作系統:設計與實現》——一本Minix操作指南深深著迷。
由於AT&T對於Unix商業化,而後將Unix進行了閉源。Andrew所教授的課程《操作系統》卻沒有了“操作系統”。對此Andrew一咬牙,狠狠心,寫出了一個兼容Unix的操作系統。人家就是厲害,你不給我使用,我自己寫一個出來用。儘管Andrew的成果很簡單,但是還是具備了Unix的基本功能,當然比較mini,因此命名為Minix。Minix作為Unix的變種,彼時的Minix正憑藉低廉的價格和簡易的操作在大學大行其道。
Minix由於過於短小精悍,只能運行這一種機器,其他機器沒有驅動。Andrew的學生就寫了好多好用驅動來擴展Minix。可是,教授Andrew卻覺得自己的操作系統要保持純潔,不能有其他的代碼來源。於是學生們就很鬱悶,其中就有個叫Linus的同學。
擁有自己的PC的Linus卻不能將Minix運行在自己的電腦上。Linus也不得不走上了他無數前輩的道路,不讓用,不給用,那就自己寫一個操作系統來用。僅僅兩個月後,一個“千瘡百孔但卻碰巧可以使用”的磁盤驅動程序和一個小到不能再小的文件系統就誕生了,這就是第0.01版的Linux。隨後Linus將操作系統上傳至FTP,並公佈了全部源代碼。在USENET討論區,Linus闡述其初衷:在新操作系統中,“人們可以自己編寫驅動程序,可以隨意修改操作系統以適應不同需求,可以嘗試在Minix上運行所有程序,這是Minix從未有過的美好一天。”

美好的日子漸漸來臨,Unix生態還是老樣子,在商業的爭鬥中裹足不前。Microsoft和Apple的爭鬥也逐漸明朗,Microsoft靠賣軟件大發特發。這讓一個黑客很不滿。
理查德·斯托曼(Richard Stallman)登場,他認為所有軟件都是人類智慧和思想的結晶。軟件應該自由的讓人們使用。1983年,Stallman發起了“GNU(GNU’s Not Unix的遞歸縮寫)”計劃,目的是創建一套完全自由的操作系統,以“重現軟件界合作互助的團結精神”。他以“著作權”(copyleft)標準為範本擬定了一份通用公用版權協議(General Public License,GPL)。與強調個人版權但限制自由傳播的著作權(copyright)不同,GPL更強調公共版權和鼓勵自由傳播,它允許修改程序、複製軟件和銷售獲利。但前提是公佈修改後的全部源代碼,必須保證自由思想的傳遞。GNU計劃激發了軟件界極大的熱情,世界各地的軟件奇才們紛紛參與其中。並且開發出包括文字編輯器Emacs、C語言編譯器,gcc以及大部分UNIX系統程序庫和工具在內的絕大多數軟件,很多免費軟件的水平甚至都已經超過了相應的付費版本。
可是問題又來了,GNU編寫了很多自由免費的軟件,可是這些免費軟件卻運行在不自由的Unix上,這真是一個巨大的諷刺。Stallman承諾大家要兩年內重新寫一個操作系統,可是五年過去了,依然看不清成功的那一天。
與前面很多故事一樣,事情總是環環相扣,可是誰也不知道這環將會扣向哪一環。Stallman苦於沒有操作系統,芬蘭的那邊,Linus只有一個操作系統內核而沒有應用軟件。

於是,他們在各自的領域奮鬥多年之後,命運終於安排他們走到了一起,Linus率領Linux加盟Stallman的GNU計劃,上帝說要有光,於是牛頓出生了;人類需要自由,於是Linux與GUN結婚。這一“聯姻”堪稱是軟件界的天作之合。

1992年,在Linux Kernel平臺上工作的開發者只有100位,平臺中的核心代碼只有幾萬行。如今,在平臺上工作的開發者已經多達1000人,人員的背景也從最初的黑客擴散至更多的行業,平臺中的核心代碼則已經超過千萬行。
1998年,全球前500臺超級計算機中還只有1臺運行Linux。今天在全球前500臺超級計算機中,有413臺選用Linux。這些計算機遍佈世界各地的多個行業,共同主宰著這個智慧的地球。
大到航天科技,小到IC卡芯片,無不存在Linux的影子。在移動領域,Android來勢洶洶,已經逾越IOS成為移動的王者,完成了對windows的完美復仇。
Linux“可自由擴散”並不等同於“缺乏支持”和“業餘水平”,恰恰相反,正是起開發的政策,讓無數天才黑客參與進來,這是自由的勝利。
就連商業軟件公司也參與進來,這些公司技術雄厚又善於市場運作,開創了新的商業模式----銷售服務而不是軟件。使Linux從網絡黑客和業餘愛好者自娛自樂的工具,變成了一個具有全球影響力的軟件帝國。

98年的奧斯卡頒獎典禮上,當卡梅隆手握“最佳導演獎”的小金人,模仿《泰坦尼克》中的男主角Jack發出“我是世界之王”的宣言時,全世界無不為之傾倒。影片中那被重新描繪過的“唯美”海灘,使人們驚歎於卡氏的神奇。但完美的電影也使人們忽略了另一個偉大事實:電影史上嶄新的技術時代悄然來臨。而這一時代,是由Linux開啟的。
從那時開始,夢工廠、迪斯尼、皮克斯等公司都逐漸將各自的工作平臺轉向Linux,無數偉大的銀幕經典因此橫空出世。從《魔戒》到《金剛》,從《哈利波特》到《霍比特人》,再從《指環王》到《阿凡達》,Linux幾乎以一己之力締造了無數人夢中的玄幻王國。也是從那時開始,Linux終將埋葬Microsoft就開始成為江湖中著名的傳說之一。
悠悠蒼天,傳來一股由弱變強的聲音----- 我是你最可怕的惡夢!!!


操作系統Unix、Windows、Mac OS、Linux的故事


分享到:


相關文章: