<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海闊天空

    I'm on my way!
    隨筆 - 17, 文章 - 69, 評論 - 21, 引用 - 0
    數(shù)據(jù)加載中……

    Unix發(fā)展史

    先前的一個理想
    UNIX系統(tǒng)自 1969 年 Ken ThompsonKen Thompson 與 Dennis RitchieDennis Ritchie 在美國貝爾電話實驗室(Bell Telephone Laboratories )發(fā)展出雛形至今,已歷經(jīng)近 30 來年。而 "UNIX" 這個字典上查不到其原意的怪字,其實是戲謔 MULTICS(MULTiplexed Information and Computing System)操作系統(tǒng)的大而無當所產(chǎn)生的諧音字。
    在 1957 年 10 月,前蘇聯(lián)發(fā)射了第一枚人造衛(wèi)星,此舉讓當時的美國總統(tǒng)艾森豪威爾決定投下巨額的經(jīng)費用以支持及發(fā)展科學(xué),美國高等研究計劃署 (ARPA,Advanced Research Projects Agency )便是在這個時空下設(shè)立了,該單位負責(zé)推動系統(tǒng)發(fā)展等相關(guān)計劃,成為當時美國電子計算器發(fā)展的重要推手。
    1960年代是大型計算機的發(fā)展年代,當時的麻省理工學(xué)院因最先實現(xiàn)了兼容分時系統(tǒng)(CTSS, Compatible Time-Sharing System),在電子計算器領(lǐng)域享有相當崇高的地位。
    1963年,麻省理工的里克萊德(J. C. R. Licklider,1915~1990 )
    推動了 MAC計劃,MAC 以 IBM的大型計算機做為主體,連接了將近 160臺終端機,這些終端機就四散在學(xué)區(qū)以及教職員的家中,可以讓 30 位使用者同時共享計算機資源。這項計劃到了 1965 年便不堪負荷,于是麻省理工便決定開發(fā)更大型的分時計算機系統(tǒng)。新的計劃便是—— MULTICS. 一個計算機
    史上最為龐大的分時計算機系統(tǒng),企圖連接 1000 部終端機,支持 300位使用者同時上線的分時計算機系統(tǒng)。她面臨的是,操作系統(tǒng)的分時觀念還在各學(xué)術(shù)與研究機構(gòu)探索成形中,計算機硬件亦需重新設(shè)計的雙重挑戰(zhàn)。
    當時,麻省理工原本找 IBM來配合這項計劃,但 IBM正忙著應(yīng)付自己的問題而無意配合MULTICS 計劃。此時,通用電子公司(General Electric Company)
    也就是奇異公司正好在發(fā)展自己的大型主機,見機不可失,便極力邀請麻省理工參予她們的 GE 645 大型主機的規(guī)格制定。有了奇異熱心主動的計算機硬件配合,麻省理工找上的不能販售計算機卻人才濟濟的貝爾電話實驗室來負責(zé)承包軟件工程。于是 乎,MULTICS 的計劃便在 1965 年由麻省理工學(xué)院、奇異公司及貝爾電話實驗室這三個成員開始共同發(fā)展。
    1969年,MULTICS 計劃在歷經(jīng)四年的奮戰(zhàn)后,仍舊未達到原先規(guī)劃設(shè)計的理想,貝爾電話實驗室決定退出計劃。功能未達原始設(shè)計理想的 MULTICS還是安裝在奇異公司的 GE 645 大型計算機上供麻省理工使用。奇異公司在該計劃草草結(jié)束后不到一年便完全淡出大型計算機市場。日后,MULTICS 計劃被嘲解為Many Unnecessarily Large Table In Core Simultaneously.
    農(nóng)夫我個人認為, MULTICS計劃誕生在大型計算機將開始鼎沸的 1965 年,夭折于大型計算機最為輝煌的 1969 年。她如果適時在 1960 年代末期成功的話,絕對可以助長當時已經(jīng)普遍被計算機權(quán)威人士視為理想的「計算機公用事業(yè)」,至少可以讓大型計算機的發(fā)展與資源集中的應(yīng)用模式就不至于會 在 1970 年代初期就迅速萎縮。因為 MULTICS計劃如果成功,至少能讓當時的大型計算機的應(yīng)用規(guī)模大上 10 倍左右。然而,MULTICS 計劃失敗了。她嚴重地打擊了當時依賴大型計算機主機的計算機公用事業(yè)業(yè)者在發(fā)展上的信心。更由于沒有相似的計劃后繼進行,使得集中式的大型計算機主機沒有 明顯的使用效能提升,而加速催化計算器工業(yè)的轉(zhuǎn)變,以尋找新的道路。另一方面,MULTICS 計劃失敗的經(jīng)驗亦讓當時參與該計劃的軟件工程師們得到相當寶貴的經(jīng)驗與正面的影響。
    幾年后,就在 AT&T ,MULTICS 計劃這個不同凡響的失敗換來的一個不同凡響的成功。
    一個戲謔她的名字誕生了…… UNIX.
    Ken_Thompso


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351425013001.jpg');" border="0">
    Dennis_Ritchie


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M103514N021A4.jpg');" border="0">

    一個游戲的開始
    1969年貝爾實驗室的計算器科學(xué)研究中心(Computing Science Research Center )
    成員退出 MULTICS計劃的同時,貝爾實驗室本身其實也沒有一套完善便利的交談式計算器服務(wù)環(huán)境。在其中不少工程師們也正為了改善程序設(shè)計環(huán)境努力著, Ken Thompson 、Dennis Ritchie和其同事們在當時草擬一個新的檔案系統(tǒng)架構(gòu),這個檔案系統(tǒng)也就是早期的 UNIX 操作系統(tǒng)的檔案系統(tǒng)的前身。當時的 Ken Thompson 忙著使用 Fortran語言將原本在 Multics系統(tǒng)中開發(fā)的game叫 "Space Travel" (太空旅游)轉(zhuǎn)移到 GECOS System 上開發(fā)。 當時 GECOS System大型計算機的CPU Time相當昂貴(一秒要 75 塊美金),同時控制 "spaceship"(宇宙飛船) 的效果不甚理想,于是 Ken Thompson 不得不尋找替代的開發(fā)環(huán)境。Thompson看上了一臺很少被人使用的 Digital Equipment Corporation PDP-7 迷你計算機,當時 PDP-7使用的是 Graphic-II 顯示器,具有不錯的圖形處理能力。 Brian kernighan 于是 Ken Thompson 便與 Dennis Ritchie 連手將程序設(shè)計轉(zhuǎn)移到 PDP-7型計算機上。
    Ken Thompson在移轉(zhuǎn)工作環(huán)境的同時為了得到較好的發(fā)展環(huán)境,便與Dennis Ritchie共同動手設(shè)計一套包含 File System、Process Subsystem 及一小組 Utility的操作系統(tǒng),當時這套系統(tǒng)僅能支持 2個使用者使用。由于貝爾實驗室對于 MULTICS計劃失敗的陰霾還未消散, Brian Kernighan這位仁兄開玩笑地戲稱這套新的操作系統(tǒng)為 UNiplexed Information and Computing System,縮寫為 UNICS,之后大家取諧音便叫她為 "UNIX" ,沒想到這個開玩笑的名字會被人叫到今天。
    初期的自由發(fā)展
    事實上該套 "UNIX" 系統(tǒng)在當時僅是私下的被使用,也并沒有得到多大的重視,一直到1971年的一個正式的計劃,UNIX才正式被搬上臺面。
    PDP-11/201970 年,當時貝爾實驗室的專利部門(Patent department )缺乏一套文書處理系統(tǒng),為了設(shè)計開發(fā)的需要,于是買了一臺 PDP-11 計算機。當時 PDP-11 計算機的交機過程并不順利,處理器先到,硬盤則多等了好幾個月。
    當 PDP-11 一切準備妥當后,他們便將 UNIX 移植到擁有 512K bytes 硬盤的PDP-11/20 型計算機上,并在此系統(tǒng)之下開發(fā)了一套文書處理工具。而這套工具便是后來 nroff / troff的前身。那時的 UNIX 提供 16K bytes給系統(tǒng)、8K bytes給使用程序,檔案最大的極限是 64K bytes. 而此套含有文書處理工具的系統(tǒng),也正式獲得貝爾實驗室的專利部門采用,系統(tǒng)名稱并被編為 "First Edition". 在 UNIX 移植成功后 Thompson 用 B語言為它添加了 Fortran Compiler,但因為 B語言屬于一種解譯語言(interpretive language ),執(zhí)行成效并不是很好,于是 Ritchie又將它—— Compiler 發(fā)展成可產(chǎn)生機器碼、允許定義數(shù)據(jù)形態(tài)及結(jié)構(gòu),Ritchie 稱它為 C語言。1973年并以 C語言改寫全部UNIX原始程序,UNIX于是首度出現(xiàn)正式版本——V5(第五版)。
    此時的 UNIX 慢慢地在貝爾實驗室內(nèi)部蔓延開來,裝機數(shù)也變成了 25 部之多。
    由于當時的貝爾實驗室實際上是掌控在美國電信電話公司(AT&T)及其子公司西方電器公司的手上,實驗室主要是負責(zé)研究改進西方電器公司制造的和 美國電信電話公司在貝爾系統(tǒng)中使用的電信設(shè)備。同時根據(jù)軍方合同,從事與國防有關(guān)的研究與改進的工作。而 AT&T 本身由于有反托拉斯法的限制并不能從事于任何有關(guān)計算機方面的銷售,所以 AT&T 的主管階層們對于當時 UNIX 的發(fā)展并沒有太多的支持,因而當時貝爾實驗室內(nèi)部對于 UNIX 的發(fā)展并不是相當在意也無意于將之推廣。不過為了應(yīng)付實驗室內(nèi)各部門日益增加的 UNIX 使用者與相關(guān)技術(shù)支持需求,還是成立了 UNIX ystem Group (簡稱 USG)。但該組織也僅只是提供技術(shù)上的支持,并未賦予繼續(xù)發(fā)展的任務(wù)。所以當時的 UNIX 發(fā)展,全靠AT&T的工程師們的努力。這段期間 UNIX 的發(fā)展完全沒有組織及系統(tǒng)性可言,而玩家盡是一些工程師們,于是乎種下了 UNIX 日后較難以被一般人所接受的命運。


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351522035M3.jpg');" border="0">



    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351522035M3.jpg');" border="0">

    走出貝爾實驗室
    1974年 Thompson 與 Ritchie共同在 Communications of the ACM發(fā)表了一篇 UNIX 論文 "UNIX Time-Sharing System" 得到相當大的回響。 1975 年 UNIX 發(fā)表第六版(V6)﹐其提供的強大功能更勝過當時昂貴大計算機的操作系統(tǒng),其最大特點是以高級語言寫成,僅需要做少部份程序的修改便可移植到不同的計算機 平臺上。 UNIX V6版本并附有完整的程序原始碼在 1976 年正式從貝爾實驗室內(nèi)部傳播到各大學(xué)及研究機構(gòu),UC Berkeley 也就是依據(jù)這個版本開始研究并加以發(fā)展,并在 1977 年發(fā)表 1 BSD(1st Berkeley Software Distribution)版本的 UNIX OS,其后續(xù)的發(fā)展更為 UNIX OS貢獻良多且影響深遠,此點稍后再為你說明。
    同年 UNIX 因它提供良好程序發(fā)展環(huán)境、網(wǎng)絡(luò)傳輸服務(wù)與及時服務(wù)(Real-Time Services),而廣得各電話公司采用。Interactive System Corporation更因 Value Added Reseller (VAR )運用 UNIX 來強化辦公室自動化環(huán)境,成為第一家應(yīng)用UNIX操作系統(tǒng)的公司。此年UNIX亦被修改并第一次裝到 Interdata 8/32 型計算機上。這也是 UNIX 操作系統(tǒng)首次安裝在非 PDP型的計算機上。自此 UNIX 系統(tǒng)開始被移植改裝到各型微處理機及新計算機上
    一個穩(wěn)定的基石
    1978年 UNIX 發(fā)表對今日影響最重大的 UNIX 第七版(UNIX Time-Sharing System,Seventh Edition )也就是 V7.此版本包含 Fortran 77 compiler、Shell (只有Bourne Shell)、文件處理工具(nroff/troff 、roff、 MS mocro等)、UNIX-to-UNIX-file-Copy(用來支持兩臺 UNIX 機器間的檔案傳輸)、數(shù)據(jù)處理工具(AWK 、SED 等強悍的工具)、除錯工具(ADB )、程序發(fā)展工具(MAKE)、Lexical analyzer generator(LEX 、YACC等)、簡單的繪圖工具、并支持 C語言及 LINT verifier,主要執(zhí)行于 PDP-11 及Interdata 8/32型計算機上。在當時那個年代來說其系統(tǒng)的架構(gòu)與功能已經(jīng)是相當?shù)耐陚涞牧恕ourne Shell的原作者稱她為 "improvement over all preceding and following Unices" ,在今日也有人稱這個版本是 "last true Unix".由此可見 V7 在 UNIX 發(fā)展里程上的扮演了相當重要的盤石角色。
    在當時 DEC公司推出了一款 32-bit supermini 主機—— VAX,搭配的 VAX的操作系統(tǒng)叫做 VMS. 這款迷你級計算機的硬件無可挑剔〈直到今日她的穩(wěn)定度仍是被諸多老一輩的系統(tǒng)管理者所贊許的〉,但 DEC對 VMS操作系統(tǒng)的支持性卻讓貝爾實驗室的工程師們寧愿使用UNIX OS . 而這項工作則是由 John Reiser和Tom London所共同完成。他們以 V7 為基礎(chǔ)轉(zhuǎn)移 UNIX OS到 VAX計算機上使用。
    這個版本被稱為 UNIX V32.同時為了轉(zhuǎn)移的方便性,他們把 32-bit 的 VAX當成是大一點的 PDP-11 (因為 DEC 的 PDF-11 型計算機是 16-bit ),同時為了執(zhí)行的效率,V32 放棄使用 VAX硬件提供的一項 paging 功能(DEC 的 VMS OS 有支持 paging 功能,也由于 V32舍棄這項功能,所以 V32沒有虛擬內(nèi)存的功能)。
    即使是如此,V32 支持的地址已高達 4Gb. 就這樣沒有支持paging功能的 V32開始被廣泛的安裝在 VAX的機器上運作。
    DEC 則是在 1984 年左右推出來自己的 UNIX OS,叫做 ULTRIX.


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M1035156104cD.jpg');" border="0">
    一個重要的延續(xù)及發(fā)展—— BSD UNIX
    時間回到 1973 年 11 月, Ken Thompson 和 Dennis Ritchie 在印第安納Purdue大學(xué)的一場操作系統(tǒng)原理的座談會。會場上、坐著一位柏克萊大學(xué)(U.C. Berkeley )教授,名字叫 Bob Fabry. 當天的 K&R所發(fā)表的 UNIX 立刻引發(fā) Bob Fabry的極度興趣。當時的柏克萊還是處在使用大型計算機主機、批次執(zhí)行程序的階段,并沒有像 UNIX 這樣的交談式作業(yè)環(huán)境。會后,他便決定將UNIX帶回柏克萊。
    于是柏克萊的計算器科學(xué)、數(shù)學(xué)與統(tǒng)計三個系所合買的一臺 PDP-11/45,準備用來迎接UNIX.1974 年 1月,Bell Labs寄來了一卷 V4 的磁帶,學(xué)生 Keith Standiford 便開始進行安裝 V4 的工作。安裝時 Standiford 碰到了問題,便轉(zhuǎn)向 Bell Labs求援。人在新澤西州的 Thompson 便透過柏克萊這端速度只有300-baud的調(diào)制解調(diào)器在在線進行偵錯。
    在 UNIX 的發(fā)展史上,這是 Bell Labs與柏克萊的第一次接觸。
    完成除錯后,V4便順利地在柏克萊這臺新買的 PDP-11/45計算機上工作了。
    當時這臺是三個系所合買的,計算器科學(xué)好不容易裝上了 UNIX ,卻碰到數(shù)學(xué)與統(tǒng)計系所要使用 DEC's RSTS system,所以在一陣協(xié)調(diào)后,UNIX與 DEC's RSTS system以 8:16小時的比例分配,供三個系所輪流使用。一段時日后,具交談式功能的 UNIX 在效能上的表現(xiàn)得到絕多數(shù)學(xué)生們喜愛,紛紛將自己的計劃轉(zhuǎn)向UNIX的時段。而一天占了 16 個小時的批處理時段卻乏人問津。
    當時 Eugene Wong與 Michael Stonebraker教授,看上了 UNIX 提供的便利性,便打算將他們的 INGRES 數(shù)據(jù)庫計劃重原先批處理的計算機環(huán)境轉(zhuǎn)移到UNIX系統(tǒng)上面。在 1974 年,他們?yōu)檫@執(zhí)行計劃添購了一臺新的 PDP-11/40 計算機,上面安裝了 V5.這個計劃也就是柏克萊的第一個將作業(yè)環(huán)境轉(zhuǎn)移到UNIX的案子。
    UNIX作業(yè)環(huán)境的需求,在柏克萊迅速地成長。為了應(yīng)付需求,Michael Stonebraker 與Bob Fabry 教授決定再申請購買兩臺 PDP-11/45. 1975年初,DEC 推出 PDP-11/70,價格差不多等于兩臺 PDP-11/45,但功能強過 PDP-11/45 所以他們便決定改購買一臺 PDP-11/70.
    這臺機器引來了 Ken Thompson 、碰上 Bill Joy 以及日后產(chǎn)生了 1BSD.她就宛如是一塊 UNIX 史上的地標,沿襲自 Bell Labs,豎立在柏克萊,承先啟后并開創(chuàng)新局。農(nóng)夫個人認為,她應(yīng)該被供在博物館。
    當這臺機器在 1975 年終運達柏克萊時;同一時間,Thompson受邀回母校(柏克萊)當客座教授,科目就是 NIX.Thompson 在校期間與 Jeff Schriebman和 Bob Kridle 一起動手將新版的 V6 安裝在 PDP-11/70.
    Bill Joy1975年,一位密執(zhí)安州大學(xué)的畢業(yè)生來到了柏克萊,他的名字就是Bill Joy. 當時 Joy和同學(xué) Chuck Haley (tar 就是他寫的)喜歡一起泡在計算機房里面,Thompson也時常插上一腳。他們成功地改善了 Pascal 的解譯與偵錯的能力,同時還提升了解譯與執(zhí)行的速度。另外換裝上 ADM-3的屏幕后,他們覺得ed文字編輯指令并不合用;于是根據(jù)另外一個相似的 em 指令,發(fā)展了自己的覺得滿意的文字編輯工具,也就是指令 ex.
    1976年夏天,Thompson結(jié)束了他的休假回到 Bell Labs. 此時的 Joy和Haley 已經(jīng)開始著手探索 UNIX kernal,甚至還做了一些修改。1977年初,Joy 制作了一卷磁帶,上頭寫著"Berkeley Software Distribution." ,這就是 1BSD. 其中包含新的 Pascal compiler與 ex 編輯器。
    次年,來了幾臺新屏幕—— ADM-3a ,這種屏幕支持光標地址顯示,Joy 在這種屏幕上完成了有人愛不釋手;有人恨之入骨的文字編輯器—— vi.接著不久,Joy 便發(fā)現(xiàn)一個問題,老舊的屏幕裝備,還是會被用在其它的計算機上。為了支持上的方便,Joy 針對此現(xiàn)象設(shè)計了一個接口,用來管理、支持不同的屏幕裝備。
    這個接口就是現(xiàn)在的 termcap.1978 年中,包含了功能加強的 Pascal 與 vi 及termcap 的 "Second Berkeley Software Distribution ," 也就是 2BSD ,迅速的取代了原先版本。
    1979年,至少有 75 部 PDP-11 的機器上安裝 2BSD 在運作著。自此在 DEC PDP-11 系列上執(zhí)行的 BSD版本便一直以 2.xBSD 作為識別。
    由于 PDP-11 計算機實在相當長壽,持續(xù)到今日農(nóng)夫我仍然在網(wǎng)絡(luò)上發(fā)現(xiàn)過關(guān)于PDP 計算機的網(wǎng)站。似乎到今日它們?nèi)耘f在某些地方默默地工作著。
    2.xBSD最近的一次改版是在 1987 年,使用 4.3 BSD為主架構(gòu)改寫,版本定為 2.10 BSD.
    在 BSD UNIX 中登場的重要功能當中,有一個直到今日仍然叫人又愛又恨的指令– vi.我接觸過不少學(xué)習(xí) UNIX OS的人,大部分的人對 vi 的使用與掌握都不算順手,其中恨死這個指令的也大有人在,前些日子農(nóng)夫我還看到某個網(wǎng)站公開討論起 vi 是否阻礙了 UNIX 的發(fā)展?實在夸張了一點!
    Bill Joy多次公開地說,他要是知道 vi 會如此受" 歡迎" 的話,他寧愿當初沒有寫 vi 這只程序。不過 Bill Joy 也說過,當時他原本還想加入一項 Multiple Windows in vi 的功能,不過當他在寫這部分程序的時候,磁帶機壞了,所以Bill只好在沒有備份的情況下繼續(xù)工作,想不到" 屋漏偏逢連夜雨" ,程序?qū)懙揭话耄褂玫挠脖P也跟著掛了。在無可挽救又沒有備份磁帶的情況下,Bill宣告放棄為 vi 增加 Multiple Windows 這項功能。事后 Bill 為前一版的 vi 寫好使用說明后就繼續(xù)作其它的事。所以 vi 就長成今天那付德性。農(nóng)夫我認為這或許是福不是禍!搞不好當初要是連 Multiple Windows 這項功能一起發(fā)表的話,上頭的圖可能就是遺照了。
    當時有位 Richard Fateman教授,原先使用一臺 PDP-10 上進行著他的Macsyma 研究計劃。但他需要更大的內(nèi)存地址來執(zhí)行程序,所以在 1978 年初,他看上了當時迪吉多新發(fā)表的 VAX-11/780.好不容易,他聯(lián)合了其它的部門才湊足購買 VAX的經(jīng)費。剛開始時,機器原本安裝的是 VMS操作系統(tǒng)。不過別的成員要執(zhí)行 UNIX 操作系統(tǒng),于是 Fateman安裝上了 V32. 但問題來了,V32 并不支持虛擬內(nèi)存,F(xiàn)ateman 便找上了 Domenico Ferrari 教授,希望他與他的研究小組能為 UNIX 加上這項功能。當時一位學(xué)生叫 Ozalp Babaoglu ,他想到了一些解決的方法似乎可行,但因為牽涉到 VAX硬件與 UNIX kernal的問題,于是他找上了 Joy幫忙。
    就在只有一臺 VAX的狀況下,他們努力奮戰(zhàn)著。1979年 1月,在 VAX上支持虛擬內(nèi)存的UNIX版本終于誕生,V32 從此走入歷史。緊接著 Peter Kessler與 Marshall Kirk McKusick 為他加上了Pascal;Joy 則動手將 2BSD 上的 ex、vi、C shell 等工具轉(zhuǎn)移了過來。這個版本就是 3BSD.一個首次支持虛擬內(nèi)存、demand paging 和 page eplacement 的 UNIX OS.


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M1035161F53004.jpg');" border="0">


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M1035164Z63303.jpg');" border="0">
    UNIX與 DARPA交會
    1970年代末,美國國防部先進研究計劃機構(gòu)(Defense Advanced Research Projects Agency ——簡稱 DARPA)正在為 AI (Artificial Intelligence ),VLSI及計算器視覺等研究(vision research )找尋一個可共通作業(yè)的計算機環(huán)境。硬件方面的首選是迪吉多的 VAX主機。配合的操作系統(tǒng)是 VMS. 這樣的組合因擁有相當接近 DARPA 需求的功能被列入優(yōu)先的考量,但在 DARPA與 DEC商談對于 VMS的支持事宜之后,DARPA 并沒有得到滿意的答案。這迫使他們考慮朝向UNIX發(fā)展。但當時 UNIX OS(指的就是32V )搭配 VAX,最大的缺憾就是沒有支持虛擬內(nèi)存;但此時已經(jīng)有人克服了。
    當時,Bob Fabry 教授寫了一份建議書給 DARPA,建議他們以柏克萊支持虛擬內(nèi)存的 3BSD 為基礎(chǔ),發(fā)展成為計劃所需。這份企劃書引起了 DARPA的高度興趣。隨后 3BSD 也實際獲得了 DARPA相關(guān)計劃成員們的良好風(fēng)評,也因此最后柏克萊大學(xué)打敗了卡奈基梅隆大學(xué)與 BBN(Bolt Baranek & Newman , Inc. ),讓 Bob Fabry成功地獲得了 DARPA的資助合約。這份合約開始于 1980 年 4月,為期 18 月。此后的 DARPA便以 UNIX OS為標準操作系統(tǒng)。 Bob Fabry 教授在取得 DARPA合約后,依約成立了一個支持機構(gòu),也就是 Computer Systems Research Group簡稱 CSRG.Bob Fabry找上了 Bill Joy 來負責(zé)軟件開發(fā)。Joy 迅速地以先前的 3BSD 為基礎(chǔ),整合新的功能。如 Job Contro l (作者是 Jim Kulp )、auto reboot 、1K block file system. 同時也整合入Pascal compiler 、Franz Lisp system、enhanced mail handling system.這就是在 1980 年所發(fā)表的 4BSD.沒多久她便被安裝在將近 500臺VAX 上。
    DARPA 采用了這個版本作為當時 DARPA的標準 UNIX 操作系統(tǒng)。
    樹大招風(fēng),當時,有位在 Stanford Research Institute的仁兄叫 David Kashtan,寫了一份關(guān)于 VMS與 BSD UNIX在 VAX上的執(zhí)行效率評估。該份報告指出 BSD UNIX 在效率上不如 VMS來的好。Joy 知道這件事之后,花了不到一個星期的時間,重新調(diào)整 UNIX kernal. 然后也寫了一份報告,證明他們的BSD 在 VAX上要比 VMS優(yōu)越多多。 1981年 6月,這個 Joy調(diào)整過的系統(tǒng),加上了 Robert Elz 寫的 auto configuration ,以 4.1BSD 的版本發(fā)表了。
    當時的 DARPA對柏克萊 4.1BSD 的表現(xiàn)相當滿意,于是續(xù)簽了兩年的新約,金額更是先前合約的 5倍。其中有一半的金額用在資助柏克萊繼續(xù)發(fā)展 BSD UNIX . 錢多的相對代價就是要求高。當時,DARPA 對 UNIX 的期望開出了明確的目標;更迅速、更有效率的檔案系統(tǒng)、支持程序可執(zhí)行地址達 multi-gigabyte 、提供彈性的解譯溝通能力、具整合支持網(wǎng)絡(luò)能力。
    在此同時,為了達到計劃的目標,DARPA 成立的一個指導(dǎo)委員會;主要的成員有柏克萊的 Bob Fabry, Bill Joy ,Sam Leffler 、BBN 公司的 Alan Nemeth and Rob Gurwitz、貝爾實驗室的 Dennis Ritchie 、史丹佛大學(xué)的 Keith Lantz、卡內(nèi)基。梅倫大學(xué) Rick Rashid、麻省理工學(xué)院 Bert Halstead、信息科學(xué)協(xié)會 Dan Lynch、DARPA 的 Duane Adams and Bob Baker以及加州。洛杉磯大學(xué)的 Jerry Popek.
    不久,Joy 便開始整合早先 BBN的 Rob Gurwitz所發(fā)表的 TCP/IP protocols ,不過他對 BBN這些程序的執(zhí)行效率并不滿意,于是 Joy與 Sam Leffler重新寫的一版自己的程序。
    另外,并加入了一些支持網(wǎng)絡(luò)的工具 rcp,rsh , rlogin ,rwho. 他們稱她為 4.1aBSD,這個版本并沒有正式發(fā)表,在1982年 4月開始供內(nèi)部使用。雖是如此,在 4.2BSD 未正式發(fā)表之前,她還是繁殖的到處都是。6 月, 4.1aBSD kernal加上了新完成的檔案系統(tǒng),版本更新為 4.1bBSD.
    rcp , rsh, rlogin , rwho 這群指令。因安全機制上的理由,逐漸被另一群新的指令群所取代,新的指令群叫 SSH(Secure Shell)。SHH 相關(guān)網(wǎng)址(http://www.ssh.org)。
    1982年的春季末,已厭倦了在柏克萊環(huán)境的 Bill Joy ,答應(yīng)受邀加入當年剛創(chuàng)辦的 Sun Microsystems , Inc. ,成為 SUN的第四號創(chuàng)辦人。那年的整個夏季他就在兩地奔走。之后他對修改中的彈性解譯溝通機制及改寫 UNIX kernal到一個段落之后,由 Leffler接手了他的工作。由于合約期限的因素,Leffler 在1983年 4月發(fā)表了 4.1cBSD,提供給參予 DARPA各項相關(guān)計劃的成員試用。6 月,DARPA 的指導(dǎo)委員會第二次會議招開,驗收與檢討最新版的 BSD 成果。繼續(xù)整合 UNIX 系統(tǒng)的 Leffler,在 1983 年 8月,發(fā)表了 4.2BSD.她達到了DARPA 的預(yù)定的需求;足以應(yīng)付 CAD/CAM影像處理與 AI 研究的高速的檔案系統(tǒng)及擴展強化的虛擬內(nèi)存功能;提供能分散處理的解譯溝通機制;支持56-Kbit 的 ARPA Internet網(wǎng)絡(luò)連結(jié),以及 10-Mbit/s Ethernet 的局域網(wǎng)絡(luò);還有經(jīng)過重組架構(gòu)已模塊化的 kernal code ,提供更有效率的計算機平臺移植。
    SUN 以生產(chǎn) RISC 架構(gòu)的工作站計算機為主,使用的正是以 BSD為基礎(chǔ)所的UNIX OS.在當時以不遜色于大型計算機的多人多任務(wù)、具網(wǎng)絡(luò)溝通功能的UNIX OS 、加上價格低廉的硬件(相對于 mini 級計算機而言),廣獲得工程界的青睞,而mini級大計算機的命運自此注定開始逐漸式微。計算機軟件的應(yīng)用因為有了網(wǎng)絡(luò)于是也開始朝向 Client-Server的架構(gòu)發(fā)展。
    1982年,SUN 有了自己的操作系統(tǒng)—— SunOS 1.0——承襲自 4.1BSD.一直到 1990 年11月,發(fā)表 SunOS 4.1.1 版同時冠上 Solaris 1.0時,SUN 才算開始向 System V 版本靠攏。
    SunOS 4.1.1 可算是以 BSD為主體再附加上 System V 工具的 UNIX 混血兒。但這其實是個商業(yè)考量的過渡性做法(后文會加以說明)。
    而 SunOS 4.1.x版的字眼也僅延續(xù)到 1994 年的 SunOS 4.1.4為止,她后繼的版本是 Solaris 1.3. 真正延續(xù)到今日的 Solaris版本,則是始于 1992 年 7月的Solaris 2.0 (SUN OS 5.0)。
    在商業(yè)有所成就的 SUN Microsystems 對 UNIX OS的發(fā)展倒也做了些重大貢獻;如 1984 年發(fā)表的 NFS(Network File System )與其后在 1986 年發(fā)表的PC- NFS.
    商業(yè)化的不平坦歷程—— UNIX 版本的戰(zhàn)爭
    UNIX商業(yè)化實質(zhì)上即意味著將產(chǎn)生各種獨立化的 UNIX 版本,這點大概是最顯而易見的事實。如果以商品要具備獨特性與獨占性的利益來做考量的話,其實一點也不意外。因此 UNIX 開始衍生的相當多的版本。這種現(xiàn)象,對使用者以開發(fā)應(yīng)用程序的廠商而言,已經(jīng)造成了某成程度上困惑。然而,一種無所適從的無力感其實才剛開始。
    1984年 1月 1日, AT&T 這個擁有 1495 億美元資產(chǎn)、1 ,009 ,000 位員工的龐大巨獸,終于被格林法官(Harold H. Greene)以反扥拉斯法(antitrust ) 強制拆解成七家 RBOCs(Regional Bell Operating Companies ) . AT&T 也因而在一夕間解體成為區(qū)域性網(wǎng)絡(luò)公司,從此失去了長途電話的壟斷性地位。這種時空的轉(zhuǎn)變讓 AT&T 對 UNIX 的態(tài)度有了 180度的轉(zhuǎn)變(其實,農(nóng)夫我指的是收費的態(tài)度)。
    先前已經(jīng)提過 70 年代初期的 AT&T ,已經(jīng)在長途電話市場上占有絕對壟斷的優(yōu)勢,因而被美國政府的限制不得涉足與從事計算機與其它行業(yè),也正因而造就了UNIX發(fā)展初期的自由開放。直到 1979 年,AT&T才宣布要將 UNIX 商業(yè)化的計劃。1981年 11 月,AT&T屬下的USG 發(fā)表了 System III.次年又更新為System IV.稍后于 1983 年,AT&T 將 CRG, USG合并成立了 UNIX System Development Lab. 一般簡稱為 USL,從其名稱就不難清楚她將要扮演的角色。該年 System V 上市了。此時 AT&T 發(fā)覺每次版本更新都得花不少宣傳費,實在不劃算,所以決定在 System V 以后,名字就不再做變動了。1984年,System V Release 2發(fā)表,簡稱為 SVR2.在這個版本中,才終于看到來自 BSD 版本的 Virtual memory 功能,農(nóng)夫我不得不驚嘆 AT&T 的穩(wěn)健作風(fēng)。SVR3則是到了 1986 年才發(fā)表,隨后 1987 年又發(fā)表了 SVR3.2.
    1987年,在工作站市場上已占有一席之地的 SUN,找上了 AT&T ,打算將System V與 BSD這兩大版本歸為一統(tǒng)。 1988年初,雙方更簽訂了合作合約,AT&T取得 SUN的一席董事,同時亦有權(quán)買下 SUN百分之二十的股份。這項合作計劃,原本有機會整合當時版本紛亂的 UNIX OS. 但那是理想。實際上這個計劃反而讓 UNIX 族群里的其它成員恐慌萬分,特別是 IBM、DEC 、HP這幾個產(chǎn)業(yè)龍頭。為了抵制這項行動,他們組織了一個反對聯(lián)盟。因此「開放軟件基金會」也就是 Open Software Foundation 簡稱 OSF在 1988 年正式誕生;成員除了前面的三巨頭外,尚有多達三十幾家計算機硬件制造廠商與系統(tǒng)咨詢顧問公司,也相繼以行動投入到此反對的行列中。然而 AT&T 與 SUN也不示弱地組織了 UNIX International ,也就是UNIX國際公司,成員數(shù)量雖然不比 OSF陣營來的多,但如果她是 Intel、 Toshiba 、Unisys、Motorola、Fujitsu ,這幾個大塊頭,那也是很夠看頭的。
    企業(yè)自身的利益在現(xiàn)實世界里始終是以個體的考量為優(yōu)先,所以這兩大陣營始終沒能再達成任何共識,就連當時所制定的 UNIX 統(tǒng)一標準規(guī)格,嚴格來說也從不曾被實現(xiàn)過。這種企業(yè)利益上的沖突與矛盾其實也存在于同一個陣營中不同的成員之間。兩大陣營對峙,可以說是 UNIX 有史以來最重大的產(chǎn)業(yè)沖突事件。
    由于商業(yè)利益的政治考量大過技術(shù)問題的考量,也因此奠定了 UNIX 將繼續(xù)分裂下去的命運。 AT&T 在 1989 年發(fā)表了 SVR4 ,SUN 在日后也將她的 SunOS 4.1. 1 開始冠上 Solaris的字眼,以行動靠攏 SVR4.OSF 則是在 1990 年發(fā)表了OSF/1.UNIX版本的問題因而更加混亂了。但有趣且可笑的是,開放系統(tǒng)——Open System ,這個雙方都標榜的理念與觀念卻因此在計算機產(chǎn)業(yè)界引起了回響,這點倒是原先所始料未及的。
    不久 AT&T 撤銷了對 SUN的投資,同一個陣營的成員彼此也因而勞燕分飛。
    USL 在 1991 年正式轉(zhuǎn)變了一家獨立的商業(yè)公司。但 UNIX 在商業(yè)市場上的價值卻出現(xiàn)了變化……
    讓 UNIX 自由—— Networking Release 2
    自從 UNIX 走出貝爾實驗室后,研究機構(gòu)與學(xué)術(shù)界就扮演了繼承與發(fā)展的雙重角色。在1979到 1984 年這段期間,UNIX的擁有者 AT&T ,對于學(xué)術(shù)界的授權(quán)政策尚可用「大方」來形容;同時也對學(xué)術(shù)界做某種程度的資助與合作。當時的學(xué)術(shù)界,得助于 AT&T 的大方授權(quán)與分享程序原始碼,研習(xí) UNIX 這個分時操作系統(tǒng)開始在學(xué)術(shù)界蔚為一股風(fēng)氣,甚至可以說是一種潮流或一種流行。其中,像柏克萊 BSD對 UNIX 的貢獻,就是一個公開的事實。但早期的 BSD使用者,是必需向 AT&T 支付授權(quán)金的。這點,從產(chǎn)業(yè)界資助學(xué)術(shù)界的角度來看是一點也不值得驚訝的。因為資金的援助為了就是取得其成果。所以當時基于 AT&T 原始碼所發(fā)展的成果,均歸屬 AT&T 所有。也因而 AT&T 掌控了 UNIX 的所有權(quán)。到了1984年以后,AT&T開始更積極地保護 UNIX 的原始碼;AT&T甚至還要求各大學(xué)的使用人員簽訂保密條約,想藉此防堵 UNIX 的原始碼從學(xué)術(shù)單位流出,以影響到商業(yè)利益。
    在 DARPA資助柏克萊從事 BSD OS 發(fā)展的過程中,誕生了 TCP/IP 這項廣泛影響現(xiàn)今計算機與因特網(wǎng)的通訊協(xié)議。由于 DARPA對于資助開發(fā)的軟件項目有明文規(guī)定接受資助者必須無條件地釋出程序的原始碼,所以 TCP/IP 的原始碼與程序的版權(quán)并不屬于 AT&T 所有。這點在現(xiàn)今看來其意義是不凡的。也正因為有此一條件,柏克萊的 CSRG (Computer System Research Group)因應(yīng) BSD Vendors需求,在 1989 年 6月發(fā)表了 Networking Release 1 ,她包含了TCP/IP source code以及一些工具,提供給當時正開始起步發(fā)展的個人計算機制造業(yè)者使用。Networking Release 1 授權(quán)收費僅 1000 美元,而且不需要 T&T的商業(yè)授權(quán),取而代之的是柏克萊大學(xué)的開放式授權(quán)。
    農(nóng)夫我看柏克萊授權(quán)方式,幾乎可以說是一種良心式授權(quán)方式,在實質(zhì)的運用上她完全沒有限制。她允許原始碼或執(zhí)行檔在任何情況下修改并且允許將修改后的程序 從事商業(yè)行為而無須任何回饋,當然也沒有絕對要求開發(fā)者必須要釋出原始碼。如果你改都不改地加以販售,她也沒有意見。但有一點不可違反的限制,就是必須在 衍生物的版權(quán)聲明上提到柏克萊的貢獻。這種做法在日后,也沒有多少改變,而這樣的授權(quán)方式也成為了柏克萊的授權(quán)精神。
    Keith Bostic由于 Networking Release 1 所得到的響應(yīng)實在遠超過 CSRG 成員的預(yù)估。
    這個不算差的成果,讓柏克萊的 CSRG 覺得有必要釋出更多屬于 BSD的程序原始碼。于是激發(fā) CSRG 的成員 Keith Bostic開始組織志愿工作者從事一項就算不能夠驚天也足以動地的程序?qū)懽饔媱潯S媱澋闹饕康脑诋敃r還真讓人感到有點" 烏扥邦".農(nóng)夫我個人喜歡戲稱她為「解放 UNIX 計劃」。
    Marshall Kirk McKusick這項計劃大體上分成兩個部分,操作系統(tǒng)工具(Utility )
    與核心(kernal)。而且參與人員必須在完全沒有參考 AT&T UNIX source code的情況下進行撰寫程序的工作。因為只有在這種條件下,寫出來的程序代碼,才能擺脫 AT&T 的著作權(quán)束縛。當然這也絕對不是一件容易的事。Keith Bostic四處奔走,組織了超過四百名熱心的軟件工程師,經(jīng)過了長達十八個月的奮戰(zhàn)之后,操作系統(tǒng)主要的工具與鏈接庫才算改寫完成。Marshall Kirk McKusick負責(zé)改寫當時的核心程序。但系統(tǒng)核心的部分,由于長期以來柏克萊與 AT&T 一直就彼此分享 UNIX 原始碼,所以各自所加上去的程序代碼早已混雜難分了。為了徹底的厘清雙方各自撰寫的部分,他們下決心進行逐行比對。首先花了好幾個月的時間,將核心程序每 一行每一個檔案都建立轉(zhuǎn)換比對的數(shù)據(jù)庫。然后接著進行移除來自 AT&T 32V 的程序代碼并改寫她們。即使是如此,仍舊有 6只程序讓他們束手無策,因而無法將核心程序徹底完整地改寫。最后,他們還是決定將他們所做的所有成果發(fā)表。授權(quán)的方式沿用 Networking Release 1 的授權(quán)方式,授權(quán)的磁帶依舊是 1000 美金。這個版本就是 Networking Release 2 ,也有人稱她為 4.3BSD NET/2.發(fā)表的時間在 1991 年 6月。雖然這是個不完整的操作系統(tǒng)。
    但,在今日看來,卻有著劃時代的意義—— UNIX OS自由了。
    誰是" 老大哥" ——侵權(quán)訴訟
    AT&T的 USL在 1991 年正式轉(zhuǎn)變了一家公司。當然,這意味著她將更重視UNIX在商業(yè)上的利益。當時的 UNIX OS早以稱霸高階的計算機市場;從 Cray 超級計算機、IBM 的大型計算機主機、迷你級計算機到工作站,均是 UNIX 的天下(這一點,直到現(xiàn)在21世紀,仍舊沒有多大的改變)。即使在 80 年代中期后開始迅速發(fā)展的個人計算機,雖然當時被戲稱為是玩具計算機,但也仍舊有像XENIX[注1], Interactive UNIX[注2]等幾種向 AT&T 繳過稅的商業(yè)化版本。
    UNIX簡直就是 AT&T 的一棵搖錢樹。
    但這一切在 Networking Release 2 (以后簡寫為 Net/2)出現(xiàn)之后,起了變化!
    首先,一位 i386 處理器的玩家名叫 Bill Jolitz,在拿到 Net/2之后,很快地就將 Net/2 kernal 缺少的程序補齊了。BSD kernal這時可算是大功告成了。
    當時 Bill Jolitz將他們放在因特網(wǎng)與其它人共享他的原始碼,并且得到了不少正面的響應(yīng)。由于這個版本是使用在 i386 微處理器的個人計算機上,所以就命名為386BSD,在 1992 年 2月正式發(fā)表。這該算是 BSD首度功能完整且版權(quán)獨立的版本。Bill Jolitz 是當時唯一的 kernal 維護者。在他離開這個計劃之后,繼起的 BSD玩家們延續(xù)了這個版本,日后衍生了 FreeBSD,然后又從其中分支出裂NetBSD版本。
    另一個將 Net/2完整化的是一家叫 Berkeley Software Design ,Incorporated的公司,簡稱 BSDI[注3]. 由于 Net/2的版權(quán)聲明中,宣稱其源文件的合法性,并且允許使用者,從事衍生物的商業(yè)行為,所以 BSDI 將他們修改后的系統(tǒng)命名為 BSD/386. 他們并將成果打包,刊登廣告以 995美金的售價販售 BSD/386,而且含原始碼,而且還提供免費服務(wù)電話的咨詢,電號號碼是"1-800-ITS-Unix". 時間大約是在 1992 年 1月。當時,USL 的 System V 含 source code的價格大約是 BSD/386價格的一百倍左右。這可驚動了老大哥 AT&T.并且正式地書面嚴重警告 BSDI 違反的注冊商標法(電話號碼里有Unix的字眼),并公開宣稱 AT&T 擁有 UNIX 的注冊商標。BSDI再次刊登廣告公開反擊 AT&T ,聲明她的商業(yè)行為完全合法。果不期然,BSDI的博命演出讓雙方手牽手走上法庭。
    AT&T的 USL控告 BSDI 剽竊他的 UNIX 原始碼,要求法官還他公道。在聽證會上,BSDI祭出早已準備好的法寶;自己在無任何 AT&T source code 的條件下寫出的合法檔案,以及來自于 BSD授權(quán)的 Net/2 source code. 前面的證據(jù)足以讓 BSDI 立于不敗之地,后者讓 BSDI 置身在暴風(fēng)圈外。BSDI的辨證獲得了法官的采信。但 At&T 豈會就此罷手,他們將焦點轉(zhuǎn)移到 Net/2的 BSD授權(quán)上面,并且重新提出控訴,被告的對象變成了 BSDI 與柏克萊大學(xué);同時 AT&T 還申請法庭禁止 BSDI 一切的 BSD/386銷售行為。就這樣,柏克萊大學(xué)也對號入座了。
    農(nóng)夫我認為,畢竟 AT&T 是營利企業(yè),她得維護她的商業(yè)利益,這點是天經(jīng)地義的事。
    雖然柏克萊大學(xué)與 AT&T 在 UNIX 發(fā)展上有著非比尋常的關(guān)系,但商業(yè)利益是現(xiàn)實的。企業(yè)資助學(xué)術(shù)界的研究計劃,多半是基于商業(yè)上的考量;我相信,學(xué)術(shù)界的少數(shù)高層在尋求奧援時不會不明白這 一點,即使這有可能讓大部分的學(xué)術(shù)人士無法接受或不愿接受。不管如何,這一記醒棍倒再次挑起了這一點事實。
    成為被告的柏克萊大學(xué),只好無奈地面對這場無情的商業(yè)訴訟。但他們也同樣不甘示弱地對 AT&T 的 Systerm V 著作權(quán)提出質(zhì)疑,因為在 AT&T 的 UNIX 授權(quán)聲明中完全沒有提及柏克萊的貢獻。所以柏克萊反控 AT&T 違反 BSD 的授權(quán)條款。柏克萊的反擊讓戰(zhàn)況越演越烈,訴訟案一路從 AT&T 的老家新澤西州的聯(lián)邦法庭打到柏克萊大學(xué)的所在地加州法院,但依舊沒有結(jié)果。
    到了 1993 年,官司還在進行中,但 AT&T 卻已經(jīng)打包 USL準備以一億美元的價格找尋買主了。最后 AT&T 將 USL 以八千萬美元代價的賣給了 Novell.而新買主也當仁不讓地加入了這場混戰(zhàn)。但卻也因此,戰(zhàn)況露出了一線平息的曙光。
    訴訟案在 1994 年 1月宣告終結(jié),以庭外和解收場。實際的協(xié)議內(nèi)容僅有當事人知情。
    如果從勝負的角度來看這場訴訟,或許柏克萊與 BSDI 是勝利的一方。但如果從UNIX發(fā)展的腳步來看這場訴訟,就可能根本沒有任何一方是勝利者了。
    事件平息后的 1994 年 6月,柏克萊的 CSRG 風(fēng)光地發(fā)表了 BSD 4.4 Lite.在這個版本中,有 70 個檔案引用的一份新修改的版權(quán)聲明,闡述的 AT&T 與 BSD雙方的貢獻,并明確地給予檔案自由散播的權(quán)利。但不知為何,應(yīng)該有能力完整發(fā)表的 BSD 4.4 Lite 還是缺少了三的檔案。當時,農(nóng)夫我也很高興地買了一本BSD4.4-Lite CD-ROM Companion ,含一張光盤,現(xiàn)在拿在手上,看來總覺得有點呆。
    掌握 UNIX source code 以及 UNIX 商標的 Novell ,將 UNIX 商標交給X/open管理,自己則發(fā)展了一套命名為 UNIXWave 的操作系統(tǒng)。推出后市場的反應(yīng)并不熱絡(luò)。不久,Novell與 SCO接頭,在 SCO保證繼續(xù)支持UNIXWare 的條件下,UNIX在 1995 年二次易主,新主人是SCO[注4].
    備注:*1 Intel在 1978 年發(fā)表 4.77 MHz 的 8086 微處理器。1980年,Microsfot 便以 V7 為基礎(chǔ),發(fā)表了在微處理器(microprocessor-based computers)上執(zhí)行的版本也就是 XENIX. 到了 1982 年,一家成立于 1979 年的軟件公司 Santa Cruz Operation ,成為微軟的合作開發(fā)廠商。之后她這家公司便一直致力于這個領(lǐng)域里延續(xù)到今日,縮寫就是今日的 SCO.
    *2 Interactive IS/1 (以 V6 為主體)。這個版本后來演化為比較讓人熟知的名字—— Interactive UNIX. 后來因為 Sun Microsystems 致力發(fā)展 Solaris for X86,被財力雄厚的 Sun Microsystems 合并了,如今已經(jīng)不見蹤跡了。
    *3就在我反復(fù)修改這段文稿的時候,BSDI這家公司已經(jīng)被 Wind River 合并了,改名為iXsystems.2001/05/03
    *4 2001 年 5月 4日,Caldera International , Inc. 正式并購了 SCO的服務(wù)器軟件部及SCO 專業(yè)服務(wù)部這兩個部門,新的控股公司名為 Caldera, Inc


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351DZN248.jpg');" border="0">


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351HPY959.jpg');" border="0">
    GNU 計劃——開啟了新大道
    在 1983 年 9月 27 日,麻省理工學(xué)院人工智能實驗室(MIT Artificial Intelligence Lab )的 Richard M. Stallman(以下簡稱為 RMS),在net.unix-wizards以及net.usoft 的 newsgroups 貼上了一份標題為 "new UNIX implementation" 的訊息。這就是如今廣為人知的 GNU計劃的開始。在那則被視為「GNU 宣言」草稿的訊息中,RMS 闡述個人的理念與計劃的目的——完成一個命名為 GNU的 "Free UNIX"操作系統(tǒng),希望藉此尋喚理念想同者共襄盛舉。
    「如果我喜歡一個程序的話,那我就應(yīng)該分享給其它喜歡這個程序的人」,這是RMS 的座右銘。此點也似乎正是促使其決心運作 GNU計劃的原動力。當時的RMS 是想寫出一套免費的操作系統(tǒng)。能夠讓每個人如空氣般地自由的取得與使用。
    選擇“UNIX兼容”為設(shè)計的主要原因是;RMS 表明,UNIX并非他個人理想中的操作系統(tǒng);他僅閱讀一些相關(guān)數(shù)據(jù),但未曾使用過(MIT 使用操作系統(tǒng)是"ITS——Incompatible Timesharing System");但他認為 UNIX 操作系統(tǒng)具有優(yōu)良的本質(zhì)特性。他相信如果 GUN與 UNIX 兼容將更容易令人接受。所以 RMS承襲 MIT用遞歸縮寫字命名的傳統(tǒng)為 GNU釋譯界定 Gnu is Not Unix.
    1984年 1月,RMS 為了展開他的理想而決心離開已經(jīng)待了十幾年的 MIT AI Lab.。當他向他老板 Patrick Winston 辭職時,Winston 試圖挽留地說:「你還是要辭職?」。RMS 不為所動的回答:「是」。Winston 顯然得到預(yù)料中的答案,于是接著說出了思緒里關(guān)懷:「你想要保留你的鑰匙嗎?」。于是 RMS就從此開始專心地" 失業(yè)" 在他的老東家。一個人窩在他原來的舊辦公室中,規(guī)劃著如何開始他的 GNU計劃。但想開發(fā)一套新的 UNIX 兼容的操作系統(tǒng),即使是財力、人力資源雄厚的頂級計算機公司,也絕對不是一件說想做就能夠做到的事。
    當擬妥他的「GNU 宣言」之后,他正式向全世界呼喚、表明其將所為。種子落地了。
    GNU 計劃的第一只程序要算是孤軍奮戰(zhàn)的 RMS在 1984 年 9月開始撰寫的Emacs 編輯器。
    1985年初,Emacs 已進入可用的階段。于是 RMS將她放在pre.ai.mit.edu這臺機器的 FTP server 上,免費地讓 amonymous的到訪者自由下載使用。不久后,Emacs 強捍的功能引發(fā)了一些玩家們的注意,由于附上了 source code,玩家們能自己動手為它添加新的功能或除錯,很快地,Emacs 獲得了相當熱烈的回響。隨著名聲漸播,開始有人相繼地加入 GNU計劃的程序?qū)懽麝嚑I。" 此道不孤" 讓 RMS倍感振奮與喜悅。
    當時的因特網(wǎng)并未十分普及。所以有不少人雖然對 Emacs程序有興趣,卻沒辦法經(jīng)由 FTP的管道取得,因而有人透過其它管道向 RMS詢問能如何取得時,這可讓當時處在失業(yè)狀態(tài)的RMS 看到能夠支持他繼續(xù)奮戰(zhàn)下去的資金來源——販售" 自由軟件".
    一個人、一個獨立的個人,要想在現(xiàn)實中實行自己的理念,最先得接受" 現(xiàn)實".唯有接收它是事實,實行理念的道路,才獲得比較穩(wěn)固的起點與開始。 ——網(wǎng)絡(luò)農(nóng)夫如是說。
    想著、寫著,腦中突然掠過一絲感受(所以順便記錄在這個地方)。不管如何,RMS 真的開始以一卷磁帶 150 塊美金的代價,服務(wù)有需要的人。也因為基于這個開始與基礎(chǔ),RMS 當年便創(chuàng)立了自由軟件基金會—— Free Software Foundation(以后簡稱為FSF )。這對GNU 計劃而言,意味著它已跨越個人化理念的構(gòu)思階段,并進入了有群體組織化的運作階段。
    同時,RMS 也制定出了屬于GNU 計劃的軟件版權(quán)。RMS 使用 "copyleft" 用來形容她,其實就是與著作版權(quán)(copyright ) " 對立" 之意。這也就是 GPL—— General Purpose License(通用公共授權(quán))。
    GNU 計劃的種子,就這樣生根發(fā)芽了。
    從販賣 GNU自由軟件擴展到其它的相關(guān)軟件與參考手冊,提供軟件技術(shù)支持,并接受計算機器材與資金的捐助(捐助者依法享有一定額度的減稅),為企業(yè)代訓(xùn)軟件人 才。FSF 努力地開辟財源卻仍舊是運作資金捉襟見肘。RMS 本人并不支薪。而FSF 聘請軟件工程師的待遇,也僅是軟件業(yè)界薪資水平的一半。但這絕不表示GNU 計劃的軟件水準是半桶水。GCC 編譯器是 GNU計劃在 1987 年 3月開始發(fā)表的免費編譯器,當時的版本是 0.9測試版。如今最新的版本則是 3.0. 這個編譯器可以說是今日自由軟件寫作的基石。GCC 所解譯的機器碼,其可靠度絕對不遜于商業(yè)化的編譯器產(chǎn)品,甚至可以說是優(yōu)越過商業(yè)編譯器。
    90年代初,GNU 計劃暨已完成了質(zhì)量與數(shù)量均十分可觀的系統(tǒng)工具。這些工具被廣泛的使用在當時各種工作站的 UNIX 系統(tǒng)上。雖然已有如此的成果,但仍稱不上是完整的操作系統(tǒng)。他們?nèi)鄙僖恢儆谧约旱? 核心程序(kernal)".
    UNIX在 4.2BSD 之后,越寫越大 kernal 開始帶來一些不便與問題。因而當時便開始有另一個寫作理念逐漸在發(fā)展——微核心(microkernal )理念。
    1985年,卡內(nèi)基大學(xué)(Carnegie Mellon University簡稱 CMU)暨以 4.3BSD 為發(fā)展基礎(chǔ),將之一拆為二,分成 micro kernal 與 single server兩個部分。
    該計劃的名稱為"Mach". 這個計劃成了微核心發(fā)展的技術(shù)先河。GNU 原本有意直接采用"Mach"計劃的成果。但無奈,這一等,從80年代中等到了90年代初,在幾經(jīng)商量之后,他們打算采用微核心的寫法,成立自己的計劃, 名稱叫"Hurd". 這項計劃,如今仍在奮戰(zhàn)中,雖然 microkernal的做法讓他們吃了不少苦頭;但可喜的是,0.2 , 0.3 測試版本已經(jīng)發(fā)表。
    直到 21 世紀的今日,RMS 依舊努力不懈地耕耘著他的夢土。盡管他本人認為還尚未完全地實現(xiàn)他的「GNU 宣言」;但他執(zhí)著于理念的行動,已凝聚了相當數(shù)量的自由軟件寫作族群們,在這些人與群體的努力下,一條新的大道其實已經(jīng)被開拓出來了,她通往一個新的世 界。大道旁,枝葉已然繁茂的樹蔭下,可口果實一如禮物般地為所有的人成熟。人們稱她—— Linux.
    新世代的焦點—— Linux
    1990年代中期,因特網(wǎng)因出現(xiàn) World Wide Web , HTML 這種新型態(tài)的應(yīng)用,而開始迅速的延燒全世界。一夕間,架設(shè)因特網(wǎng)主機的需求激增。這時有一套可以免費取得,并且能讓 x86計算機升格成 UNIX 級主機的免費操作系統(tǒng),開始了吸引全世界目光。在傳媒與計算機工程師們的競相走告下成為了這個新世代的焦點,這個新的名字就是 Linux.
    Linus Benedict Torvalds 當然,這套媒體吹捧的當紅炸子雞,可非一人之功,一夕即成的。Linux 是一套版權(quán)徹徹底底與 AT&T 無關(guān)的 UNIX-like OS.原始核心程序的創(chuàng)作者是芬蘭籍的 Linus Benedict Torvalds(現(xiàn)今他仍舊是核心程序的維護者)。操作系統(tǒng)里大部分的系統(tǒng)工具,來自于 RMS行之多年的 GNU計劃成果,以及其它的自由軟件寫作計劃產(chǎn)生的軟件,如 X Windows、KDE 、Gnome 等窗口接口。由于構(gòu)成操作系統(tǒng)的主要部分均奉行 GPL 版權(quán),所以市面上有相當多樣的安裝套件,目前較廣為人知的有 RedHat 、Slackware 、SuSE、Debian GNU/Linux ……。也因此,這套操作系統(tǒng),可說是包含了無數(shù)字自由軟件寫作者的共同心血。
    如此的一套操作系統(tǒng)其實也就是 RMS多年來想要達成的宿愿—— "Free UNIX". 所以,RMS 本人總認為該將名稱改做"GNU/Linux".因此,也有人用 GNU/Linux來稱呼這個操作系統(tǒng)。
    Torvalds打從十歲出頭當他外公的" 鍵盤手" 開始,到了中學(xué)就已成了不折不扣的計算機迷。1990年,當他就讀赫爾辛基大學(xué)(University of Helsinki) 信息系二年級,選修一門「C 語言與 UNIX 操作系統(tǒng)」的課程,因而瘋狂地迷戀上了UNIX操作系統(tǒng)。那年正好赫爾辛基大學(xué)正好添購的一臺 VAX,安裝 Ultrix 操作系統(tǒng)。連接了 16 臺終端機供授課師生使用。有所限制的計算機資源,對一位計算機迷來說是極痛苦忍受的。
    Torvalds開始作夢想" 搞" 一套可以在自己計算機上跑的 UNIX.
    1991年 1月,Torvalds利用 "學(xué)生貸款" 加上去年的 "耶誕紅包" ,以分期付款方式買了一臺 386 DX33 個人計算機(他的第三臺計算機)。他選擇安裝的操作系統(tǒng)則是在學(xué)術(shù)界頗負盛名的 Minix[ 注5]. 在幾番奮戰(zhàn)下,就緒運作的 Minix OS 功能性卻多方面無法滿足Torvalds的需求,因而激發(fā)了他重頭來的欲念。于是 Torvalds 在他的 386 DX33 上逐步探索并撰寫出他自己的核心程序。他網(wǎng)絡(luò)上釋放的第一個版本是 1991 年 9月 17 日的 0.01 版。雖然她是個簡陋的開始,但由于 Torvalds 本人持續(xù)維護與網(wǎng)友回饋貢獻,原本一個人所撰寫的核心程序竟在不知不覺中逐漸轉(zhuǎn)化成 "虛擬團隊" 的運作模式。
    然而,一般計算機使用者,需要的是可安裝運作的操作系統(tǒng)(農(nóng)夫我習(xí)慣以" 安裝套件" 稱之),而非單一的操作系統(tǒng)核心。當時英國的曼徹斯特電算中心(Manchester Computer Center,簡稱 MCC)便根據(jù) 0.12 版核心程序制作了一套名為 MCC Imterin的安裝套件。隨后各地的安裝套件有如雨后春筍般地出現(xiàn);如美國德州 Dave Safford 的 TAMU (Texas A&M University)版、Martin Junius 的 MJ 版、Peter McDonald的 SLS(Softlanding Linux Sustem)版等非商業(yè)安裝套件的出現(xiàn)。在安裝需求日增的情況下,Linux 安裝套件創(chuàng)造出了一塊新的需求市場。這一線商機,讓非商業(yè)安裝套件的也開始出現(xiàn)在商業(yè)市場上。Slackware 大概可算是最早出現(xiàn)的商業(yè)安裝套件了。到如今,商業(yè)與非商業(yè)的安裝套件則已多得數(shù)不清了。
    隨著使用人數(shù)激增,核心程序的版本與功能也開始加速演化,但仍不失于穩(wěn)健。
    1994年 3月 13 日,核心程序 1.0正式發(fā)表。其安裝套件在功能上的整合已急起直追當時商業(yè)版的 UNIX OS. 此時的 Linux OS 已擁有數(shù)十萬名使用者。當時赫爾辛基大學(xué)還以此為由舉辦了一場名為"Linux首度正式發(fā)表會". 就在芬蘭電視臺與眾多傳媒的鄭重其事的報導(dǎo)下,Torvalds成了芬蘭人的自豪,Linux OS宛如剛誕生的" 超新星" ,閃閃發(fā)亮地展現(xiàn)在眾人眼前。
    早期的 Linux核心程序曾被 Andrew Tanenbaum 指出,過度緊密地與 x86處理器結(jié)合,所以他認為 Linux核心程序?qū)o法移植到別的處理器上。這點顯然與UNIX OS 的可移植性大不相同。當時的情況的確是如此,這或多或少與Torvalds本人受限于擁有的硬件資源有關(guān)。
    但當 Linux的使用族群拓展開來之后,便開始有人主動地將她移植到不同的平臺上。像 Dave Miller即以不下于Torvalds狂熱與學(xué)習(xí)精神將 Linux成功地移植到 SUN的 SPARC工作站上。
    此外如 Amiga、Atari 、PowerPc 、MIPS R4000也陸續(xù)見到 Linux的身影。
    這些移植嚴格地從技術(shù)的角度來看,僅能說是" 個案".但這已激發(fā) Torvalds 的興趣。
    真正撼動 Linux核心的移植是對 Alpha處理器。
    1994年 5月,在 DEC使用者協(xié)會上,Digital 的工程師 John Hall(外號Maddog) 碰上了 Torvalds ,雙方一見如故。Maddog力勸 Torvalds 將Linux 移植到 Alpha芯片上,并主動提供了一臺 Alpha 計算機供 Torvalds 研究使用。當年可說是全世界最快的 64-bits Alpha芯片是 DEC引以為豪的一項成就,其架構(gòu)與功能均優(yōu)越過同一時期的 Intel 32-bits處理器。這種技術(shù)性的挑戰(zhàn)吸引了 Torvalds 的投入。這項移植,但這對原先以 x86微處理器為寫作基礎(chǔ)的 Linux核心程序而言,實在不是一件小工程。在 Torvalds 與 DEC相關(guān)人員的將近一年奮戰(zhàn)后,Linux 核心程序脫胎換骨,成功地移植到 Alpha處理器上(與 x86處理器使用同一套程序代碼)。1995年 3月,被戲謔是 Linux'95 的1.2 版核心程序正式發(fā)表,支持Intel x86 、DEC Alpha 、SUN SPARC 、MIPS等處理器。
    1996年 6月,核心程序版本由 1.3直接躍升為 2.0版。Torvalds本人正式欽定了一只" 企鵝" 作為 Linux的標志。同時也開始支持對稱式多重處理器(Symmetric Multi-Processing,簡稱 SMP)架構(gòu)的計算機;而支持的處理器則又多了 Motorola 68k 和 PowerPc. 在自由軟件團體們的努力與計算機產(chǎn)業(yè)業(yè)界的支持投入之下,Linux 具備的功能逼近商業(yè)版 UNIX OS. 當然,Linux 要達到" 成熟" 與" 穩(wěn)定" ,實際上還有好長的一段路要走。
    時至今日,散播在全球各地的 Linux虛擬發(fā)展團體,仍舊持續(xù)地發(fā)展中。能維持到什么時候?這在將來的歷史自有答案。但至少在現(xiàn)今,一個 RMS奮斗的目標——可自由分享程序代碼的操作系統(tǒng),已可貴地呈現(xiàn)在我們的眼前。
    備注:*5 Minix是 Andrew Tanenbaum 教授為教學(xué)目的而撰寫的操作系統(tǒng)。
    在教育界可算是一套學(xué)習(xí) UNIX 基礎(chǔ)的好范本。


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351K6092622.jpg');" border="0">


    400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="window.open('/upimg/20070420/11M10351N20109221.jpg');" border="0">

    新文明世紀自由共享
    到此,這一段關(guān)于 UNIX 發(fā)展的文字,已從過去的歷史當中走回到了今日…
    … 21 世紀的今日。本文也接近尾聲了。請諸位原諒農(nóng)夫?qū)⒁詷O為自身的歷史感受,來作為本文的結(jié)語。
    閱讀與探究歷史,是農(nóng)夫個人在年輕時即有的一點小癖好。通常我無法忍受對自己喜好事物的緣由一無所知。所以我會想辦法去探究她由誰所創(chuàng)、因何而生與發(fā)展的沿革。也正因為如此,我才會為 UNIX 這個當初我沒能在英文字典上找的怪字,寫了這么一篇文字。
    然而在 UNIX 的發(fā)展過程當中,我驚訝地發(fā)現(xiàn)了一項有別于我探索 20 世紀歷史的東西。
    我相信諸君應(yīng)該清楚,20世紀是人類文明史上最為血腥殘暴的一段歲月。在其間,多數(shù)民族的上個世代所遭逢的苦難,都是空前的。哲學(xué)家柏林(Isaiah Berlin )回顧 20 世紀的感受,說了以下這樣的一段話。
    「我的一生——我一定得這么說一句——經(jīng)歷了二十世紀,卻不曾遭逢個人苦難。
    然而在我的記憶之中,它卻是西方史上最可怕的一個世紀。」
    的確,每當我閱讀 20 世紀的相關(guān)史料,我就更能加倍地感受到這份莫名的幸運。我生長在臺灣,這塊回顧其歷史僅能以" 悲土" 稱之的島上,她的苦難直至今日亦尚未完全結(jié)束。
    盡管多數(shù)年輕的一代已然淡忘,來自何方,歸往何處。
    身為一個中國人,站立在這塊似乎仍將被同胞武力相向的孤島上……我已不清楚歷史傷口會因得到同胞的愛而痊愈,還是再次因人類殘暴掠奪的天性而迸裂……
    抱歉,離題了。
    我想說的是,在 20 世紀未的因特網(wǎng)時代中,我感受到了令人喜悅地,根源于心、跨越既有疆界藩籬的自由共享文明。這相較于 20 世紀初將" 戰(zhàn)爭" 視作為文明象征的人類而言,實屬無價可貴的進展。即使這文明仍僅是剛播下的種子。
    但我相信,她將如貝聿銘所言:
    「你永無法明確知道你已播種的東西何時可以收割;或許只有一次收成,或許可重復(fù)收成。你也許遺忘曾播種了些什么,一種經(jīng)驗,一種感受,與某人的關(guān)系,抑或一種哲學(xué)及一項傳統(tǒng)。然后,忽然間就開花了,被全然不同的環(huán)境所喚醒。這種盛開可以沖破藩籬及整個時代。」
    多希望親眼看到,幾個世代后的某日,人類彼此掠奪的行為如天花一般地在人類社會中絕跡;而,共享已成為人類整體奉行的道德公理。如果這樣的一個社會是我們今日所企求的;那么,這個方向與希望,就值得你我花一生的精力去努力。
    當然,這僅只是一個個人的希望,我也清楚這世間并非如此美好。但,如果因假設(shè)一件事物不可能做到,而決定不去做;那是假設(shè)得到勝利,而非真實的事實。
    或許過去的歷史,曾經(jīng)證實正義、公理、平等與理想的勝利,不過是短暫的曇花一現(xiàn);那又如何。只要我們不放棄希望,希望就有機會成為真實。今日,所有的美好均因此得來,明日也是。
    這幾年來,我已看到不少因特網(wǎng)上諸君們的努力。我也相信這嶄新文明的種子,有朝一日將展現(xiàn)出令人贊嘆、愉悅的美景。未來存在我們尚未發(fā)現(xiàn)的國度。
    我相信,我們能發(fā)現(xiàn)未曾走過的通道,打開不曾打開的門,進入玫瑰園中……那會是一個嶄新的文明。


    摘自:http://www.oklinux.cn/html/other/unix/20070421/21330.html

    posted on 2009-11-15 15:56 石頭@ 閱讀(2141) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 色婷婷亚洲一区二区三区| 亚洲人成7777影视在线观看| 色窝窝亚洲av网| 永久免费AV无码网站在线观看| 亚洲人成片在线观看| 美女视频黄的全免费视频网站| 亚洲熟妇无码爱v在线观看| 99精品一区二区免费视频| 亚洲va在线va天堂va888www| 久艹视频在线免费观看| 久久久久亚洲av无码专区导航| 6080午夜一级毛片免费看| 91亚洲精品麻豆| 四虎免费大片aⅴ入口| 污网站在线免费观看| 亚洲国产三级在线观看| 污污网站18禁在线永久免费观看| 亚洲天堂中文字幕| 日本精品人妻无码免费大全| 亚洲а∨精品天堂在线| 亚洲日韩中文字幕日韩在线| a级毛片毛片免费观看久潮| 亚洲第一二三四区| 国产精品无码一区二区三区免费| 一级毛片a免费播放王色| 亚洲av午夜福利精品一区| 曰曰鲁夜夜免费播放视频| 性色av极品无码专区亚洲| 综合亚洲伊人午夜网| 足恋玩丝袜脚视频免费网站| 亚洲AV成人精品日韩一区| 国产精品V亚洲精品V日韩精品| 99爱免费观看视频在线| 亚洲a∨无码一区二区| 久久久青草青青亚洲国产免观| 久草视频在线免费| 日韩在线观看免费完整版视频| 亚洲av激情无码专区在线播放| 巨胸喷奶水视频www网免费| 国产在线播放线91免费| 亚洲精品456人成在线|