一、Multics計劃
1965年,AT&T貝爾電話實驗室、通用電氣公司、麻省理工學(xué)院MAC課題組一起聯(lián)合開發(fā)一個稱為Multics的新操作系統(tǒng)。Multics系統(tǒng)的目標(biāo)是要向大的用戶團體提供對計算機的同時訪問,支持強大的計算數(shù)據(jù)存儲,以及允許用戶在需要的時候容易地共享他們的數(shù)據(jù)。
1969年Multics的原始版本在GE645計算機上運行了,但它既沒能提供預(yù)定的綜合服務(wù),而且,連它自己也不清楚究竟什么時刻算達(dá)到開發(fā)目標(biāo)。在這種情況下,AT&T貝爾電話實驗室首先退出了這一項目。
二、UNIX系統(tǒng)的萌芽
Multics項目中止后,AT&T貝爾電話實驗室中參加開發(fā)的主要人員開始尋找其他有趣的項目。這其中,KenThompson寫了一個名叫“太空漫游”的游戲程序。他找到了一臺基本無人使用的DECPDP-7計算機運行他的程序。然而由于DEC PDP-7缺少程序開發(fā)程序,以致于Thompson不得不在另一臺運行GECOS操作系統(tǒng)的Honeywell635上交叉匯編子他的程序,然后再通過紙帶加載到DECPDP-7上。
為了方便太空漫游的開發(fā),Thompson和Dennis Ritchie一起著手開發(fā)DEC PDP-7上的操作環(huán)境:
1、一個簡單的文件系統(tǒng),它后來深化成稱之為System V文件系統(tǒng)的早期版;
2.一個進程子系統(tǒng)和shell(命令解釋器)。
這樣這個系統(tǒng)就足以滿足他們的需要,他們將這個操作環(huán)境命名為UNIX。
Thompson和Ritchie后來開發(fā)了B語言(后來Ritchie又將其發(fā)展為C語言),并擴展了UNIX系統(tǒng),UNIX系統(tǒng)便在AT&T貝爾電話實驗室流行起來。
1973年11月,他們用C語言徹底重寫,這是UNIX操作系統(tǒng)邁向成功之路的關(guān)鍵一步。完成后,Thompson和Ritchie共同在《ACM通信》上發(fā)表了首篇UNIX論文,The
UNIX Time Sharing System。
三、UNIX系統(tǒng)的發(fā)展
而由于AT&T公司受到美國反托拉斯法的訴訟,與聯(lián)邦政府簽署了一份協(xié)議,這份協(xié)議不允許AT&T公司生產(chǎn)與電話和電報服務(wù)無關(guān)的設(shè)備,也不允許從事除“公用通信服務(wù)”外的任何商業(yè)活支。這樣,AT&T公司就陷入了不能經(jīng)營計算機產(chǎn)品的尷尬局面。
而自從在《ACM通信》中發(fā)表了關(guān)于UNIX的論文后,越來越多的人希望能夠獲得UNIX軟件和源碼。為了不違背與政府簽署的協(xié)議,AT&T公司既不出售UNIX、也不為其作廣告、不對其提供技術(shù)支持。而同時為了滿足大家的需要,AT&T公司在簽署簡單協(xié)議的前提下,將UNIX系統(tǒng)無償?shù)靥峁┙o大學(xué),以供教學(xué)與研究。
由于AT&T公司對UNIX的策略,使得UNIX在全世界范圍內(nèi)快速發(fā)展。到1975年底,它已經(jīng)傳播到西至耶路撒冷的Hebrew大學(xué),南至澳大利亞的新南威爾士大學(xué),北至加拿大多倫多大學(xué)的世界各地。
1979年1月發(fā)行的UNIX版本是一個真正可移植的UNIX系統(tǒng),它對其后的UNIX發(fā)展有著深遠(yuǎn)的影響。該版本最初是運行在PDP-11和Interdata
8/32上的,該系統(tǒng)更加健壯,而且提供了比版本6更強大的功能,但其相當(dāng)慢。許多領(lǐng)取了許可證的用戶針對這一情況從不同方面對系統(tǒng)的性能進行了改進,AT&T又將這些改進中的許多加入了其以后的UNIX發(fā)行中。
這種使用者與開發(fā)者之間的合作精神正是UNIX快速成長和不斷發(fā)展的關(guān)鍵因素。不幸的是,當(dāng)UNIX在商業(yè)上取得很大成功之后,這種精神就不存在了。
四、UNIX系統(tǒng)最重要的分支----BSD UNIX
1974年12月,加州大學(xué)伯克利分校獲得了UNIX許可證。在其后的幾年里,包括Bill Joy和Chuck Haley在內(nèi)的一組研究生為UNIX開發(fā)了幾個實用工具,其中包括ex編輯器---vi的前身和一個Pascal編譯器。他們將這些軟件綁定成一個稱為“伯克利軟件銷售(BSD)”的軟件包,并在1978年春以每個許可證50美元出售。最初的BSD發(fā)行僅包括應(yīng)用程序和實用工個,并沒有對操作系統(tǒng)進行修改和再發(fā)行。Joy早期的貢獻之一就是CShell。
1978年伯克利得到一臺VAX-11/780以及由新澤西州Holmdel的BTL小組移植的UNIX/32V。VAX-11采用32位體系結(jié)構(gòu),可以有4GB的地址窨,而物理內(nèi)存僅為2MB。與此同時,OzalpBabaoglu為VAX設(shè)計了一個分頁式的虛存系統(tǒng),并將其加入到UNIX系統(tǒng)中。這就是1979年末發(fā)行的3BSD,是由伯克利發(fā)行的第一個操作系統(tǒng)。
伯克利在虛存方面的工作促使美國國防部高級研究項目署(DARPA)決定投資支持伯克利的UNIX系統(tǒng)開發(fā)。DARPA項目的目的之一就是將TCP/IP網(wǎng)絡(luò)協(xié)議族集成到UNIX系統(tǒng)中。在DARPA的資助下,伯克利又推出了幾個BSD發(fā)行,統(tǒng)稱4BSD。
五、純UNIX系統(tǒng)----System V
AT&T公司與美國司法部的法律大戰(zhàn)終天在1982年達(dá)到終點,一部里程碑式的法律出臺了。根據(jù)該法令,地區(qū)性運營公司都從AT&T公司中分離出來,成立一系列的“貝爾寶寶”,貝爾電話實驗室也獨立出來,改名為貝爾實驗室。同時,AT&T也被重新允許進入計算機市場。
貝爾實驗室先后在1982年發(fā)行了System III,1983年發(fā)行了System,1984年發(fā)行了System V Release2(SVR2),1987年發(fā)行了SVR3。
System V UNIX也引入了許多新特征,新設(shè)施。最有代表性的就是進程間通信機制。
六、UNIX系統(tǒng)的商業(yè)化
UNIX系統(tǒng)的不斷發(fā)展吸引了許多計算機公司。它們急急忙忙地開始將UNIX商業(yè)化,出售自己的UNIX版本。每一家都是以AT&T或BSD為藍(lán)本,將它們移植到自己的硬件上,并加上一些自己的“增值”功能。
1982年,Bill Joy離開了伯克利,與人合資成立了Sun公司,基于BSD開發(fā)、發(fā)行了SunOS,后來又基于SVR4發(fā)行了Solaris。
微軟與SCO合作開發(fā)發(fā)行的XENIX。
此后,SCO公司將SVR3移植到386上,并將其命名為SCO UNIX。
還有一此大型的硬件公司,配合自己的計算機系統(tǒng),也開發(fā)出一許多不同的UNIX版本:
IBM公司開發(fā)的AIX操作系統(tǒng)----運行在RS 6000小型機上;
HP公司開發(fā)的HP-UX----運行在HP工作站上;
Digital公司開發(fā)的Digital UNIX。
還有著名教授Tanenbaum為了教學(xué)開發(fā)的MINIX系統(tǒng);
以及我們可愛的小企鵝----LINUX操作系統(tǒng)。
每種商業(yè)變體都增加了許多新特征,這些功能中的許多后來又被加入到主線系統(tǒng)中,這樣逐步推動UNIX系統(tǒng)向前發(fā)展。
七、UNIX系統(tǒng)標(biāo)準(zhǔn)
UNIX系統(tǒng)變體的泛濫造成了許多不兼容問題,盡管所有的變體從某種程度“看起來都像UNIX”,但它們在許多重要方面卻千差萬別。最初,業(yè)界根據(jù)AT&T的System
V發(fā)行版、伯克利的BSD發(fā)行版的不同一分為二。然而,后來隨著商業(yè)變體不斷涌現(xiàn),情況越來越糟。