- 論壇徽章:
- 0
|
Unix的歷史發(fā)展
Unix操作系統(tǒng)的歷史漫長(zhǎng)而曲折,它的第一個(gè)版本是1969年由Ken
Thompson在AT&T貝爾實(shí)驗(yàn)室實(shí)現(xiàn)的,運(yùn)行在一臺(tái)DEC
PDP-7計(jì)算機(jī)上。這個(gè)系統(tǒng)非常粗糙,與現(xiàn)代Unix相差很遠(yuǎn),它只具有操作系統(tǒng)最基本的一些特性。后來(lái)Ken Thompson和Dennis
Ritchie使用C語(yǔ)言對(duì)整個(gè)系統(tǒng)進(jìn)行了再加工和編寫(xiě),使得Unix能夠很容易的移植到其他硬件的計(jì)算機(jī)上。從那以后,Unix系統(tǒng)開(kāi)始了令人矚目的發(fā)
展。
由于此時(shí)
AT&T還沒(méi)有把Unix作為它的正式商品,因此研究人員只是在實(shí)驗(yàn)室內(nèi)部使用并完善它。正是由于Unix是被作為研究項(xiàng)目,其他科研機(jī)構(gòu)和大學(xué)
的計(jì)算機(jī)研究人員也希望能得到這個(gè)系統(tǒng),以便進(jìn)行自己的研究。AT&T以分發(fā)許可證的方法,對(duì)Unix僅僅收取很少的費(fèi)用,大學(xué)和研究機(jī)構(gòu)就能獲
得Unix的源代碼以進(jìn)行研究。Unix的源代碼被散發(fā)到各個(gè)大學(xué),一方面使得科研人員能夠根據(jù)需要改進(jìn)系統(tǒng),或者將其移植到其他的硬件環(huán)境中去,另一方
面培養(yǎng)了懂得Unix使用和編程的大量的學(xué)生,這使得Unix的普及更為廣泛。
由于操作系統(tǒng)的開(kāi)發(fā)相當(dāng)困難,只有少數(shù)的計(jì)算機(jī)廠(chǎng)商,如
IBM、Digital等大型公司,才擁有自己的操作系統(tǒng),而其他眾多生產(chǎn)計(jì)算機(jī)的硬件廠(chǎng)商則采用別人開(kāi)發(fā)的操作系統(tǒng)。因?yàn)閁nix不需要太多的花費(fèi),因
此很多廠(chǎng)商就選擇了Unix作為他們生產(chǎn)的計(jì)算機(jī)使用的操作系統(tǒng)。他們把Unix移植到自己的硬件環(huán)境下,而不必從頭開(kāi)發(fā)一個(gè)操作系統(tǒng)。
到了
70年代末,在Unix發(fā)展到了版本6之后,AT&T認(rèn)識(shí)到了Unix的價(jià)值,成立了Unix系統(tǒng)實(shí)驗(yàn)室(Unix System
Lab,USL)來(lái)繼續(xù)發(fā)展Unix。因此AT&T一方面繼續(xù)發(fā)展內(nèi)部使用的Unix版本7,一方面由USL開(kāi)發(fā)對(duì)外正式發(fā)行的Unix版本,同
時(shí)AT&T也宣布對(duì)Unix產(chǎn)品擁有所有權(quán)。幾乎在同時(shí),加州大學(xué)伯克利分校計(jì)算機(jī)系統(tǒng)研究小組(CSRG)使用Unix對(duì)操作系統(tǒng)進(jìn)行研究,因
此他們的研究成果就反映在他們使用的Unix中。他們對(duì)Unix的改進(jìn)相當(dāng)多,增加了很多當(dāng)時(shí)非常先進(jìn)的特性,包括更好的內(nèi)存管理,快速且健壯的文件系統(tǒng)
等,大部分原有的源代碼都被重新寫(xiě)過(guò),以支持這些新特性。很多其他Unix使用者,包括其他大學(xué)和商業(yè)機(jī)構(gòu),都希望能得到CSRG改進(jìn)的Unix系統(tǒng)。因
此CSRG中的研究人員把他們的Unix組成一個(gè)完整的Unix系統(tǒng)──BSD Unix(Berkeley Software
Distribution),向外發(fā)行。
BSD
Unix在Unix的歷史發(fā)展中具有相當(dāng)大的影響力,被很多商業(yè)廠(chǎng)家采用,成為很多商用Unix的基礎(chǔ),而AT&T與其同時(shí)存在的Unix版本的
影響就小得多。同時(shí)很多研究項(xiàng)目也是以BSD
Unix為研究系統(tǒng),例如美國(guó)國(guó)防部的項(xiàng)目─ARPANET,ARPANET今天發(fā)展成為了Internet,而B(niǎo)SD
Unix中最先實(shí)現(xiàn)了TCP/IP,使Internet和Unix緊密結(jié)合在一起。
而
AT&T的Unix系統(tǒng)實(shí)驗(yàn)室,同時(shí)也在不斷改進(jìn)他們的商用Unix版本,直到他們吸收了BSD
Unix中已有的各種先進(jìn)特性,并結(jié)合其本身的特點(diǎn),推出了Unix System V版本之后,情況才有了改變。從此以后,BSD
Unix和Unix System V形成了當(dāng)今Unix的兩大主流,現(xiàn)代的Unix版本大部分都是這兩個(gè)版本的衍生產(chǎn)品。
Unix的版本號(hào)表示方式比較復(fù)雜,各種不同的Unix版本有自己的版本標(biāo)識(shí)方式,如最早AT&T開(kāi)發(fā)的內(nèi)部Unix使用簡(jiǎn)單的順序號(hào)來(lái)標(biāo)識(shí)版本,從V 1到V 7。
BSD使用主版本加次版本的方法標(biāo)識(shí),如4.2BSD,4.3BSD,在原始版本的基礎(chǔ)上還有派生版本,這些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2。
AT&T使用羅馬數(shù)字來(lái)標(biāo)識(shí)他們的對(duì)外發(fā)布的Unix版本,用Release來(lái)表示次版本。如System V Release 4(簡(jiǎn)寫(xiě)為SVR4)標(biāo)識(shí)AT&T的Unix System V的第四次發(fā)布的版本。
其他商業(yè)公司的 Unix使用自己的版本標(biāo)識(shí),如Sun的Solaris 2.6,IBM的AIX 4.0等。
雖然 AT&T的Unix System V也是非常優(yōu)秀的Unix版本,但是BSD
Unix在Unix領(lǐng)域內(nèi)的影響更大。AT&T的Unix系統(tǒng)實(shí)驗(yàn)室一直關(guān)注著B(niǎo)SD的發(fā)展,在1992年,Unix系統(tǒng)實(shí)驗(yàn)室指控BSDI──
一家發(fā)行商業(yè)BSD
Unix的公司,違反了AT&T的許可權(quán),發(fā)布自己的Unix版本,并進(jìn)一步指控伯克利計(jì)算機(jī)系統(tǒng)研究組泄漏了Unix的商業(yè)機(jī)密(此時(shí)的
4.3BSD中來(lái)自AT&T Unix的代碼已經(jīng)不足10%)。這個(gè)官司影響了很多Unix廠(chǎng)商,使他們不得不從BSD Unix轉(zhuǎn)向Unix
System V,以避免法律問(wèn)題。以至于當(dāng)今大多數(shù)商業(yè)Unix版本都是基于Unix System V的。
這件有關(guān)
Unix版權(quán)的案子直到Unix系統(tǒng)實(shí)驗(yàn)室被AT&T賣(mài)給了Novell公司后才得以解決,Novell不打算陷入這樣的法律紛爭(zhēng)中,因此就采用
了比較友好的做法。伯克利的CSRG被允許自由發(fā)布BSD,但是其中來(lái)自于AT&T的代碼必須完全刪除。因此CSRG就對(duì)他們最新的4.4BSD
進(jìn)行了修改,刪除了那些來(lái)自于AT&T的源代碼,發(fā)布了4.4 BSD
Lite版本(該系統(tǒng)是不完整的,尤其對(duì)于英特爾386體系的計(jì)算機(jī)系統(tǒng))。由于這個(gè)版本不存在法律問(wèn)題,4.4BSD
Lite成為了現(xiàn)代BSD系統(tǒng)的基礎(chǔ)版本。
Novell的比較友善的做法還不止對(duì)BSD,他把自己的Unix改名為Unixware,而將Unix商標(biāo)贈(zèng)送給X/Open──
一個(gè)由眾多Unix廠(chǎng)家組成的聯(lián)盟,這樣這個(gè)聯(lián)盟內(nèi)的所有成員均可使用Unix商標(biāo)。從此之后,Unix不再是專(zhuān)有產(chǎn)品的名字了。同時(shí),由于BSD系統(tǒng)已
經(jīng)十分成熟,作為對(duì)操作系統(tǒng)進(jìn)行研究的目標(biāo)已經(jīng)達(dá)到,伯克利計(jì)算機(jī)系統(tǒng)研究組(CSRG)在發(fā)布了4.4BSD-lite2之后就解散了,小組的科研人員
有些進(jìn)入了Unix商業(yè)公司,有些繼續(xù)進(jìn)行其他計(jì)算機(jī)領(lǐng)域的研究。此時(shí),嚴(yán)格意義上的Unix System V和BSD
Unix都不復(fù)存在了,存在的只是他們的各種后續(xù)版本。
回顧
Unix的發(fā)展,可以注意到Unix與其他商業(yè)操作系統(tǒng)的不同之處主要在于其開(kāi)放性。在系統(tǒng)開(kāi)始設(shè)計(jì)時(shí)就考慮了各種不同使用者的需要,因而Unix被設(shè)計(jì)
為具備很大可擴(kuò)展性的系統(tǒng)。由于它的源碼被分發(fā)給大學(xué),從而在教育界和學(xué)術(shù)界影響很大,進(jìn)而影響到商業(yè)領(lǐng)域中。大學(xué)生和研究者為了科研目的或個(gè)人興趣在
Unix上進(jìn)行各種開(kāi)發(fā),并且不計(jì)較金錢(qián)利益,將這些源碼公開(kāi),互相共享,這些行為極大豐富了Unix本身。很多計(jì)算機(jī)領(lǐng)域的科學(xué)家和技術(shù)人員遵循這些方
式,開(kāi)發(fā)了數(shù)以千計(jì)的自由軟件,包括FreeBSD在內(nèi)。正因?yàn)槿绱耍?dāng)今的Internet才如此豐富多采,與其他商業(yè)網(wǎng)絡(luò)不同,才能成為真正的全球網(wǎng)
絡(luò)。開(kāi)放是Unix的靈魂,也是Internet的靈魂。
由于
Unix的開(kāi)放性,另一方面就使得存在多個(gè)不同的Unix版本。由于不同的Unix使用稍有差別的文件、目錄結(jié)構(gòu),提供略有不同的系統(tǒng)調(diào)用,因此對(duì)系統(tǒng)管
理、以及為Unix開(kāi)發(fā)可移植的應(yīng)用程序帶來(lái)一定的困難。例如System
V和BSD的很多系統(tǒng)調(diào)用就存在不同。在Unix歷史發(fā)展中也存在將Unix完全統(tǒng)一的努力,例如POSIX規(guī)范就是各個(gè)Unix廠(chǎng)商經(jīng)過(guò)協(xié)商,達(dá)成的
Unix操作系統(tǒng)應(yīng)該遵循的一套基本系統(tǒng)調(diào)用的規(guī)定。然而由于存在多個(gè)Unix系統(tǒng),各個(gè)廠(chǎng)商的意見(jiàn)很不統(tǒng)一,因此POSIX規(guī)范制定的很寬松,甚至
Windows
NT中也存在一個(gè)POSIX子系統(tǒng)。事實(shí)上,只要各個(gè)Unix之間協(xié)調(diào)發(fā)展,不故意為了商業(yè)目的而人為的制造系統(tǒng)差異,就能夠保持各個(gè)Unix之間不致具
有太大的差別,保持Unix系統(tǒng)的多樣性比只有唯一的一個(gè)Unix系統(tǒng)更能夠促進(jìn)技術(shù)的進(jìn)步和發(fā)展,企圖人為的統(tǒng)一Unix的想法只能是某一個(gè)Unix廠(chǎng)
商的一廂情愿。
有時(shí)為了避免法律糾紛,表明自己的程序代碼是完全重寫(xiě)的,一個(gè)軟件廠(chǎng)商會(huì)故意將一些函數(shù)聲明的與其他系統(tǒng)的中的同類(lèi)函數(shù)不同,例如使用不同的函數(shù)參數(shù)或改
變函數(shù)參數(shù)的順序等。 Unix System V中的很多系統(tǒng)調(diào)用與BSD
Unix不同的部分原因也在于此。這些差異人為造成了不同系統(tǒng)的源程序的差異。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/104461/showart_2066228.html |
|