一、前言
作為一個(gè)Linuxer,對(duì)unix感興趣是順理成章的事情,對(duì)unix的了解反過(guò)來(lái)也可以促進(jìn)對(duì)GNU/Linux的理解。不過(guò)在接觸unix的過(guò)程中,大家一般都會(huì)有下面的疑問(wèn):
1、unix這個(gè)商標(biāo)是屬于哪一個(gè)公司或者機(jī)構(gòu)?
2、為何unix有那么多的變種?為何各個(gè)公司都有自己的unix,例如IBM的AIX(Advanced Interactive eXecutive)操作系統(tǒng)、SUN公司的Solaris操作系統(tǒng)、HP公司的HP-UX操作系統(tǒng)。
3、Linux和unix的關(guān)系為何?
……
本文和技術(shù)無(wú)關(guān),主要想整理一些Unix的歷史和Linux的演化
二、Unix的誕生
1969年的8月份,在老婆帶著孩子回娘家后,AT&T公司Bell實(shí)驗(yàn)室的宅男程序員Ken Thompson花費(fèi)了一個(gè)月的時(shí)間,使用匯編語(yǔ)言開(kāi)發(fā)了第一個(gè)版本的unix,并將它運(yùn)行在DEC公司的PDP-7的小型機(jī)上。這樣的成果當(dāng)然不是憑空產(chǎn)生,Thompson 和Dennis Ritchie作為Bell實(shí)驗(yàn)室的代表,參與了MULTICS項(xiàng)目。該項(xiàng)目是一個(gè)MIT、GE和Bell實(shí)驗(yàn)室的聯(lián)合項(xiàng)目,旨在提供一個(gè)時(shí)分操作系統(tǒng)。在Bell實(shí)驗(yàn)室退出該項(xiàng)目后,Thompson變得無(wú)所事事(特別是老婆孩子又不在身邊),反正閑著也是閑著,于是寫(xiě)出了第一個(gè)版本的unix。
unix這個(gè)名字源自MULTICS(Multiplexed Information and Computing Service),Thompson認(rèn)為MULTICS是一個(gè)overdesigned and overbuilt and over everything的操作系統(tǒng),他本人認(rèn)為優(yōu)秀的操作系統(tǒng)的特點(diǎn)應(yīng)該是簡(jiǎn)單、優(yōu)雅和易用。在這樣的思路指引下,這個(gè)簡(jiǎn)介的OS被命名為Unics (Uniplexed Information and Computing Service),后續(xù)被修正為unix。
當(dāng)然,一個(gè)人的力量是有限的,Thompson以及他的同事都加入了這個(gè)unix操作系統(tǒng)的開(kāi)發(fā)。特別是在Dennis Ritchie發(fā)明了c語(yǔ)言之后,unix用c語(yǔ)言重寫(xiě)一遍。雖然當(dāng)時(shí)已經(jīng)存在了FORTRAN和COBOL這樣的高級(jí)語(yǔ)言,但并不適合開(kāi)發(fā)unix操作系統(tǒng)。c語(yǔ)言的發(fā)明是和unix相關(guān)的,開(kāi)發(fā)unix需要一個(gè)適合unix kernel及其系統(tǒng)軟件的高級(jí)語(yǔ)言工具,沒(méi)有適合的工具,unix開(kāi)發(fā)團(tuán)隊(duì)只能自己創(chuàng)造。在Thompson 和Dennis Ritchie的帶領(lǐng)下,unix開(kāi)發(fā)團(tuán)隊(duì)在1969到1979年之間release了若干用數(shù)字標(biāo)識(shí)的版本。First Edition,Second Edition……Seventh Edition。本來(lái),unix這點(diǎn)事都是AT&T公司內(nèi)部的事,不過(guò)1974年,Dennis Ritchie和Thompson在CACM上發(fā)表了論文:The UNIX Time-Sharing System,這一下子,unix成了盡人皆知的秘密了。
本來(lái),AT&T公司成立Bell實(shí)驗(yàn)室進(jìn)行一些前瞻性的研究,最終當(dāng)然是想轉(zhuǎn)化為產(chǎn)品,對(duì)于Unix也不例外。然而,在當(dāng)時(shí),AT&T公司和美國(guó)政府簽署了美國(guó)電話(huà)業(yè)務(wù)的專(zhuān)營(yíng)協(xié)議,該協(xié)議規(guī)定AT&T不能從事軟件銷(xiāo)售業(yè)務(wù),也就是說(shuō),AT&T公司不能把Unix當(dāng)作一個(gè)產(chǎn)品來(lái)銷(xiāo)售。因此,從Sixth Edition開(kāi)始,AT&T將unix分發(fā)給美國(guó)的大學(xué)(當(dāng)然,也收取了distribution fee),這些分發(fā)給大學(xué)的發(fā)布包里面包含了文檔和unix kernel的source code。
三、BSD和System V
Thompson 在1975/1976學(xué)年來(lái)到了加州伯克利分校做客座教授,并且?guī)Я诵┭芯可黄鹄^續(xù)進(jìn)行Unix的后續(xù)開(kāi)發(fā),在伯克利,很多新的特性加入到了unix操作系統(tǒng)中,并發(fā)布了一些早期的BSD版本。這些BSD版本引起了Defense Advanced Research Projects Agency‘s (DARPA) 的關(guān)注,在DARPA的支持下,伯克利的Computer Systems Research Group (CSRG)負(fù)責(zé)開(kāi)發(fā) 一個(gè)標(biāo)準(zhǔn)的unix平臺(tái),主要用于DARPA未來(lái)的各種研究。BSD (Berkeley Software Distribution)是由加州大學(xué)伯克利分?;贏(yíng)T&T的unix發(fā)布包進(jìn)行二次開(kāi)發(fā)和發(fā)布的。BSD為unix帶來(lái)了很多的新的特性,特別是1983年發(fā)布的4.2版本的BSD,該版本實(shí)現(xiàn)了TCP/IP協(xié)議棧。
與此同時(shí),美國(guó)司法部依據(jù)《反托拉斯法》對(duì)AT&T公司進(jìn)行拆分。拆分之后,分離出來(lái)的公司可以對(duì)Unix進(jìn)行商業(yè)化運(yùn)作,這個(gè)從AT&T分離出來(lái)的公司就是AT&T USG(Unix Support Group)。USG在1982年release了System III。1983年,Computer Research Group (CRG), UNIX System Group (USG) 連同一起第三方組織成立了UNIX System Development Lab,并發(fā)布了System V的第一個(gè)版本。1989年System V發(fā)布了最后一個(gè)版本SVR4。
這樣,各大商業(yè)計(jì)算機(jī)制造公司在為自己的硬件平臺(tái)撰寫(xiě)操作系統(tǒng)的時(shí)候就有兩種選擇,一種是購(gòu)買(mǎi)商業(yè)版本的System V并進(jìn)行二次開(kāi)發(fā),另外一種是使用BSD版本的unix進(jìn)行開(kāi)發(fā)。使用BSD版本進(jìn)行開(kāi)發(fā)對(duì)商業(yè)公司是有風(fēng)險(xiǎn)的,因?yàn)锽SD中包括了AT&T的source code。大部分商業(yè)公司選擇了前者,也就是基于system V進(jìn)行開(kāi)發(fā)。例如Sun公司的Sun OS是基于BSD的,隨后,Sun公司的OS更名為Solaris,Solaris是基于System V的。IBM的AIX和HP的HP-UX都是基于System V的(AIX雖然是base system V的,但是也引入了4.2和4.3 BSD的source code,其實(shí)即便是System V,也會(huì)引入一些BSD的特性或者source code)。值得一提的是1980年,Microsoft也從AT&T獲得了unix的授權(quán),并發(fā)展了Xenix操作系統(tǒng)。后來(lái)SCO公司收購(gòu)了Xenix并更名為SCO unix。
四、unix的版權(quán)之爭(zhēng)
和AT&T的System V分支不同,BSD版本不是那么focus在商業(yè)化Unix上。BSD由大學(xué)發(fā)布,主要是用于學(xué)術(shù)研究,希望可以以free software的形式發(fā)布。但是,4.3版本以及之前的BSD 中都包括了AT&T的unix code,毫無(wú)疑問(wèn),這些code應(yīng)該服從AT&T的license。1991年,CSRG發(fā)布了BSD Net/2。它的發(fā)布就是為了解決這個(gè)問(wèn)題。在BSD Net/2中,所有AT&T的unix code都被替換或者重寫(xiě),因此,BSD Net/2是使用BSD license發(fā)布的。90年代初,基于Intel公司的CPU的個(gè)人PC已經(jīng)開(kāi)始流行,386/BSD項(xiàng)目就是將BSD Net/2 porting到386處理器上的一個(gè)項(xiàng)目。1992年,386/BSD發(fā)布了Version 0.1,之后項(xiàng)目組成員對(duì)項(xiàng)目的后續(xù)發(fā)展產(chǎn)生了分歧,因此386BSD項(xiàng)目分裂成兩個(gè)項(xiàng)目,freeBSD和NetBSD。freeBSD focus在386平臺(tái),主要是修復(fù)bug,提高性能。而NetBSD主要想支持更多的硬件平臺(tái)。openBSD是從NetBSD項(xiàng)目分裂出來(lái)的,該項(xiàng)目主要關(guān)注系統(tǒng)安全。
沒(méi)有利益的沖突,也就不會(huì)有unix的版權(quán)之爭(zhēng)了。1991年,CSRG的一些成員開(kāi)了一家公司,名字是Berkeley Software Design, Inc (BSDI),BSDI旨在為Intel平臺(tái)提供商業(yè)版本的BSD unix。BSDI販賣(mài)的OS非常便宜,侵犯了USL的利益,1992年,USL將BSDI告上法庭。1994年,USL(這時(shí)候USL已經(jīng)屬于Novell公司而非AT&T)和BSDI達(dá)成和解:伯克利大學(xué)從Net/2 release 的18000個(gè)文件中移除3個(gè)文件,對(duì)一些文件進(jìn)行簡(jiǎn)單修改,在70個(gè)文件中增加USL的copyright,在這些條件下,伯克利大學(xué)可以繼續(xù)自由發(fā)布。而USL也不會(huì)對(duì)作出上述修改的軟件及其派生軟件進(jìn)行任何權(quán)利的追述。1994年,4.4BSD-Lite發(fā)布,那些原來(lái)BSD Net/2 base的項(xiàng)目都使用了4.4BSD-Lite的源代碼,也就不存在版權(quán)問(wèn)題了。
五、結(jié)束語(yǔ)
今天,由于GNU/linux的迅猛發(fā)展,Unix的前途似乎一片黯淡。Novell從AT&T手中購(gòu)買(mǎi)了UNIX 但卻交給X/open管理,自己則發(fā)展了一套命名為UNIXWave 的操作系統(tǒng)。后來(lái)unix幾經(jīng)轉(zhuǎn)手,目前屬于誰(shuí)已經(jīng)不是那么重要了,重要的是,這個(gè)在40年前設(shè)計(jì)的操作系統(tǒng),其思想在現(xiàn)在仍然閃爍著智慧的光芒。正是由于BSD忙于應(yīng)付官司而給了linux kernel機(jī)會(huì),否則,如果在386有非常優(yōu)秀的BSD系統(tǒng)的話(huà),Torvalds也許就不會(huì)創(chuàng)建linux kernel這個(gè)項(xiàng)目。時(shí)光飛逝,任何產(chǎn)品,任何公司,任何英雄都是浮浮沉沉,唯有思想存留。作為linuxer,希望能夠采頡linux kernel的光芒,分享給大家,一起享受軟件的樂(lè)趣。
編輯:hfy
-
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208724 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41393
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論