網路農夫 --  Home 網路農夫 --  Home
網路農夫 --  Home
wait.....

1-1-7 UNIX 與 DARPA 交會

1970年代末,美國國防部先進研究計劃機構(Defense Advanced Research Projects Agency -- 簡稱 DARPA)正在為 AI(Artificial Intelligence), VLSI 及計算機視覺等研究(vision research)找尋一個可共通作業的電腦環境。硬體方面的首選是迪吉多的 VAX 主機。配合的作業系統是 VMS。這樣的組合因擁有相當接近 DARPA 需求的功能被列入優先的考量,但在 DARPA 與 DEC 商談對於 VMS 的支援事宜之後,DARPA 並沒有得到滿意的答案。這迫使他們考慮朝向 UNIX 發展。但當時 UNIX OS(指的就是32V) 搭配 VAX,最大的缺憾就是沒有支援虛擬記憶體;但此時已經有人克服了。

 

在 1979 年末,Bob Fabry 教授寫了一份建議書給 DARPA,建議他們以伯克萊支援虛擬記憶體的 3BSD 為基礎,發展成為計畫所需。這份企劃書引發了 DARPA 的高度興趣。之後 3BSD 也實際獲得了 DARPA 相關計畫的成員們的良好風評,也因此最後柏克萊大學打敗了卡奈基梅隆大學與 BBN(Bolt Baranek & Newman, Inc.),讓 Bob Fabry 成功地獲得了 DARPA 的資助合約。這份合約開始於 1980 年 4 月,為期 18 月。此後的 DARPA 便以 UNIX OS 為標準作業系統。Bob Fabry 教授在取得 DARPA 合約後,依約成立了一個支援機構,也就是 Computer Systems Research Group 簡稱 CSRG。Bob Fabry 找上了 Bill Joy 來負責軟體發展。Joy 迅速地以先前的 3BSD 為基礎,整合新的功能。如 Job Control(作者是 Jim Kulp)、auto reboot、1K block file system。同時也整合入 Pascal compiler、Franz Lisp system、enhanced mail handling system。這就是在 1980 年所發表的 4BSD。沒多久她便被安裝在將近 500 台 VAX 上。

DARPA 採用了這個版本作為當時 DARPA 的標準 UNIX 作業系統。

樹大招風,當時,有位在 Stanford Research Institute 的仁兄叫 David Kashtan,寫了一份關於 VMS 與 BSD UNIX 在 VAX 上的執行效率評估。該份報告指出 BSD UNIX 在效率上不如 VMS 來的好。Joy 知道這件事之後,花了不到一個星期的時間,重新調整 UNIX kernal。然後也寫了一份報告,證明他們的 BSD 在 VAX 上要比 VMS 優越多多。1981年 6月,這個 Joy 調整過的系統,加上了 Robert Elz 寫的 auto configuration,以 4.1BSD 的版本發表了。

 

當時的 DARPA 對伯克萊 4.1BSD 的表現相當滿意,於是續簽了兩年的新約,金額更是先前合約的 5 倍。其中有一半的金額用在資助伯克萊繼續發展 BSD UNIX 。錢多的相對代價就是要求高。當時,DARPA 對 UNIX 的期望開出了明確的目標;更迅速、更有效率的檔案系統、支援程序可執行位址達 multi-gigabyte、提供彈性的解譯溝通能力、具整合支援網路能力。在此同時,為了達到計畫的目標,DARPA 成立的一個指導委員會;主要的成員有伯克萊的 Bob Fabry, Bill Joy, Sam Leffler、BBN 公司的 Alan Nemeth and Rob Gurwitz、貝爾實驗室的 Dennis Ritchie、史丹佛大學的 Keith Lantz、卡內基.梅倫大學 Rick Rashid、麻省理工學院 Bert Halstead、資訊科學協會 Dan Lynch、DARPA 的 Duane Adams and Bob Baker 以及加州.洛杉磯大學的 Jerry Popek。

 

不久,Joy 便開始整合早先 BBN 的 Rob Gurwitz 所發表的 TCP/IP protocols,不過他對 BBN 這些程式的執行效率並不滿意,於是 Joy 與 Sam Leffler 重新寫的一版自己的程式。另外,並加入了一些支援網路的工具 rcp, rsh, rlogin, rwho。他們稱她為 4.1aBSD,這個版本並沒有正式發表,在 1982年 4 月開始供內部使用。雖是如此,在 4.2BSD 未正式發表之前,她還是繁殖的到處都是。6 月,4.1aBSD kernal 加上了新完成的檔案系統,版本更新為 4.1bBSD。

rcp, rsh, rlogin, rwho 這群指令。因安全機制上的理由,逐漸被另一群新的指令群所取代,新的指令群叫 SSH (Secure Shell)。如果你想知道更多關於SSH的相關訊息,請按這裡

1982 年的春季末,早就厭倦了在柏克萊環境的 Bill Joy ,受邀加入當年剛創辦的 Sun Microsystems, Inc.,成為 SUN 的第四號創辦人。那年的整個夏季他就在兩地奔走。之後他對修改中的彈性解譯溝通機制及改寫 UNIX kernal 到一個段落之後,由 Leffler 接手了他的工作。由於合約期限的因素,Leffler 在 1983 年 4 月發表了 4.1cBSD ,提供給參予 DARPA 各項相關計畫的成員試用。6月,DARPA 的指導委員會第二次會議招開,驗收與檢討最新版的 BSD 成果。繼續整合 UNIX 系統的 Leffler,在 1983 年 8 月,發表了 4.2BSD。她達到了 DARPA 的預定的需求;足以應付 CAD/CAM 影像處理與 AI 研究的高速的檔案系統及擴展強化的虛擬記憶體功能;提供能分散處理的解譯溝通機制;支援 56-Kbit 速度的 ARPA Internet 網路連結,以及 10-Mbit/s Ethernet 的區域網路;還有經過重組架構已模組化的 kernal code ,提供更有效率的電腦平台移植。

SUN 以生產 RISC 架構的工作站電腦為主,使用的正是以 BSD 為基礎所的 UNIX OS。在當時以不遜色於大型電腦的多人多工、具網路溝通功能的 UNIX OS、加上價格低廉的硬體(相對於 mini 級電腦而言),廣獲得工程界的青睞,而 mini 級大電腦的命運自此注定開始逐漸式微。電腦軟體的應用因為有了網路於是也開始朝向 Client-Server 的架構發展。

1982 年,SUN 有了自己的作業系統 -- SUN OS 1.0 -- 承襲自 4.1BSD。一直到 1982 年,SUN 才向 System V 靠攏,並將作業系統的名稱改為 Solaris 發表在商業有所成就的 SUN Microsystems 對 UNIX 的發展倒也做出了一項重大的貢獻;如 1984 年發表的 NFS(Network File System)與其後在 1986 年發表的 PC-NFS。

 

版本:Beta-2001-05 -- 網路農夫