farmer-logo cshell-logo.gif (19625 bytes)
ch-1.gif (10175 bytes)
main-b.gif (271 bytes)

 

 

1-1-6 多元發展的開始 -- BSD UNIX

1977 年,位於美國加州的柏克萊大學(U.C. Berkeley)初期以貝爾實驗室的 v6 為藍本發展了屬於自己的版本,Berkeley Software Distribuations 在這個版本中加入了自己開發的 Pascal 編譯器,這就是 1BSD,當時安裝在 PDP-11 上面執行。

1978 年,C shell 便被整合到 2BSD 的版本中。由於當時 VAX'en 的機器出現,柏克萊也開始將 2BSD 轉移到 VAX'en 電腦上使用,完成成功轉移的版本也就是 3BSD。而在 DEC PDP-11 系列的電腦上跑的 BSD 版本仍停留在 2BSD。由於長壽的 PDP-11 電腦,2BSD 後來有經歷過幾次改版,但始終以 2.X BSD 做為版本識別。1987 年發展至 2.10 BSD,該版本以 4.3 BSD 為主架構改寫而成。

在 3BSD 版本中加入貝爾實驗室 32V 所發展的 virtual memory 功能,同時也加入了 demand paging 和 page replacement,如此使得 3BSD 作業系統的虛擬記憶體空間得以處理非常大的程式。此項功能的強化,引起美國國防部先進研究計劃機構(Defense Advanced Research Projects Agency-DARPA)的特別注意及支持。1979年前後,UNIX 宗師 Ken Thompson 剛好也在 Berkeley 教授作業系統的相關課程,Bill Joy 這位開發 vi 指令以及 C shell 的宗師便坐在堂下。Ken Thompson 在校期間,和學生一起動手將 UNIX 移植到一台PDP-11/70 的機器上。或許是有此段 Ken Thompson 與柏克萊因緣際會的緣故,間接的造就了不少柏克萊學生參與了 UNIX 開發的計畫中。

Bill Joy在 BSD UNIX 中登場的重要功能當中,有一個直到今日仍然叫人又愛又恨的指令 – vi。我接觸過不少學習 UNIX OS 的人,大部分的人對 vi 的使用與掌握都不算順手,其中恨死這個指令的也大有人在(看官你屬於何者?)。農夫我本人倒是愛死了這個指令。農夫我是先接觸 UNIX 後三年才再開始學習使用 DOS 與 Windows 3.0。記得當時,在 DOS 之下,我是使用 vi 來做為文字編輯的工具,原因是我覺得 DOS 的 edit 功能相當少的緣故。我實在搞不懂,為什麼那麼好的 vi 卻令這麼多人無法接受。Bill Joy 本人也曾經對此現象表示過意見,他說他實在不知道 vi 這個指令影響會如此深遠(讓一部份人對 UNIX OS 恨之入骨),各位目前所使用的 vi,實際上只是他當初寫的一部份,還有一部份程式由於磁帶意外毀損,所以 vi 才會落得今天毀譽參半的兩極化下場。

1980年,柏克萊發表的 4.0BSD,不但獲得 DARPA 的採用,更被 DARPA 認定為其所認定的標準 UNIX 系統。不久,4.1BSD 推出並加入了 job control、autoconfiguration 與 long C identifiers。1983年4.2BSD加入了一項重大的功能,也就是 DARPA 的一項影響今日深遠偉大計劃 --TCP/IP。這是 UNIX 發展歷程中非常重要的里程碑,它同時也開始影響整個電腦工業的發展與應用。最明顯與成功的代表是成立於 1982 年的 SUN Microsystems,該公司主要生產個人工作站,使用的正是以 BSD 為基礎所的 UNIX OS – SUN OS。不遜色於當時大型電腦的多人多工、具網路溝通功能的 UNIX OS、加上價格低廉的硬體(相對於 mini 級電腦而言),開始獲得工程界的青睞,而 mini 級大電腦的命運自此注定開始逐漸式微。電腦軟體的應用因為有了網路於是也開始朝向 Client-Server 的架構發展。在商業有所成就的 SUN Microsystems 對 UNIX 的發展倒也做出了一項重大的貢獻,就是在 1984 年發表的NFS(Network File System)與其後在1986年發表的 PC-NFS。

 

(待續...)


mail.gif (2925 bytes)

b-line.gif (2092 bytes)