史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-03-06, 05:24 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Unix演義 

UNIX演義(一)
"One half of the world must sweat and goarn that
the other half may dream."
----Henry Wadworth Longfellow
UNIX的歷史展現了許多關於UNIX哲學的內容。從她為什麼流行至今,到她為什麼有
如此古怪的許可證制度,我們沿著UNIX走向成熟的道路講述這段歷史,研究UNIX
哲學及其演變過程。

1.1 創世之初
我們先談談UNIX的創世之初,有兩點需要牢牢把握:
1) 雖然UNIX的許多部分和其實現過程是創造性的,但其幾個重要的思想都可以追溯
到早期的操作系統發展,並且
2) 如果不是Ken Thompson,如果不是他心靈手巧,擅長擺弄當時那些身邊觸手可及
的工具,UNIX是不可能被寫出來的。
那是1968年,Ken Thompson和同在貝爾實驗室電腦研究小組的同事們一起進行關
於MULTICS項目的研究工作。MULTICS是一個誤入歧途而又輝煌燦爛的計算系統。她提
供了非常複雜的功能,同時消耗大量的計算資源。她太大而且太慢,研究人員們不
得不一開始就縮減其初始設,進行簡化實現。
儘管如此,幾個可工作的MULTICS實現還是完成了,提供了非常好的計算環境。在貝
爾實驗室的那個是在一台模擬GE635的GE645上完成的。系統提供分時服務,但她主
要是面向批次處理的,其環境笨拙且不友好。Ken和他的夥伴們(特別是Dennis Ritchie
和Joseph Ossanna)不想放棄MULTICS提供的舒適環境,於是他們開始向AT&T的管理
部門遊說,希望能獲得一個交互式平台,諸如DEC-10,並在其上建造他們自己的操
作系統。
DEC-10是DEC公司(Digtal Equipment Corp.)推出的一系列機種的一種。該機有一個
非常靈活的交互式分時系統。很不幸,與那個時代的許多分時平台一樣,DEC-10非
常昂貴。
我們應該慶幸,Ken的請求被拒絕了。這樣的情性又發生了幾次,這對Ken來說是太
不幸了。由於MULTICS的失敗,AT&T管理當局被Ken的計劃打動,他們也沒有興趣來
投資另一個僅僅是在不同的硬體上設計一個看起來與MULTICS一樣的操作系統。
與此同時,Ken對一個成為星際旅行的遊戲非常有興趣。該程序模擬太陽系的幾個主
要的星體和一艘可在不同對方著陸的飛船。Ken將其安裝在GE系統上,GE系統忽快忽
慢的回應時間是Ken大為失望。而且根據後來Dennis的說法,在GE系統上執行一次該
遊戲需要75美元,太貴了。Ken和Dennis後來找到了現在非常有名的"little-used
PDP-7 sitting in a corner",他們用GE系統產生了可在該機器執行的程序代碼
UNIX演義(二)
1.2 創世
有了星際旅行,Ken有了正當的理由去實現他曾在MULTICS計劃中設計和模擬的理論
上的檔案系統。很自然,一台有用的機器需要的不僅僅是一個檔案系統。Ken和他
的朋友還完成了第一個命令解釋器(或Shell)和一些簡單的檔案處理工具。開始時,
他們用GE系統來為PDP-7進行交叉編譯。很快,他們寫好了彙編器(assembler),系
統已經開始自支持了。
這時的系統已經有了象UNIX了(如用fork()來支持多任務)。檔案系統與現在的檔案
系統相對相似。它使用i-節點,而且有特殊的檔案類型來支持目錄和設備。那台
PDP-7可同時支持二個用戶。
MULTICS其實是代表"MULTiplexed Information and Computing System"。1970年,
Brian Kernighan開玩笑稱Ken的系統為"UNICS",代表"UNiplexed Information
and Computinig System",畢竟與Ken的系統相比,MULTICS過於龐大了。(某些人
稱MULTICS代表"Many Unnecessarily Large Tables In Core Simultaneously"
而UNIX則是裁剪了的MULTICS。不久,UNICS變成了UNIX而且被流傳下來。
電腦研究小組並不對PDP-7十分滿意。其一是它是借來的一台機器,更主要的是它
能力有限,不太可能提供計算服務。於是小組再次提交申請,這回是一台PDP-11/20
來研究文字處理。該申請與前一次的顯著的區別是PDP-10的價格只是DEC-10的鳳毛
麟角。由於這次的申請十分具體,一個文字處理系統,AT&T的管理當局寬巨集大量為他
們購買了PDP-11。
1970年UNIX被移植到PDP-11/20上。那可不是一件輕而易舉的事,整個系統全是用
彙編寫的啊!小組又將彙編寫的roff(又稱為runoff,troff的前身)從PDP-7移植到
PDP-11上。再加上一個編輯器就足以稱為一個文字處理系統了。
與此同時,貝爾實驗室的專利局正在尋找一個文字處理系統。他們選擇了電腦研究
小組的基於UNIX系統的PDP-11/20。貝爾實驗室專利局成了UNIX的首家商業用戶。
這第一個系統有幾點是很值得注意的。跑UNIX的PDP-11/20沒有存儲保護。它僅有
一個0.5Mb的磁碟。它支持同時三個用戶,分別完成編輯,排版,再加上電腦研究
小組進行進一步的UNIX開發。該系統的手冊被標為"First Edition",日期為1971年
11月。
現在都習慣在手冊的版本後註明發行號。這樣可能更清楚些,editions也可稱為
versions,他們是一個意思。例如,Version 7和7th Edition是一回事。
第二版於1972年發行,增添了管道的功能。該版本還加上了除彙編之外的編程語言支
持。特別值得一提的是Ken曾試圖用NB語言來重寫核心。
NB是由B語言(由Ken和Dennis設計)修改而來的。B語言的前身是BCPL,BCPL(Basic
CPL)是Martin Richards於1967年在劍橋設計的。CPL(Combined Programming
Language)則是1963年倫敦大學和劍橋大學的合作項目。而CPL則頗受Algol60(1960
設計)的設計思想影響。
所有這些語言在控制結構上都和C語言相似,不過B和BCPL都是"無類型"的語言(儘管
有點用詞不當),它們只支持按"字"來訪問記憶體。NB演化為C,而C則很快稱為新的
工具和應用的首選語言。
參與MULTICS(MULTICS用PL/I書寫)的經驗告訴Ken和Dennis,用高階語言來寫系統是
合算的。由此,他們一直試圖完成它。1973年,C語言加入了結構和全局變量。與此
同時,Ken和Dennis成功地用C重寫了UNIX核心。Shell也被重寫了。這增加系統的魯
棒性,也使編程和調試變得容易了很多。
那時,大約有25個UNIX系統。在貝爾實驗室內部成立了UNIX系統小組來進行內部維護
工作。幾家大學都和貝爾實驗室簽定協議,獲得了第四版的拷貝。協議主要是不洩露
源碼,在那時還沒有許可證這回事。Ken自己錄製磁帶,不收任何費用。第一卷磁帶
由在紐約的哥倫比亞大學獲得。
1974年,Ken和Dennis在Communications of the ACM上發表了論文介紹UNIX系統。
那時,Communications是電腦科學的主要刊物,那篇文章在學術界引起了廣泛的興
趣。第五版正式以"僅用於教育目的"的方式向各大學提供。價格也只是名義上夠磁帶
和手冊的費用。第五版在許多大學用作教學。
這時Ken和Dennis仍在積極地投入UNIX的研究;然而,他們繼續避免提供支持的承諾。
他們的小組被稱為"Research"(或在貝爾實驗室內部稱為"1127")。他們的機器被命名
為research。你可以通過uucp向他們發送bug報告,打電話詢問他們,甚至進他們的
辦公室和他們一起討論UNIX的問題。通常他們總能在其後的若干天內解決bug。
與research的在貝爾實驗室的另一個小組被稱為PWB,Programmer's Workbench。由
Rudd Canaday領導的PWB小組支持一個用於大型軟體開發的UNIX版本。PWB試圖向那些
並不對UNIX研究感興趣的用戶通過服務。他們做了大量的工作來強化了UNIX的核心,
包括支持更多的用戶。PWB的兩個非常有用的計劃分別是SCCS(源碼控制系統)和RJE
(使用UNIX作為實驗室其它主機的前段)。PWB最終註冊為PWB/UNIX1.0。
UNIX替代了越來越多的PDP-11上的DEC公司的操作系統。儘管UNIX不被支持,但她的
魅力遠勝於她的問題而吸引了許多的用戶。除了系統本身的許多優點外,源碼是可以
獲得的,而且系統從整體上也是易於理解的。進行修改和擴充很容易。這使得UNIX與
其同類的其它操作系統大不一樣。
1975年,第六版UNIX系統發行了。這是第一個在貝爾實驗室外廣為流傳的UNIX系統。
AT&T(通過West Electric Co.)開始向商業和政府用戶提供許可證。
Mike Lesk發行了他的可移植C語言庫。該庫提供了可在任何支持C語言的機器上進行
I/O的庫例程。這是用C書寫可移植代碼的重要的一步。Dennis後來重寫了該庫並稱其
為標準I/O庫(即所謂stdio)。
UNIX用戶們首次在紐約市進行會晤,有紐約城市大學的Mel Ferentz作東。當時有40人
參加。從此以後該會議每兩年舉行一次,會議是極不正式的。如果你想進行演講,你
就舉手,並且講就行了。這些會議是極好的交流bugs報告,修改和軟體的方式。每個人
都帶上兩卷磁帶參加會議,一卷是給別人的,一卷是用來錄製新東西的。
Ferentz創辦了一個稱為UNIX News的實事通訊(newsletter)的服務,免費為用戶發送消
息。後來冒出一個來自貝爾的傢伙告知他不能使用UNIX的名字,於是他把它改名為
;login。隨著越來越多的人想要實事通訊的服務,Ferentz不堪免費提供這些服務了。
於是創立一個組織來處理這些費用,它被稱為USENIX。USENIX很快負起了其它的義務,
包括組織會議和軟體的分佈。
遠在澳大利亞的新南威爾士大學,John Lions正在為操作系統課程準備教程。課程的
目的是UNIX實例研究,課程的筆記被出版為"A Commentary on the UNIX Operating
System"。筆記中包括了加上了Lion's註釋的整個V6 UNIX核心。基本上每一行都被解釋
了(包括那些被註明"無需理解(not expected to understand)的代碼行")。
由於引用了大量的源碼,該書的出版許可最終被撤回了。但因其已經銷售,UNIX因此比
以往更易於獲得。
1977年,Interactive Systems公司稱為首家向最終用戶出售UNIX的公司。UNIX終於成了
產品。
在同一時期有三個小組將UNIX移植到不同的機器上。Steve Johnson和Dennis Ritchie
將UNIX移植到一台Interdata 8/32機器上。澳大利亞的Wollongong大學的
Richard Miller和同事們將UNIX移植到一台Interdata 7/31上。Tom Lyon和其在普林斯
頓(Princeton)的助手們完成了到VM/370的移植。
每次移植都干的十分漂亮。具體點,所有這三台機器都與PDP-11有顯著的差異。事實上
,這正是問題之所在。許多操作系統都沒有被設計為能在多種機器上跑。類似地,許多
機器又為了某種特定的操作系統而設計。例如,如果硬體能完成行程之間的保護,操作
系統利用這功能就很有意義了。
隨著廠家提供帶有附加選項的硬體,操作系統被寫成理解這些硬體的。它們為了利用這
些特殊的硬體大多是用彙編來寫的。
Dennis和Ken的最大的突破在於他們清楚的認識到在效率和效用之間存在著折衷。如果你
能避免白手起家而完成移植的工作而且並不犧牲太多的性能,那麼這是值得的。作這樣
的決定並不困難,遠在他們用C重寫UNIX核心時他們已成功地使用類似的思想。如果用匯
編寫,UNIX可能會更快和更小,但系統變得如此的易於修改,理解和移植,犧牲速度和
記憶體是值得的。
UNIX很快被移植到其它類型的PDP-11上。每個都有些很有趣的功能且不斷地加大了UNIX
可支持硬體的複雜度(這些功能包括浮點處理器,可寫微碼,記憶體管理和保護,分離的
命令和資料空間等等)。
然而,PDP-11系列很明顯地都是基於16位地址空間的,所有的程序都實現於64Kb的大小。
很滑稽的是這到促進了小程序的編寫。有了支持合作行程的管道以及exec()之後,通過
它們將幾個小的應用連接一個大的應用。這是UNIX編程的一個特點,也許我們要感謝
PDP-11有限的地址空間。
UNIX被移植到IBM的Series1小型機上(儘管有人認為這好比是將物質與反物質結合在一起
)。Series1有與PDP-11相同的字大小,但它的字節是顛倒的。因此當系統初次啟動時它
列印出來的是"NUXI"而不是"UNIX"。從那時起,"NUXI"問題就成了字節順序問題的代名詞。
1977年,加利福尼亞伯克利分校(the University of California, Berkeley)的電腦
科學系開始發行他們的Pascal解釋器。其中還包括了一些新的設備驅動程式,對核心的
修改,ex編輯器,和一個比V6的Shell更好用的Shell("Pascal Shell")。這就是所謂的
1BSD(1st Berkeley Software Distribution)。


UNIX演義(三)
1.3 思想
今天與UNIX相關的特地從那之後就大部分全有了。我們已談過了她的可移植性。其它的
值得吹吹的特點有:1)一致的檔案,設備和行程間I/O,2)啟動異步行程的能力,3)用
其它Shell來替代預設值Shell的能力,和4)層次化的檔案系統。
還有些特點一樣使UNIX流行,下述特點被普遍認為是絕對不容爭辯的。使人驚訝的是,
70年代的許多系統並不是沒有這些特點,但80年代的許多系統卻拋棄了這些特點(諸如
IBM的CMS系統的flat檔案系統)。
值得一提的特點是:
1) 命令和庫的一致性。這使得堆積木的方法變得非常容易。因為程序員必須假設自己
的程序的輸出是其它程序的輸入,他們不能輸出太多的空話,諸如其它系統工具中輸出
的"麻點"。UNIX中大多數程序使用標準的輸入和輸出。
庫和系統使用都似乎都提供一種做事的方法,即用最簡單的方法去解決大多數問題。
這種方法一直在核心的構造中持續,UNIX的核心小得一個程序員就可以理解整個核心。
2) 主要的檔案類型是文本。例如,/etc/passwd可以用一般的文本編輯器來編輯。在大
部分其它的系統上你不得不用一個特殊的工具來讀寫這些檔案。而在UNIX中,你有了編
輯器你就可以控制每一樣東西。
3) Shell可用來編程,它有著豐富的控制結構和參數傳遞機制。許多人不須為學C語言
而費心,因為Shell和已有的程序可以很容易的組合起來完成相同的功能。有趣的是Shell
的控制結構(如goto,test)其實都是用獨立的程序來實現的。
第六版的手冊還不到300頁,而且裝成一卷正合適。sh的說明有三頁長。
到1978底已有600多個UNIX安裝。大部分是大學和政府機關。

UNIX演義(四)
1.4 1979 - 第七版
1979年UNIX的第七版發行了。Version 7包括了一個完整的K&R C編譯器,它首次包括了
強制類型轉換,聯合和類型定義。系統還提供了一個更為複雜的Shell(稱為"sh"或
"Bourne shell",取自它的作者之一,Stephen Bourne)。系統支持更大的檔案。由於不
懈的努力移植的結果,核心更加魯棒,系統有了更多的外設驅動程式。
第七版的程序員手冊以達到了大約400頁(仍然可以很合適地裝在一卷裡)。UNIX的其它
讀物則成為了第二和第三卷,大約各有400頁。
在貝爾實驗室,John Reiser和Tom London將V7 UNIX移植到了VAX機上。這次移植稱為
UNIX32V。在某種程度上,VAX是一個大一點的PDP-11,按這樣的理解移植工作相對容易
些。為了讓UNIX快速移植和跑得快點,VAX上的特殊硬體功能(換頁)被忽略了。雖然如此,
由於VAX比PDP-11有了相當大的地址空間(4Gb),不帶換頁功能的UNIX仍舊在實驗室裡廣
為流傳,且用了好一段時間。伯克利也獲得了該版本並作為進一步研究的基礎。
Whitesmith是第一個商業C編譯器供應商。不幸的是由於在許可證問題上不夠明確,C編
譯器的庫函數不得不故意使用不相容的函數名和參數規範。之後,C語言的用戶連接頭
(函數名)被裁決為不能擁有版權,現在Whitesmith的C與UNIX相容了。





UNIX演義(五)
1.5 Politcs - 第一部分
在UNIX誕生時AT&T是一個由許多與電訊有關的公司的集合,包括Bell Telephone
Laboratories(經常稱為BTL,Bell,Bell Labs,或The Labs)和Western Electric Co.
(WECo)。由於一項早期的反托拉斯法案,AT&T被禁止參加未規範的領域的商業活動。盡
管她可以基於UNIX進行研究但她不能基於UNIX去做市場。事實上不容許進入電腦軟體
領域尚不明確,但似乎如果它有利可圖AT&T就和那個反托拉斯法案相衝突。不管怎樣,
作為商品,UNIX似乎是一個錯誤區域。很自然,管理當局是不會資助開發一個非盈利產品的。
這就是70年代Ken和Dennis所面對的情況。
處於莫雷山(Murray Hill)的貝爾實驗室是整個UNIX開發的地點,Dennis和Ken就在這工
作,他們並不關心產品開發。他們有許多新奇有趣的玩意要和他們的新Baby玩呢!然而
這一切太彆扭了,UNIX在實驗室裡如此流行,但你不能把它向外部發佈。此外,沒人對
UNIX的支持負直接責任。根據Tannenbaum所述:

BTL didn't really have a distribution policy in the early days, you
got a disk with a note:

Here's your rk05,Love,Dennis

If UNIX crapped on your rk05,you'd write to Dennis for author.

最終貝爾實驗室屈服與發佈UNIX的壓力。她制定了一個簡單的許可證策略:沒有支持,
沒有試用期,沒有擔保,沒有廣告,沒有bug修改,並且先付款。
然而大量的試用UNIX的人都在貝爾實驗室內部。為了支持這些項目,一個稱為USG(UNIX
Support Group)的UNIX支持小組創立了。不過還是很不幸,USG只容許提供支持,絕不
能開發。這樣的情況造成了,不管在貝爾實驗室內外用戶都在做自己的開發。而隨UNIX
一起獲得的源碼更刺激了這種情況。USG發行了幾個UNIX,它們中的大部分都只限實驗
室內部使用。
與此同時,PWB正在基於UNIX的另一個版本同時提供支持和開發。此外,PWB能夠既向內
部和外部同時發佈軟體。不言自明,這兩個小組之間是多麼厭倦對方。她們都認為自己
做的事是對的,而對方做的是錯的。例如,PWB的Shell與USG的不同。
另一個UNIX的版本稱為MERT(Multi Envrionment Real-Time)。MERT與虛擬機的概念十
分相似。UNIX(甚或是她的特殊版本)可以在其上執行,並且還可使用MERT的實時工具。
在實驗室外面許多許可證獲得者都選擇使用PWB/UNIX或Ken和Dennis的研究版本的UNIX,
而在實驗室內部則使用USG的UNIX,MERT或兩者都用。(事實上還有許多的版本。例如,
LSX是一個用在LSI-11微處理機上的UNIX版本。)UNIX的多樣性很是惹人煩惱。
這時的許多UNIX許可證用戶都在PDP-11上安裝了UNIX版本中的一個或將其移植到其它硬
件上。對大多數程序員來說在UNIX上工作使他們比在其它系統上感到更滿意。這是因為:

1) UNIX自帶了完整的源碼和文檔。她自支持。你與UNIX的開發者有著十分一致的環境。
你可以自己修改UNIX。
2) UNIX很小。你可以理解代碼。大多數的算法都很簡單。你修改UNIX時對自己做了什
麼很清楚。
3) 沒有什麼要避免的擔保。既然系統沒有支持你就不損失什麼。最壞時你不過就是拿
出你的備份磁帶。而最好時你能使系統更快或加一個新功能。
4) UNIX的手冊很易讀。它們只有幾百頁,而且把它們全讀了並不困難。一個人就能完
全掌握它。

幾個成為UNIX溫床的機構是:

Rand,Hardvard and BBN

蘭德(Rand)已經開發了第一個交互式分時系統並且很快就意識到了UNIX的價值。蘭德與
BBN的Walt Bilofsky簽定共同開發一個UNIX下的全螢幕編輯器。"Rand editor",這就
是第一個UNIX下的全螢幕編輯器,而且它成為第一個在實驗室外部開發而又是必不可少
的程序。你可以想當然的認為在安裝UNIX之後的第二步就是安裝Rand editor。(說實話,
Rand editor有它自己的毛病,最可惡的是它極浪費CPU和帶寬資源。)這種情況在繼續。
你裝上UNIX之後立即裝入許多其它公共領域的工具(如,GNU Emacs,RCS,Usenet),它們
都是程序員的必備之物。甚至今天,人們也是對直接從工廠裡出來的UNIX不滿意。
在寫蘭德的編譯器的那個時候蘭德和BBN都沒有UNIX系統。她們去哈佛租機時,哈佛有一
個Version 4系統。作為回報,哈佛可以使用Rand/BBN的改進軟體。後來哈佛也開始加入
自己的改進,其中的一部分又反過來融入了Version 5。例如,Brent Byer為支持PDP-11
的分離映射而加入了分離的I/D(命令/資料)空間。
BBN繼續履行合同,她後來在伯克利的UNIX開發中起了非常重要的作用。此時BBN已參加
了Arpanet計劃(Arpanet是為美國國防部(DoD)開發的網路)。BBN利用她們的經驗賦予
UNIX使用DoD協議來通訊的能力。這些工作後來在伯克利得到改進並捆綁在伯克利的軟體
發佈中。結果使用伯克利UNIX的公司都可以免費地進行網路互連。這導致了早期UNIX與
網路的親密關係。

Lawrence Berkeley Laboratory - 虛擬操作系統和軟體工具計劃

在丹尼斯山(Dennis Hill)的勞侖斯實驗室裡,Deborah Scherrer和Joe Sventek拜讀了
有Brian Kernighan和P.J.Plauger合著的軟體工具"Software Tools"一書,他們覺得次
書很有價值。他們實現了書中的所有工具,包括一個Shell。更有趣的事他們並沒有在一
台跑UNIX的機器上實現了它們。
為了可移植所有的源碼都是用Fortran66寫的,Fortran66是當時在幾乎所有的機器都能得
到的唯一語言。Fortran不適於系統編程,不久Ratfor("Retional Fortran")誕生了。
Ratfor試圖用C語言的許多特點(如,控制流結構)來改進Fortran。Ratfor被實現為一個預
處理器,輸入Ratfor代碼產生Fortran代碼。Fortran代碼可由任何Fortran編譯器來編譯。
這樣任何人都可以最小的代價在自己的機器上安裝軟體工具。
他們花了不多的時間就完成將Kernighan和Plauger的工具移植到其它幾個操作系統的任務。
同時,他們也掌握了對不同機器的抽像什麼是有效的什麼不是。在1979年,隨著軟體工具
計劃被認同,她與USENIX(最大的面向技術的用戶組)聯合舉辦了會議。他們的許多抽像都
與UNIX很相似,許多人都看好軟體工具計劃,並希望通過她來將UNIX引入他們已有的機器。
在會議之後又有許多的移植完成了,不久一份關於虛擬操作系統(VOS)的規範出台了。VOS
定義了一個軟體工具可以棲身其上的邏輯層。如果一台機器可以支持VOS它就可以支持這
些工具。儘管VOS的某些抽像在某些機器上很難實現,一個非常好的易於移植的開發環境
--軟體工具成形。
成就的一個例子就是軟體工具支持行程間的管道--甚至是許多根本不提供行程間通訊和多
任務的系統都可以。怎麼實現的呢?工具使用臨時檔案來模擬管道。並發並不是必要的。
它可由程序鏈來模擬。但最終的結果是一樣的,用戶最終得到與UNIX工具模式一樣的結果。
VOS環境非常成功,至今我們還在用。VOS將UNIX的許多好的想法或思想帶到了其它的操作
系統中。很多廠商都將VOS的一部分集成到他們自己的操作系統中。原始的VOS的源碼是公
開的。

伯克利(Berkeley)

從很早以來加州大學伯克利分校電腦科學系(又稱"伯克利"或"伯斯克利")就和UNIX打交
道。他們的許多工作就被發佈到許多其他公司。1979間Ken曾在伯克利教授操作系統。在
他逗留期間他將UNIX移植到了PDP-11/70上,這是一台可以支持多用戶的機器。他的演講
和工作促使了許多學生參加到UNIX的開發中。
在同一時期,DARPA(DoD's Advanced Research Projects Agency)正在為進行AI,VLSI和
電腦視覺的研究尋找一個通用的計算環境,減少經費和方便開發當然也是追求目標。
UNIX的小巧靈活和業已證明的可移植性使其成為一個不錯的候選對象。美中不足的是她缺
少網路、虛存和靈活的行程間通信機制。UNIX的主要競爭對手是VMS,她是由DEC公司為其
VAX系列開發的。VAX被認為是無可挑剔的,它是首款超級小型機,它提供對VMS虛存的支
持。
PDP-11系列在學術界是極受推崇的,許多人對DEC非常滿意。然而VMS有不少缺點。DARPA
及其關注DEC公司是否能為他們提出的改動負責。畢竟那是個專用系統。最後他們選中了
UNIX。
DARPA尋求某個公司為進行他們的UNIX開發計劃。除了伯克利,CMU(卡耐基梅隆大學)和
BBN公司也是重點考慮的對象。那時伯克利的Bill Joy已在為支持VAX上的換頁機制而修改
核心了。伯克利最終成為主要的實現公司,同時貝爾實驗室,CMU,MIT,Stanford和BBN
的代表組成DARPA指導委員會統觀整個開發計劃。這些機構的工作對伯克利的UNIX設計是
非常之重要的。
貝爾實驗室答應伯克利,如果客戶有從貝爾實驗室得到的源碼許可證,伯克利就可向他們
分佈伯克利的源碼。也就是說,如果你想獲得伯克利的發佈,你必須從貝爾實驗室獲得相
應的源碼許可證。由於貝爾實驗室有一大捆發佈,為了獲得相應的伯克利發佈許可證不得
不更換好幾次。
起先,伯克利並不重寫UNIX,他們僅在一個稱為32V的版本上做些功能的改動和增強。32V
是32位VAX上的UNIX。移植工作是有貝爾實驗室的研究人員完成的。為簡單起見,他們只
把VAX當作一台大的PDP-11來看,忽略了被稱為"虛存"的機制。伯克利的研究人員不久就將
虛存加入到UNIX中,該系統稱為3BSD(和1980年的4BSD)。VAX可以使程序訪問多達1Gb的地
址空間,而物理存儲才僅1Mb。
虛存對用戶來說是無法抗拒。由於32V不支持虛存,貝爾實驗室外的用戶均採用伯克利的
UNIX。憑借這一系統伯克利的擴充廣為人知,且被認為是UNIX的一個里程碑。特別值得一
提的是,C Shell,curses,termcap,vi和作業控制又被Version 7(以及後來的System
III)融入,現在在非純貝爾實驗室的發佈中不難找到這些功能。這些程序被稱為伯克利
擴充,如"我們的系統執行System III外加伯克利擴充。"更新一些的伯克利擴充(來自
4.2BSD)包括網路(DARPA Internet)支持和自動核心配置。
伯克利向UNIX中加入了許多很有用的東西,但有一件他們不可能完成的是提供支持。大學
並不想步入商界並向客戶提供支持。這畢竟只是一個研究性項目(由納稅人的錢提供基金)。
向Dennis的友善的rk05s標注一樣,早期的伯克利磁帶也有Bill Joy的一句提示:"這是一
盒裝滿了二進制位的磁帶,"暗示不提供任何擔保並且所以的抱怨將被定向到/dev/null。
可事實上,伯克利的研究人員對修改Bug相當負責。他們通過電子郵件來維護一個Bug清單。
他們修改了無數Bug並將其他人的修改也融入了他們的代碼。最後成立了一家公司來通過
對伯克利發佈的支持,她稱為Mt. Xinu。他們的口號是,"We know UNIX forwards and
backwards",它就是公司名稱的來歷,"UNIX(tm)"倒過來就是"Xt. Xinu。"
儘管不同的BSD版本有著明顯的差異,但他們的軟體發行一直被稱為"4.x BSD"。如果不是
大學當局強制要求向所以"客戶"重新發放許可證,BSD一定會重新標注4.2為5.0的。但既然
如此,BSD的代碼包括了新版的AT&T的軟體,BSD就不得不這樣做了。
儘管AT&T最新的幾個版本有明顯的變化,但AT&T似乎也一直沿用"System V"。AT&T大概花
了太多的錢來說:"UNIX System V。從AT&T開始,從現在開始,把她當作標準吧。"換個
名字似乎是沒有意義的事。AT&T將推出她的新的"主打"版本(即UNIX System V Release
4.0)。

DEC(Digital Equipment Corporation,數位設備公司)

DEC一直處於非常尷尬的位置。所有的早期UNIX用戶都在DEC的硬體平台(PDP-11和VAX)上
執行UNIX。然而DEC並不對UNIX提供支持。這對於硬體類的bug來說是個非常嚴重的問題。
常常都是DEC的檢測程序和DEC自己的操作系統執行正常,但UNIX卻不能。你得靠自己。
不管怎樣DEC內部總有一夥人對UNIX感興趣。而且這一情況越來越明顯,即UNIX在利潤報告
和損失估計中越來越不可忽略。至少有一件事用戶是滿意的,UNIX給用戶選擇軟體和外設的
很大自由。DEC的系統則強制你必須使用為DEC設計的軟體和終端。相對而言,UNIX的限制更
少一些。
當UNIX被移植到其他機器時,DEC受了最後一擊。她認識到,如果可以選擇的話,用戶寧願
買可以跑他們感興趣的操作系統的機器。DEC現在全面對UNIX(在市場上稱為ULTRIX)提供支持
。但DEC更願意用戶選擇他們的專有操作系統,VMS,它被鎖定在DEC的硬體上。DEC並不希望
拒絕大量的UNIX用戶對DEC的硬體感興趣。
截至1986年,在DEC的硬體上大約有6000個DEC ULTRIX的許可證,14,000 4.x BSD的許可證和
20,000 AT&T System V的許可證。從此DEC對不管是新舊機器都提供UNIX支持。有趣的是,
AT&T不在對基於DEC硬體的UNIX提供支持。

其他

除了上述這些公司之外,許多大學和研究機構都獨創了許多的UNIX應用和擴展。這些座落在
加拿大,澳大利亞,新西蘭,歐洲和全美國的機構發行他們自己的版本或發行帶有自己改進
的伯克利或AT&T版本。某些變化得太大了,以至於不能在稱為UNIX了。UNIX被極大地豐富了。
許多公司並沒興趣發佈自己的軟體。他們將自己的改動寄給伯克利(而伯克利似乎來者不拒)。
由此伯克利無意間享受了這些榮譽。



UNIX演義(六)
1.6 Politics - 第二部分
UNIX的源碼被視為商業秘密. 如果你不簽定許可證就使用UNIX的源碼, UNIX就不再是什麼
商業秘密了, 你也就可以無視AT&T的皇權而發售UNIX了(當然, 你可能要付給你的律師比
簽許可證更多的錢來打贏官司). AT&T警惕地保護著UNIX的源碼, 使它保持商業秘密的狀態.
不過AT&T已經比僅是UNIX作為教育目的走得更遠了. 用於教育目的的許可證非常便宜, 學
生不必簽許可證和不在乎協議就可以閱讀源碼. 雖然如此, 作為鑒定許可證的一方, 如果
某人"unauthorized use or distribution of the code, methods, and concepts
contained in or derived fromt the UNIX product", 你和你的公司將為此而負法律責任.
哦, UNIX的手冊也在其列.
AT&T的位置很古怪, 她雖然不是軟體商但卻發行軟體許可證. 不用問, 這許可證與其他許
可證是不同的. 早期的許可證是由Western Electric Co.發行的, AT&T的許可證發行部門
就座落在那. 現在, 許可證由AT&T直接發行.
早期的許可證是源碼許可證. 你可以得到所有的為不同的PDP-11而設計的完整源碼. 對商
業機構的價格是$20,000. 如果你有不只一台機器, 你必須為每台機器再購買binary許可證.
如果你不能再把他們發售的話, $8,000可是相當昂貴的. 相反, 教育機構只需付幾百美元
就可買下源碼許可證, 這筆錢僅夠貝爾實驗室支付管理費用和購買磁帶.
在這一點上, UNIX被稱為"as is". 簡便AT&T發行binary許可證, 他們也不自己發售它. 某
家公司想執行UNIX就必須購買至少一份源碼許可證並且找一些專家. 許多公司和顧問冒出
來填補這一空缺. 第一家對UNIX提供商業支持的是於1977年成立的Interactive Systems
Corp. 她的產品稱為IS/1, 執行在PDP-11系列上(當然應該是它).
在1980年, AT&T最終發行了distribution binary許可證. 根據此許可證生產的二進制代碼
可由開發商向其他公司發售. 該許可證比早期的binary許可證要便宜得多--大概花費
$1,500. 首家使用該許可證的是Onyx Systems公司.
很有趣, Oynx系統是用Zilog公司的Z8000構造的, 一台微處理器. 它也是第一台基於微處
理器的UNIX系統, 如果它使用早期的許可證, 可能它的價格就很貴, 它也就不可能賣出去
了. 一年內, 又有幾家公司推出了基於微處理器的UNIX系統. 價格持續在很低的$10,000
左右, 以前不得不考慮CP/M, MP/M和其他便宜的基於微處理器的系統的公司也可以購買
UNIX了.

UNIX演義(十)
1.10 Politics -- Part III
USG和PWB間的競爭終於停止了, 他們合併在一起. 這兩個組的許多成績都被熔融了UNIX.
合併後的小組稱為USDL(UNIX System Development Laboratory)並且於1982年推出了UNIX
System III. System III借鑒了CB UNIX, 對事物處理提供支持, CB UNIX是由哥倫比亞
貝爾運籌公司設計的. System III是貝爾實驗室經西電註冊的最好的UNIX版本.
美國政府判決AT&T公司是美國史上空前的反拖拉斯案例. 由Greene大法官宣判AT&T於
1984年解體為若干子公司. 同時, AT&T也被允諾可以進入電腦市場. 經過一番裝備,
UNIX終於在AT&T訊息系統公司, 她自己的家, 落戶了.
1983年初, AT&T訊息系統公司宣佈了System V的誕生. 從此, AT&T從根本上改變了她的
運作風格. 她大大壓低了UNIX的價格. AT&T第一次對UNIX提供支持. 而且更重要的是她
要保持未來的UNIX的向上相容性. 這使潛在的許多用戶更加有信心了, AT&T象IBM一樣被
認為是最強大的, and with the chutzpa to sell coals to Newcastle. 在這之上,
AT&T擁有所有用戶們期望得到的出品的所有權, 許多用戶希望AT&T能夠將伯克利UNIX中
有用的功能加到System V中, 但AT&T的做法令人們失望.
在此後的幾年內, AT&T在UNIX的市場上做的很糟. AT&T倒是讓其他人更好的出售了UNIX.
而且AT&T也沒能組織IBM在PC市場上大踏步地前進. AT&T開始放棄DEC的硬體, 包括那些
從前用來開發UNIX的機器, AT&T想開闢使用自己設計的專有硬體的市場. 然而, 來自
摩托羅拉和NSC等硬體廠商的強有力的競爭, AT&T的努力極不令人滿意. 1986年, AT&T估
計在電腦相關市場上損失了$1 billion.
AT&T分別在1984年和1986年宣佈了System V R.2(Release 2)和SV R.3, 這兩個版本都很
流行. 同時, AT&T與幾個主要的晶片廠商達成協議, 保證UNIX的二進制相容性. 此外,
AT&T還同意將XENIX和Sun的基於伯克利的UNIX融入System V中. 事情變得清楚了, UNIX
的未來都寄托在AT&T的組合版本十分能成功. 我們將在以後的章節裡更加詳盡地談到此
事.


UNIX演義(十一)
1.11 UNIX僅僅是歷史嗎?
UNIX僅僅是歷史嗎? 不, UNIX就在這. IDC(International Data Corporation)報導,
1985年UNIX的市場大約價值$3.6 billion. 全世界大約有6%的預算是花在電腦上的.
根據1987年12月發行的UNIXWORLD, 該年度有大約$5.5 billion花在UNIX系統上, 其中
10%是花在人家方面. IDC估計該年度全世界有大約8%的預算是用於電腦的.
Novon研究組宣稱1987年間有大約300,300套UNIX系統出售. 在使用的UNIX系統達750,000
套. 估計有4.5 billion的UNIX用戶, 而且用戶花在UNIX上的機時高於DOS的.
預計1990年將銷售的UNIX系統達450,000套, 大部分是商業用途. 到1991年, UNIX市場將
佔整個電腦市場的20%, 而且還將不斷地持續增漲.
很清楚, UNIX是成功的一例.
Dennis和Ken曾說: "UNIX的成功並不是過分依賴於新的創意, 更重要的是她是從一組豐
富的概念中精選並充分發掘的產物."這可能不是人們問UNIX為什麼如此成功所期望得到
的答案. 不管怎樣, 不斷增漲的UNIX發行數目和UNIX持續的健康發展是驚人的.



UNIX演義(十二)
1.12 名人錄
我們不想羅列所有負責開發UNIX的人的名單, 這裡僅羅列那些經常被談及的人物, 儘管
他們可能只在UNIX會議的交談中被涉及.
把每個參加UNIX開發的人都記下來是非常可能的. 許多人儘管其工作很重要, 但未留下
什麼可以識別的手跡. 其他人則可能從整體上對UNIX做出了很大的貢獻, 但講不清到底
是哪一個具體的部分. (似乎所有的人都Hack了核心.)總之, 對遺漏的同志請你原諒.
參加UNIX的許多人是因為在其他非UNIX的領域做出的貢獻而出名的. 我們沒有列出這些
對世界作出貢獻--不是因為我們狹隘--相反, 這些自有它們自己的頌功簿.
有些人的暱稱也是出了名的, 大概是因為他們都隨著早期發行的UNIX中的/etc/passwd文
件或源碼中而傳播的. 我們也列下了這些暱稱, 所以當你聽別人說, "dmr說..."的時候,
你就知道他們是指Dennis Ritchie.

Mike Accetta: 負責符號連接, key(後來成為man -k)和/dev/pty.
(譯者: /dev/pty就是虛終端)

Rick Adams: UUNET的骨幹. 寫了SLIP協議.

Alfred Aho: awk中的A. egrep和dbm庫的作者.

Eric Allman: 編寫了sendmail, trek, tset和-me巨集. Ingres的主力.
(譯者: 今天你該把對sendmail的抱怨送給這位仁兄.
喂, 老兄, 做的什麼東東, 看不懂, 還有好些漏洞.)

Ken Arnold: 編寫了curses, fortune, 還包括許多的遊戲.

Ozalp Babaoglu: 同Bill Joy一起負責伯克利UNIX的虛存.

W.O.Baker: 駁回Tompson, Ritchie和Ossana等人對DEC-10的請求.
這到導致了一個在更小的機器上的更小巧的系統的開
發.

Andreas Rechtolsheim: 設計了最初的SUN板.

Steve Rellovin: 編寫了第一個Usenet.

Walt Bilofsky: 編寫了Rand編輯器.

Biff: Heidi的小狗.
(譯者: 這可不是小話. UNIX裡的biff命令確實就是這
條狗的名字. 它總是向這郵遞員汪汪地叫個不停)

Irma Brien: 郵寄了所有的第六版UNIX的磁帶.

Bruce Borden: 負責MH和Rand編輯器.

Steve("srb")Bourne: 創造了Bourne Shell. 編寫了adb.

Steve Bunch: UNIX的APRA(NCP)代碼的合作者.

Brent Byer: 加入了分離的命令/資料空間來支持PDP-11/45.

Ron Cain: 編寫了Small C, 第一個public-domain的C編譯器.

Rudd Canaday: 同Dennis和Ken一起設計UNIX的檔案系統. 新建了PWB
小組.

Lorinda Cherry: Writer's Workbench(diction, style等等), bc個dc
的作者. 還編寫了eqn和bwk.

Greg Chesson: Wood Hermen樂團的前任鼓手, mpx檔案(select()的
前身), 最初的uucp packet驅動, Datakit, 行律和
dh驅動中的試配控制的開發者.

Douglas Comer: 寫了Xinu. 同Paul McNabb一起實現了第一個UNIX的
X.25實現, 同Bob Brown和Keith Williamson編寫了
System V的cron.

Dave Crocker: 編寫了MMDF, MS.

Bill Croft: 編寫了第一個UNIX的網路實現(在PDP-11系列上).

Ted Dolotta: 編寫了-mm巨集. USG的第一任董事.

Robert Elz: 編寫了伯克利的quota和自動配置.
(譯者: 真討厭, 害得我總得刪東東, 煩)

Robert Fabry: 伯克利CSRG的原任系主任, 爭取到了DARPA的資助.

Stu("sif")Feldman: make, f77和efl的作者. 有非常好的酒窖.

Mel Ferenz: 主辦了第一個UNIX用戶組會議. 創辦了UNIX News
(a.k.a ;login.

David Fiedler: 創辦和編輯了許多的UNIX和C的雜誌, 時事通訊等等,
包括The UNIX Software List, The C List, Unique,
UNIX Review, The C Journal, 和The C Users Journal.

John Foderero: 編寫了Frenz Lisp.

Herb Gills: 編寫了xargs.

Jim Gettys: 與別人合作負責X視窗系統.
(譯者: 一眼就看出來和UNIX有緣了, 名字上都寫著了,
getty嗎)

George Goble: 完成了極有影響的非對稱多處理機(兩台VAX-11/780s)
的UNIX移植.

James Gosling: 編寫了UNIX的emacs. 同David Rosenthal合寫了NeWS.

Gary Grossman: 與別人合寫了UNIX的Arpanet(NCP)代碼.

Bob Gurwitz: 寫了BBN的TCP/IP實現, 後來成為伯克利發行中的一部分.

Doug Gwyn: 編寫了BRL的BSD上的System V的模擬.

Teus Hagen: 建立了美國(decvax)和歐洲(mcvax)和其他一些國家
的首次連接.

Dick Haight: 編寫了find, cpio, expr. 將shell中加入了有名變量.
PWB的主力.

Chuck Haley: 編寫了tar. 同Bill Joy一起實現了早期的ex和Pascal編
譯器.

Dennis Hall: 在勞倫斯伯克利實驗室時合作實現了VOS. 新建了軟體
工具用戶組.

Robert Henry: 編寫了error.

Steve Holmgren: 合寫了UNIX的Arpanet(NCP)的代碼.

Peter Honeyman: Honey DanBer uucp中的Honey. 編寫了pathalias.

Mark Horton: 編寫了curses, terminfo並對uucp映射和Usenet做了很大
貢獻.

Stephen("scj")Johnson: 編寫了yacc, pcc(Portable C Compiler), lint和早期的
spell. 輔助Dennis完成了UNIX的首次移植之一
(Interdata8/32).

Bill("wnj")Joy: 編寫了伯克利發行中的許多軟體, 包括虛存, 網路,
Pascal, vi, csh和termcap. Sun Microsystem新建者
之一. 設計了NFS. 由於伯克利UNIX的出色工作獲得了
1986年ACM Grace Murray Hopper Award.
(譯者: 就是William N. Joy. 你在許多早期的UNIX文
章中發現的就是他. Bill Joy, 你太COOL了!)
(譯者: 是不是開了公司的就都是Bill(帳單), 像那個
Bill)

David Kashtan: 編寫了Eunice.

Howard Katseff: 編寫了sdb和last.

Lou Katz: USENIX的第一任主席.

Brian("bwk")Kernighan: K&R和awk中的K. The C Programming Language的作者
之一, 現在大部分的編程風格都是源自這本書. 還編寫
了ratfor, ditroff, eqn和pic. Version 7的負責人
之一.

Andrew Koenig: 編寫了varargs(a.k.a. stdargs).

David Korn: 編寫了ksh.

Ted Kowalski: 負責現在的fsck.

Bob Kridle: 創立了Mt.Xinu.

Jim Kulp: 開發了早期的作業控制和csh的目錄堆棧.

Peter Langston: 舉辦了USENIX的go聯賽. Eedie和Eddie是他的朋友, 你
可以打電話, (201)644-2332找他們.

Sam Leffler: 同Bill Shannon一起編寫了tip. 4.2BSD和伯克利TCP的骨幹.

Mike Lesk: 編寫了lex, tbl, refer, -ms巨集, uucp和可移植C庫,
stdio的前身.

Don Libes: Life With UNIX的作者之一. 沒啥好提的.
(譯者: 老兄, 你也太歉虛了,

John Lions: 編寫了第一本描述UNIX的書. 經常被誤拼為"Lyons".

Tom London: 32V的作者之一, 第一個VAX版的UNIX.

Brian Lucas: 第一個分佈式檔案系統的設計者之一, 該分佈式檔案
系統由1台PDP-10做Server, 4台PDP-11做Client.

Heinz Lycklama: 同Dong Bayer完成了MERT. 編寫了第一個微處理器版的UNIX,
在LSI-11上的LSX. 參與了早期的UNIX標準化工作, 包括
第一個UNIX標準(/usr/group).

Tom Lyon: 完成了UNIX的最初移植之一(VM/370).

Joe Maranzano: 負責USG.

Bob Marsh: /usr/group的創辦者和第一任主席. 創立了Onyx, 第一個
提供非PDP的, 基於微處理器的UNIX的廠商.

John Mashey: 編寫了Mashey Shell, 後來被融入了Bourne Shell. PWB的
主力.

Doug McIlroy: 提出了管道的概念. 編寫了tmg. 還編寫了diff和spell. 他對
語音處理的研究導致他寫的grep.

Kirk McKusick: 完成了伯克利的快速檔案系統(FFS)和可移植的目錄訪問
例程. 4.3BSD的骨幹. 同Peter Kessler共同寫了gprof.
(譯者: 現在還在做BSD呢. BSD4.4完了之後是不是有
BSD4.5.)

Lee McMahon: 編寫了sed.

Al McPherson: 編寫了fsdb.

Richard Miller: 完成了最早的UNIX移植之一(Interdata7/32).

Robert Morris: 同Lorinda Cherry完成了dc和bc.

Bill Munson: 負責Ultrix.

Mike Muus: 負責JHU/BRL UNIX.

Alan Nemeth: 負責BBN的C machine, 第一台UNIX的微碼實現.

Landon Noll: 國際最糟糕的C程序比賽的創立者和裁判.

Dan Nowitz: Honey DanBer中的Dan. 對最初的uucp作出了巨大貢獻.

Joseph Ossanna: 負責troff.
(譯者: 前面提到的-mX的巨集均為troff或nroff的巨集包.)

Rob Pike: Blit位圖終端的開發之一.

P.J.Plauger: 寫了第一個商業C編譯器. 創立了Whitesmiths公司.
負責Idris.

Dave Presotto: 同Bill Joy合寫了vgrind.

Rick Rashid: 負責Mach. 設計了CMU的IPC(Interprocess Communication)
(譯者: 新思想的起源人之一.)

Brian("ber")Redman: Honey DanBer中的Ber.

Bill Reeves: 同Tom Duff和Mike Tilson合寫了vcat.

John Reiser: 32V的作者之一.

Sandy Resseler: 誰啊??????

Dennis("dmr")Ritchie: 他經常拒絕別人說他和Thompson做的一樣多, 但他確實是
UNIX個另一半. 主要負責C語言. 由於和Thompson對UNIX
的巨大貢獻, 獲得了許多有聲望的大獎, 包括1982年的
IEEE Emmanuel award和1983年的ACM圖靈獎.

Marc Rochkind: 編寫了SCCS和bfs. PWB的主力.

Rob Rosenthal: 第一個分佈式UNIX檔案系統的作者之一.

Steve Schaefer: 負責CPATH, LPATH和MPATH.

Deborah Scherrer: 在勞倫斯伯克利實驗室時合作實現了VOS. 新建了軟體
工具用戶組.

Eric Schienbrood: 編寫了more.

Eric Schmidt: 編寫了BerkNet.

Jeff Schriebman: 新建了Unisoft公司.

John Seamons: 完成了首例SUN板上的UNIX移植.

Donn Seeley: 對f77, Ritchie的編譯器和pcc做了很多貢獻.

Bill Shannon: 同Bill Jolitz在PDP-11上實現了可覆蓋的核心. 編寫了
早期的BSD printer spooler程序.

Dick Shapazian: 設計了起初的UNIX許可證制度.

Kurt Shoens: 編寫了伯克利的Mail(a.k.a. mailx), fmt.

Richard("rms")Stallman: 編寫了emacs. GNU和FSF(Free Software Foundation)的
創始人之一.

Armando("aps")Stettner: 花了幾年的時間來讓DEC承認UNIX的存在.

Bjarne Stroustrup: 編寫了C++.

Joe Sventek: 在勞倫斯伯克利實驗室時合作實現了VOS. 新建了軟體
工具用戶組.

Andrew Tanenbaum: 編寫了MINIX.
(譯者: 不必說了, 這麼可愛的小老頭.)

Rebecca Thomas: 同Jean Yates共同編著了第一本關於UNIX的商業用書.

Ken("ken")Thompson: 該譴責他, 他發明了UNIX. 因為同Dennis的在UNIX方面的
工作獲得了許多有聲望的大獎, 包括1982年的IEEE Emmanuel
award和1983年的ACM圖靈獎.

Walter Tichy: 編寫了RCS.

David Tilbrook: 創立了HCR.

Michael Toy: 兩個很有名的遊戲, rogue和/etc/shutdown.

Michael Ubell: 編寫了第一個歷史原型, 後來融入了csh.

Larry Wall: rn, patch和perl的作者.

Larry Wehr: 提出了現在使用的命名管道的概念.

Peter Weinberger: awk中的W. 編寫了lcomp.

Peter Weiner: 從Rand公司獲得了第一個商業UNIX許可證. 創立了
Interactive Systems Corp.

Lauren Weinstein: 負責Stargate.

David Willcox: 編寫了ideal.

Dave Yost: 對Rand編輯器和MH做出巨大貢獻.

Walter Zintz: 創立Uni-Ops用戶組.

Steve Zucker: 創立了早期的命名管道.
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 01:09 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1