《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用基礎(chǔ)》課件第6章_第1頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用基礎(chǔ)》課件第6章_第2頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用基礎(chǔ)》課件第6章_第3頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用基礎(chǔ)》課件第6章_第4頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用基礎(chǔ)》課件第6章_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6章網(wǎng)絡(luò)操作系統(tǒng)6.1操作系統(tǒng)概述 6.2面向網(wǎng)絡(luò)的操作系統(tǒng) 6.3

Unix操作系統(tǒng)6.4

Linux操作系統(tǒng) 6.5本章小結(jié) 16.1操作系統(tǒng)概述

6.1.1操作系統(tǒng)的發(fā)展歷史操作系統(tǒng)已經(jīng)有很多年的發(fā)展歷史,大體上可以分為以下四個(gè)主要階段。1.第一代操作系統(tǒng)第一代操作系統(tǒng)的時(shí)間范圍從20世紀(jì)40年代中期到50年代中期。20世紀(jì)40年代中期,最早的計(jì)算機(jī)主要構(gòu)成部件是真空管。這個(gè)時(shí)期的真空管計(jì)算機(jī)通常由數(shù)以萬(wàn)計(jì)的真空管構(gòu)成,體積龐大,一臺(tái)計(jì)算機(jī)往往要占一間或數(shù)間房子的空間。每一臺(tái)這樣的真空管計(jì)算機(jī)都由一組專(zhuān)業(yè)人員對(duì)其進(jìn)行設(shè)計(jì)、構(gòu)造、編程、操作與維護(hù)。當(dāng)時(shí)的編程完全采用機(jī)器語(yǔ)言,對(duì)計(jì)算機(jī)基本功能的控制是通過(guò)對(duì)插線(xiàn)板線(xiàn)路連接的手工模式來(lái)實(shí)現(xiàn)的。在這個(gè)時(shí)期,沒(méi)有“程序設(shè)計(jì)語(yǔ)言”的概念,也沒(méi)有匯編語(yǔ)言,操作系統(tǒng)更是聞所未聞的概念,人們使用計(jì)算機(jī)所完成的任務(wù)幾乎全部是單純的數(shù)值計(jì)算,例如計(jì)算正弦、余弦與對(duì)數(shù)值等。到20世紀(jì)50年代初期,隨著穿孔卡片以及紙帶等輸入輸出設(shè)備的出現(xiàn),計(jì)算機(jī)的操作模式也發(fā)生了一些改變。有了這些輸入輸出設(shè)備,程序可以寫(xiě)在卡片上,計(jì)算機(jī)讀入卡片,不再使用插線(xiàn)板等純手工操作模式。22.第二代操作系統(tǒng)第二代操作系統(tǒng)的時(shí)間范圍從20世紀(jì)50年代中期60年代中期。在20世紀(jì)50年代中期,晶體管的出現(xiàn)徹底改變了計(jì)算機(jī)發(fā)展的面貌。這一時(shí)期的計(jì)算機(jī)變得更加可靠,能夠長(zhǎng)時(shí)間持續(xù)穩(wěn)定地工作,人們可以用計(jì)算機(jī)完成一些有用的工作。此時(shí)的計(jì)算機(jī)稱(chēng)為主機(jī)(Mainframe),通常被放置在專(zhuān)門(mén)的空調(diào)機(jī)房里,并且需要專(zhuān)業(yè)人員來(lái)操作。這些大型主機(jī)非常昂貴,價(jià)格往往要幾百萬(wàn)美元,因此通常只有大公司和主要政府部門(mén)以及高等院校才能支付得起。這種主機(jī)的使用模式通常如下:為了運(yùn)行一個(gè)計(jì)算任務(wù)(單個(gè)程序或者一組程序),程序員首先將程序?qū)懺诩埳?;然后將程序通過(guò)打孔裝置打在卡片上;再將這些卡片拿到一個(gè)專(zhuān)門(mén)的輸入室交給專(zhuān)門(mén)的主機(jī)操作人員;最后,等待計(jì)算任務(wù)運(yùn)行結(jié)束,得到相應(yīng)的輸出結(jié)果。每個(gè)計(jì)算任務(wù)結(jié)束時(shí),操作員都會(huì)將輸出結(jié)果從打印機(jī)上撕下來(lái)并將其送往輸出室,最終交給提交該計(jì)算任務(wù)的程序員。一次計(jì)算任務(wù)執(zhí)行完之后,操作員再?gòu)亩鄠€(gè)任務(wù)卡片中選擇下一個(gè)任務(wù)提交給計(jì)算機(jī)運(yùn)行。

3事實(shí)上,許多寶貴的計(jì)算時(shí)間都消耗在操作員選取卡片、向主機(jī)讀入卡片以及收集打印輸出結(jié)果等過(guò)程中,真正用于計(jì)算的時(shí)間很短。由于計(jì)算機(jī)購(gòu)置成本與機(jī)時(shí)租用費(fèi)用都非常昂貴,人們很快開(kāi)始探索各種方法來(lái)減少這種計(jì)算時(shí)間的浪費(fèi)。最終,人們普遍接受的解決方案是批處理系統(tǒng)(BatchSystem),它將多個(gè)計(jì)算任務(wù)收集到一起,用一個(gè)小型(相對(duì)大型主機(jī)而言)并且廉價(jià)的計(jì)算機(jī)將這些計(jì)算任務(wù)讀入到磁帶上。這些小型計(jì)算機(jī)非常適合諸如讀入卡片、拷貝磁帶以及打印輸出等工作,但是它們并不適合于數(shù)學(xué)計(jì)算任務(wù)。真正的計(jì)算則由昂貴的大型主機(jī)進(jìn)行。早期批處理系統(tǒng)的工作流程主要由以下幾個(gè)步驟組成。首先,程序員將程序卡片提交給負(fù)責(zé)讀入計(jì)算任務(wù)的小型計(jì)算機(jī)。其次,小型計(jì)算機(jī)將多個(gè)計(jì)算任務(wù)的卡片讀入到磁帶上。第三,操作員將輸入磁帶加載到負(fù)責(zé)實(shí)際計(jì)算的大型主機(jī)上。第四,大型主機(jī)執(zhí)行實(shí)際的計(jì)算任務(wù)。第五,操作員將輸出磁帶取出,提交給負(fù)責(zé)打印輸出結(jié)果的小型計(jì)算機(jī)。最后,小型計(jì)算機(jī)打印各個(gè)計(jì)算任務(wù)的輸出結(jié)果。這一時(shí)期的大型計(jì)算機(jī)大多用于科學(xué)與工程計(jì)算,例如求解物理學(xué)和工程中經(jīng)常出現(xiàn)的偏微分方程。這些大型計(jì)算機(jī)所使用的編程語(yǔ)言主要是FORTRAN和匯編語(yǔ)言。具有代表性的第二代操作系統(tǒng)有FMS(FortranMonitorSystem)和IBM公司為其大型機(jī)IBM7094所設(shè)計(jì)開(kāi)發(fā)的IBSYS操作系統(tǒng)。43.第三代操作系統(tǒng)第三代操作系統(tǒng)的時(shí)間范圍從20世紀(jì)60年代中期到80年代。在20世紀(jì)60年代早期,絕大多數(shù)計(jì)算機(jī)生產(chǎn)廠(chǎng)商都有兩條截然不同而且互不兼容的生產(chǎn)線(xiàn)。一條生產(chǎn)線(xiàn)專(zhuān)門(mén)生產(chǎn)大規(guī)??茖W(xué)計(jì)算機(jī),主要用于解決科學(xué)與工程領(lǐng)域的數(shù)字計(jì)算問(wèn)題。另一條生產(chǎn)線(xiàn)專(zhuān)門(mén)生產(chǎn)商用計(jì)算機(jī),此類(lèi)計(jì)算機(jī)廣泛應(yīng)用于銀行和保險(xiǎn)公司等行業(yè),主要負(fù)責(zé)完成磁帶檢索與打印等功能。對(duì)于計(jì)算機(jī)生產(chǎn)廠(chǎng)商而言,開(kāi)發(fā)與維護(hù)兩條完全不同的生產(chǎn)線(xiàn)費(fèi)用太高。為了解決這一問(wèn)題,IBM公司于1964年推出了大型計(jì)算機(jī)System/360。事實(shí)上,360是一系列軟件兼容的計(jì)算機(jī),既涵蓋規(guī)模較小、功能簡(jiǎn)單的類(lèi)似IBM1401大小的計(jì)算機(jī),也包括規(guī)模較大、功能強(qiáng)大的IBM7094等計(jì)算機(jī)。所有這些計(jì)算機(jī)都共用代號(hào)為OS/360的操作系統(tǒng),而不再是為每一種型號(hào)的計(jì)算機(jī)量身訂制操作系統(tǒng)。同一系列不同型號(hào)計(jì)算機(jī)的區(qū)別僅僅在于其價(jià)格和性能,例如最大內(nèi)存容量、處理器速度以及所支持的I/O設(shè)備個(gè)數(shù)等。5由于同系列的所有計(jì)算機(jī)都具有相同的體系結(jié)構(gòu)與指令集,至少在理論上而言,為其中一種計(jì)算機(jī)所寫(xiě)的程序應(yīng)該能夠在同系列所有其他的計(jì)算機(jī)上運(yùn)行。IBM的360系列計(jì)算機(jī)在設(shè)計(jì)之初就著眼于既可以進(jìn)行科學(xué)計(jì)算,也可用于商務(wù)計(jì)算。這樣一來(lái),單系列的計(jì)算機(jī)產(chǎn)品就可以滿(mǎn)足所有領(lǐng)域用戶(hù)的需求。這種讓單一操作系統(tǒng)適用于整個(gè)系列產(chǎn)品的思想是System/360成功的關(guān)鍵。在360之后,IBM又相繼推出了多個(gè)與360兼容的產(chǎn)品系列。與第二代操作系統(tǒng)相比,以O(shè)S/360為代表的第三代操作系統(tǒng)最重要的一個(gè)關(guān)鍵技術(shù)是多道程序(Multiprogramming)。多道程序技術(shù)的基本思想是將內(nèi)存劃分為多個(gè)區(qū)段,不同的計(jì)算任務(wù)存放在不同的區(qū)段中。當(dāng)內(nèi)存中的某個(gè)任務(wù)等待I/O操作時(shí),操作系統(tǒng)調(diào)度另一個(gè)任務(wù)使用CPU,從而避免了CPU的空閑等待現(xiàn)象,提高了CPU資源的使用率。在第三代操作系統(tǒng)的發(fā)展過(guò)程中,為了解決批處理系統(tǒng)固有的用戶(hù)響應(yīng)時(shí)間過(guò)長(zhǎng)的問(wèn)題,人們還研究開(kāi)發(fā)了分時(shí)(Timesharing)操作系統(tǒng)。第一個(gè)正式的分時(shí)操作系統(tǒng)是MIT于1961年開(kāi)發(fā)的兼容分時(shí)系統(tǒng)CTSS(CompatibleTimeSharingSystem)?;贑TSS的成功經(jīng)驗(yàn),MIT、貝爾實(shí)驗(yàn)室與通用電氣公司聯(lián)合研究開(kāi)發(fā)了MULTICS(MULTiplexedInformationandComputingService)系統(tǒng)。6MULTICS以電力傳輸系統(tǒng)為模型,希望構(gòu)建這樣一種計(jì)算系統(tǒng):一臺(tái)大型計(jì)算機(jī)能夠?yàn)槟骋粎^(qū)域內(nèi)數(shù)以千計(jì)的用戶(hù)提供計(jì)算服務(wù)。盡管MULTICS最終在商業(yè)上沒(méi)有獲得成功,但是其研究開(kāi)發(fā)過(guò)程中引入了許多重要的概念和思想,這對(duì)后來(lái)操作系統(tǒng)的發(fā)展產(chǎn)生了極大的影響。貝爾實(shí)驗(yàn)室著名的計(jì)算機(jī)科學(xué)家KenThompson根據(jù)他在MULTICS項(xiàng)目研究中的經(jīng)驗(yàn),在一個(gè)閑置的小型機(jī)PDP-7上開(kāi)發(fā)出了一個(gè)精簡(jiǎn)的單用戶(hù)版MULTICS。這個(gè)操作系統(tǒng)后來(lái)發(fā)展成為大名鼎鼎的Unix操作系統(tǒng)。更多關(guān)于Unix操作系統(tǒng)的內(nèi)容將在6.3節(jié)介紹。操作系統(tǒng)領(lǐng)域的權(quán)威,AndrewS.Tanenbaum于1987年模仿Unix開(kāi)發(fā)了一個(gè)叫做Minix的小型操作系統(tǒng),其功能與Unix非常相似,但僅用于教學(xué)研究的目的。這個(gè)在互聯(lián)網(wǎng)上公布的免費(fèi)軟件很快引起一位叫做LinusTorvalds的芬蘭大學(xué)生的關(guān)注,?他在Minix的基礎(chǔ)上寫(xiě)出了Linux操作系統(tǒng),Linux不再限于教學(xué)研究的范疇,而是一個(gè)真正意義上的免費(fèi)操作系統(tǒng)軟件產(chǎn)品。更多關(guān)于Linux操作系統(tǒng)的內(nèi)容將在6.4節(jié)介紹。74.第四代操作系統(tǒng)第四代操作系統(tǒng)的時(shí)間范圍從20世紀(jì)80年代中期至今。隨著大規(guī)模集成電路技術(shù)的發(fā)展,數(shù)以萬(wàn)計(jì)的晶體管能夠集成到一平方厘米的芯片上,個(gè)人電腦的時(shí)代到來(lái)了。個(gè)人電腦在體系結(jié)構(gòu)上與PDP-11之類(lèi)的小型機(jī)并沒(méi)有本質(zhì)上的區(qū)別,但其價(jià)格卻低得多,這使得計(jì)算機(jī)從大企業(yè)和高等院校走向了個(gè)人用戶(hù)。個(gè)人電腦的普及與發(fā)展離不開(kāi)操作系統(tǒng)的支持。當(dāng)Intel公司于1974年推出其第一代通用8位微處理器8080之后,GaryKildall等人為8080開(kāi)發(fā)了一個(gè)基于磁盤(pán)的操作系統(tǒng)CP/M(ControlProgramforMicrocomputers)。隨著CP/M系統(tǒng)功能的不斷完善,人們開(kāi)發(fā)出許多適用于CP/M系統(tǒng)的應(yīng)用程序,使得CP/M在微機(jī)操作系統(tǒng)領(lǐng)域連續(xù)五年占據(jù)絕對(duì)統(tǒng)治地位。20世紀(jì)80年代初期,IBM公司推出了IBMPC。BillGates看準(zhǔn)時(shí)機(jī),為IBMPC開(kāi)發(fā)了MS-DOS(MicrosoftDiskOperatingSystem),并且迅速占領(lǐng)了IBMPC市場(chǎng)。微軟的MS-DOS與IBMPC捆綁銷(xiāo)售,產(chǎn)生了雙贏(yíng)的效果,獲得了極大的成功。8隨著圖形用戶(hù)界面GUI(GraphicalUserInterface)技術(shù)的發(fā)展,微軟又相繼推出了一系列基于GUI的操作系統(tǒng),其中比較有代表性的有Windows95、Windows98、WindowsNT、Windows2000、WindowsME(Millenniumedition)、WindowsXP以及Windows7等。在個(gè)人電腦領(lǐng)域,與微軟的Windows系列操作系統(tǒng)相抗衡的一個(gè)主要競(jìng)爭(zhēng)對(duì)手是Unix。Unix操作系統(tǒng)主要定位于工作站和其他高端計(jì)算機(jī),例如大多數(shù)網(wǎng)絡(luò)服務(wù)器都使用Unix操作系統(tǒng)。Unix操作系統(tǒng)尤其受那些使用RISC芯片的高性能計(jì)算機(jī)的歡迎。對(duì)于小型辦公環(huán)境與普通個(gè)人用戶(hù)而言,Linux操作系統(tǒng)也是微軟Windows系列操作系統(tǒng)有力的競(jìng)爭(zhēng)者之一?,F(xiàn)在,許多學(xué)生和越來(lái)越多的企業(yè)也開(kāi)始使用Linux操作系統(tǒng)。96.1.2操作系統(tǒng)的定義操作系統(tǒng)是幾乎所有計(jì)算機(jī)系統(tǒng)的一個(gè)重要組成部分。如圖6.1所示,一個(gè)計(jì)算機(jī)系統(tǒng)大體上可以劃分為四個(gè)組成部分:計(jì)算機(jī)硬件、操作系統(tǒng)、系統(tǒng)和應(yīng)用程序以及用戶(hù)。盡管大多數(shù)計(jì)算機(jī)用戶(hù)都或多或少有一些使用操作系統(tǒng)的經(jīng)驗(yàn),但是很難為操作系統(tǒng)下一個(gè)非常完備與準(zhǔn)確的定義。簡(jiǎn)言之,操作系統(tǒng)是介于計(jì)算機(jī)硬件與計(jì)算機(jī)用戶(hù)之間的一層軟件,其目的是為計(jì)算機(jī)用戶(hù)提供一個(gè)能夠執(zhí)行程序(系統(tǒng)程序和應(yīng)用程序)的環(huán)境。操作系統(tǒng)最主要的設(shè)計(jì)目標(biāo)是使計(jì)算機(jī)系統(tǒng)便于用戶(hù)使用。其次,操作系統(tǒng)還要為計(jì)算機(jī)用戶(hù)提供一個(gè)高效使用計(jì)算機(jī)硬件資源的環(huán)境與工作模式。

10操作系統(tǒng)的功能主要分為本質(zhì)上不相關(guān)的兩個(gè)方面:操作系統(tǒng)既起到擴(kuò)展機(jī)(ExtendedMachine)或者虛擬機(jī)(VirtualMachine)的作用;同時(shí)又扮演著計(jì)算機(jī)軟硬件資源管理者的角色。一方面,作為擴(kuò)展機(jī),操作系統(tǒng)屏蔽了計(jì)算機(jī)硬件底層復(fù)雜而繁瑣的體系結(jié)構(gòu)層面的細(xì)節(jié),為普通程序員提供了一種簡(jiǎn)單易用的系統(tǒng)抽象,使程序員可以通過(guò)操作系統(tǒng)更容易地編寫(xiě)程序。換言之,操作系統(tǒng)為程序員提供了一種虛擬機(jī),它屏蔽了諸如指令集、中斷、計(jì)時(shí)器、總線(xiàn)結(jié)構(gòu)、磁盤(pán)管理以及內(nèi)存管理等底層硬件實(shí)現(xiàn)細(xì)節(jié)。操作系統(tǒng)是通過(guò)向上層提供一系列的系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)這一功能的。另一方面,操作系統(tǒng)還是計(jì)算機(jī)系統(tǒng)資源的管理者?,F(xiàn)代計(jì)算機(jī)是一種包含了許多部件與設(shè)備的復(fù)雜系統(tǒng),例如處理器、內(nèi)存、計(jì)時(shí)器、磁盤(pán)、顯示器、鼠標(biāo)、鍵盤(pán)、網(wǎng)絡(luò)接口以及打印機(jī)等。操作系統(tǒng)的任務(wù)就是有效地管理計(jì)算機(jī)系統(tǒng)的所有資源,在多個(gè)相互爭(zhēng)用系統(tǒng)資源的程序之間合理而有序地分配諸如處理器、內(nèi)存與I/O設(shè)備等有限的資源。116.2面向網(wǎng)絡(luò)的操作系統(tǒng)6.2.1面向網(wǎng)絡(luò)的操作系統(tǒng)的基本概念計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,特別是Internet與萬(wàn)維網(wǎng)的迅速普及,給操作系統(tǒng)的發(fā)展帶來(lái)了深刻的影響。當(dāng)PC在20世紀(jì)70年代剛剛面市的時(shí)候,當(dāng)時(shí)是被設(shè)計(jì)成供用戶(hù)“個(gè)人”使用的計(jì)算機(jī)。人們通常將每一臺(tái)個(gè)人電腦看做一臺(tái)獨(dú)立的計(jì)算機(jī),這些沒(méi)有網(wǎng)絡(luò)連接的PC事實(shí)上是一些信息孤島。但是,從上世紀(jì)80年代開(kāi)始,隨著電子郵件(email)與文件傳輸(FTP)等Internet應(yīng)用的廣泛使用,越來(lái)越多的PC開(kāi)始接入計(jì)算機(jī)網(wǎng)絡(luò)。到了上世紀(jì)90年代中期,隨著萬(wàn)維網(wǎng)的推廣與普及,網(wǎng)絡(luò)連接逐漸發(fā)展成為計(jì)算機(jī)系統(tǒng)必需的一個(gè)組成部分。一方面,網(wǎng)絡(luò)操作系統(tǒng)有別于傳統(tǒng)的單處理器操作系統(tǒng)。首先,計(jì)算機(jī)網(wǎng)絡(luò)中包含多個(gè)分布在不同位置的處理器,這些處理器沒(méi)有共享的內(nèi)存與時(shí)鐘,每個(gè)處理器擁有各自的本地內(nèi)存。其次,網(wǎng)絡(luò)中處理器之間的通信可能使用各種各樣的通信線(xiàn)路,例如高速總線(xiàn)或者電話(huà)線(xiàn)路。這些特點(diǎn)使得網(wǎng)絡(luò)操作系統(tǒng)與單處理器操作系統(tǒng)存在一些區(qū)別。在一個(gè)網(wǎng)絡(luò)操作系統(tǒng)中,用戶(hù)可以感知到網(wǎng)絡(luò)中其他計(jì)算機(jī)的存在,進(jìn)而能夠登錄到遠(yuǎn)程的計(jì)算機(jī)上,并且在本地與遠(yuǎn)程多個(gè)計(jì)算機(jī)之間進(jìn)行文件拷貝。每臺(tái)計(jì)算機(jī)都運(yùn)行各自的本地操作系統(tǒng),擁有各自的單個(gè)或多個(gè)本地用戶(hù)。12另一方面,網(wǎng)絡(luò)操作系統(tǒng)與傳統(tǒng)的單處理器操作系統(tǒng)并沒(méi)有根本上的區(qū)別。顧名思義,網(wǎng)絡(luò)操作系統(tǒng)顯然需要具備對(duì)網(wǎng)絡(luò)接口的支持和一些相關(guān)的底層驅(qū)動(dòng)軟件,還要有進(jìn)行遠(yuǎn)程登錄與遠(yuǎn)程文件訪(fǎng)問(wèn)的程序。但是,這些與網(wǎng)絡(luò)相關(guān)的附加成分并沒(méi)有改變網(wǎng)絡(luò)操作系統(tǒng)作為一個(gè)操作系統(tǒng)的本質(zhì)結(jié)構(gòu)。綜上所述,給出網(wǎng)絡(luò)操作系統(tǒng)的定義如下。網(wǎng)絡(luò)操作系統(tǒng)是一種能夠提供諸如網(wǎng)絡(luò)文件共享功能的操作系統(tǒng),它能夠提供某種網(wǎng)絡(luò)通信手段,使網(wǎng)絡(luò)中不同計(jì)算機(jī)上的不同進(jìn)程之間可以進(jìn)行信息交流。一臺(tái)運(yùn)行網(wǎng)絡(luò)操作系統(tǒng)的計(jì)算機(jī)既可以脫離網(wǎng)絡(luò)上其他的計(jì)算機(jī)而獨(dú)立運(yùn)行,也能夠感知網(wǎng)絡(luò)的存在并且能夠與網(wǎng)絡(luò)中的其他計(jì)算機(jī)進(jìn)行通信交流。與網(wǎng)絡(luò)操作系統(tǒng)相關(guān),并且經(jīng)常與網(wǎng)絡(luò)操作系統(tǒng)相混淆的一個(gè)概念是分布式操作系統(tǒng)。與網(wǎng)絡(luò)操作系統(tǒng)不同,盡管該系統(tǒng)內(nèi)包含多個(gè)處理器,但是分布式操作系統(tǒng)對(duì)其用戶(hù)而言卻看似一個(gè)傳統(tǒng)的單處理器操作系統(tǒng)。分布式操作系統(tǒng)的用戶(hù)既無(wú)需知道其程序是在哪一個(gè)處理器上運(yùn)行,也不必了解其文件存儲(chǔ)在哪一臺(tái)計(jì)算機(jī)上,所有這些繁瑣的底層細(xì)節(jié)都由分布式操作系統(tǒng)高效地自動(dòng)處理。與網(wǎng)絡(luò)操作系統(tǒng)相比,分布式操作系統(tǒng)是一種自治性更弱的環(huán)境,為了給用戶(hù)呈現(xiàn)一種單個(gè)操作系統(tǒng)控制整個(gè)網(wǎng)絡(luò)的表面現(xiàn)象,系統(tǒng)內(nèi)各個(gè)不同的操作系統(tǒng)之間需要進(jìn)行較為緊密的通信交流。136.2.2面向網(wǎng)絡(luò)的操作系統(tǒng)的主要功能接下來(lái),按照網(wǎng)絡(luò)操作系統(tǒng)與分布式操作系統(tǒng)兩個(gè)方面,介紹面向網(wǎng)絡(luò)的操作系統(tǒng)的主要功能。網(wǎng)絡(luò)操作系統(tǒng)為用戶(hù)提供了一種計(jì)算環(huán)境,在這種環(huán)境中用戶(hù)可以感知到系統(tǒng)中存在其他多個(gè)計(jì)算機(jī),而且用戶(hù)能夠通過(guò)兩種方式訪(fǎng)問(wèn)遠(yuǎn)程計(jì)算機(jī)的資源:登錄到遠(yuǎn)程計(jì)算機(jī)或者從遠(yuǎn)程計(jì)算機(jī)上向本地計(jì)算機(jī)傳輸數(shù)據(jù)。141.網(wǎng)絡(luò)操作系統(tǒng)1)遠(yuǎn)程登錄(RemoteLogin)網(wǎng)絡(luò)操作系統(tǒng)的一個(gè)重要功能是使用戶(hù)能夠遠(yuǎn)程登錄到另一臺(tái)計(jì)算機(jī)上去。Internet上的telnet程序就是最常見(jiàn)的進(jìn)行遠(yuǎn)程登錄的網(wǎng)絡(luò)程序。這個(gè)程序能夠使用戶(hù)登錄到一臺(tái)遠(yuǎn)程的計(jì)算機(jī)上,使用該計(jì)算機(jī)的系統(tǒng)資源(如CPU)。為了能夠進(jìn)行遠(yuǎn)程登錄訪(fǎng)問(wèn),該用戶(hù)在遠(yuǎn)程計(jì)算機(jī)上必須擁有一個(gè)有效的賬戶(hù),通常包括一個(gè)用戶(hù)名(userid)與一個(gè)密碼(password)。該命令的一般形式如下:telnethostname運(yùn)行該命令將在本地用戶(hù)的計(jì)算機(jī)與hostname所表示的遠(yuǎn)程主機(jī)之間建立一個(gè)連接。在這個(gè)連接建立之后,相應(yīng)的網(wǎng)絡(luò)軟件將在兩臺(tái)計(jì)算機(jī)之間建立一個(gè)透明的雙向信息鏈路,本地用戶(hù)輸入的所有字符都被發(fā)送到遠(yuǎn)程計(jì)算機(jī)上的一個(gè)進(jìn)程,該進(jìn)程發(fā)出的所有輸出結(jié)果都被返回給本地用戶(hù)。在實(shí)際進(jìn)行通信之前,遠(yuǎn)程計(jì)算機(jī)上的進(jìn)程首先詢(xún)問(wèn)本地用戶(hù)的賬戶(hù)信息,包括登錄用戶(hù)名與相應(yīng)的密碼。一旦用戶(hù)輸入正確的賬戶(hù)信息,該進(jìn)程轉(zhuǎn)變?yōu)楸镜赜脩?hù)在遠(yuǎn)程計(jì)算機(jī)上的代理程序,使本地用戶(hù)可以像遠(yuǎn)程計(jì)算機(jī)上的用戶(hù)一樣進(jìn)行計(jì)算或者執(zhí)行其他操作。152)遠(yuǎn)程文件傳輸(RemoteFileTransfer)網(wǎng)絡(luò)操作系統(tǒng)的另一個(gè)重要功能是給用戶(hù)提供一種從一臺(tái)計(jì)算機(jī)向另一臺(tái)計(jì)算機(jī)進(jìn)行遠(yuǎn)程文件傳輸?shù)臋C(jī)制。在遠(yuǎn)程文件傳輸?shù)倪^(guò)程中,每臺(tái)計(jì)算機(jī)負(fù)責(zé)管理本地的文件系統(tǒng)。如果一個(gè)站點(diǎn)(比如)上的用戶(hù)想要獲得位于另一臺(tái)計(jì)算機(jī)(比如)上的某個(gè)文件,必須指明該文件的具體位置并將其拷貝到本地計(jì)算機(jī)上。在Internet上有一個(gè)非常流行的FTP(FileTransferProtocol,文件傳輸協(xié)議)程序,用戶(hù)可以使用這個(gè)程序進(jìn)行遠(yuǎn)程文件傳輸。例如,如果上的某個(gè)用戶(hù)需要將存儲(chǔ)在上的一個(gè)名為network_os.ppt的文件拷貝到本地計(jì)算機(jī)上,并將其文件名改為my_network_os.ppt,該用戶(hù)首先需要執(zhí)行以下命令來(lái)運(yùn)行FTP程序:ftp接下來(lái)FTP程序提示用戶(hù)輸入登錄用戶(hù)名和密碼,在用戶(hù)輸入正確的登錄用戶(hù)名和密碼之后,用戶(hù)必須進(jìn)入network_os.ppt所在的子目錄,然后通過(guò)執(zhí)行以下命令進(jìn)行文件拷貝:getnetwork_os.pptmy_network_os.ppt其中,get命令的功能是從遠(yuǎn)程計(jì)算機(jī)上拷貝文件到本地計(jì)算機(jī)。與之相反,用戶(hù)還可以將本地計(jì)算機(jī)上的文件拷貝到遠(yuǎn)程計(jì)算機(jī)上。16此外,還有當(dāng)前目錄列表以及改變當(dāng)前目錄等命令,表6.1給出常用的FTP命令。在這種遠(yuǎn)程文件傳輸?shù)倪^(guò)程中,目標(biāo)文件的存儲(chǔ)位置對(duì)于用戶(hù)并不是透明的,用戶(hù)必須清楚地知道目標(biāo)文件在遠(yuǎn)程計(jì)算機(jī)上存放的具體位置。從本質(zhì)上講,這種遠(yuǎn)程文件傳輸并不是真正的文件共享(filesharing),僅僅是用戶(hù)將文件從一個(gè)站點(diǎn)拷貝到另一臺(tái)計(jì)算機(jī)上而已。因此,大量執(zhí)行FTP程序的結(jié)果會(huì)使一個(gè)文件產(chǎn)生多個(gè)副本,它們存放在不同的計(jì)算機(jī)上,導(dǎo)致存儲(chǔ)空間的浪費(fèi)。用戶(hù)一旦對(duì)某個(gè)文件副本進(jìn)行了改動(dòng),將會(huì)導(dǎo)致多個(gè)拷貝文件之間的不一致。172.分布式操作系統(tǒng)分布式操作系統(tǒng)與網(wǎng)絡(luò)操作系統(tǒng)存在明顯的不同。在一個(gè)分布式操作系統(tǒng)中,用戶(hù)訪(fǎng)問(wèn)遠(yuǎn)程計(jì)算機(jī)資源的方式與訪(fǎng)問(wèn)本地計(jì)算機(jī)資源一樣。分布式操作系統(tǒng)負(fù)責(zé)控制不同計(jì)算機(jī)之間的數(shù)據(jù)遷移、計(jì)算遷移和進(jìn)程遷移。1)數(shù)據(jù)遷移(DataMigration)如果結(jié)點(diǎn)A上的用戶(hù)想要訪(fǎng)問(wèn)結(jié)點(diǎn)B上的數(shù)據(jù)(比如某個(gè)文件),操作系統(tǒng)通常用兩種基本的方法來(lái)完成相應(yīng)的數(shù)據(jù)傳輸工作。一種方法是將整個(gè)文件從結(jié)點(diǎn)B傳輸?shù)浇Y(jié)點(diǎn)A上。在此之后,結(jié)點(diǎn)A上的用戶(hù)對(duì)該文件的所有訪(fǎng)問(wèn)都是本地操作。在用戶(hù)對(duì)該文件的訪(fǎng)問(wèn)結(jié)束之后,如果該文件在本次訪(fǎng)問(wèn)過(guò)程中被修改了的話(huà),需要將該文件的副本傳回結(jié)點(diǎn)B。值得注意的是,對(duì)于一個(gè)大型文件,即使用戶(hù)對(duì)該文件僅僅進(jìn)行了一點(diǎn)點(diǎn)改動(dòng),在訪(fǎng)問(wèn)結(jié)束后也必須將整個(gè)文件全部傳回源結(jié)點(diǎn)。另一種方法是只把當(dāng)前用戶(hù)任務(wù)真正需要的那部分文件從結(jié)點(diǎn)B傳輸?shù)浇Y(jié)點(diǎn)A上。如果用戶(hù)稍后又需要其他部分的文件,再傳輸所需部分文件,每次僅僅傳輸文件的某個(gè)部分,而不是傳輸整個(gè)文件。在用戶(hù)對(duì)該文件的訪(fǎng)問(wèn)結(jié)束之后,必須把所有在本次訪(fǎng)問(wèn)過(guò)程中被修改了的部分傳回結(jié)點(diǎn)B。如果在訪(fǎng)問(wèn)一個(gè)大型文件的過(guò)程中僅對(duì)其中很小一部分進(jìn)行了改動(dòng),顯然上述第二種方法更加適用。相反,如果在一次文件訪(fǎng)問(wèn)過(guò)程中對(duì)相當(dāng)大的部分進(jìn)行了改動(dòng),那么采用上述第一種方法效率會(huì)更高一些。182)計(jì)算遷移(ComputationMigration)在某些情況下,在不同的系統(tǒng)之間進(jìn)行計(jì)算傳輸比進(jìn)行數(shù)據(jù)傳輸更加有效。例如,某用戶(hù)計(jì)算任務(wù)需要訪(fǎng)問(wèn)位于不同結(jié)點(diǎn)上的多個(gè)大型文件,以獲得這些文件的一些匯總信息。為解決這一問(wèn)題,可以采用上述數(shù)據(jù)遷移的方法,將這些文件復(fù)制到本地結(jié)點(diǎn)進(jìn)行集中訪(fǎng)問(wèn)與信息匯總。另一種效率更高的方法是在遠(yuǎn)程結(jié)點(diǎn)上訪(fǎng)問(wèn)這些文件,只把訪(fǎng)問(wèn)的結(jié)果返回到發(fā)起本次計(jì)算任務(wù)的用戶(hù)結(jié)點(diǎn),這樣可以避免大量的數(shù)據(jù)遷移。一般而言,如果傳輸這些文件所需的時(shí)間比執(zhí)行那些遠(yuǎn)程命令的時(shí)間更長(zhǎng)的話(huà),應(yīng)該采用執(zhí)行遠(yuǎn)程命令的方法。計(jì)算遷移可通過(guò)多種不同方法實(shí)現(xiàn)。第一種方法是通過(guò)執(zhí)行遠(yuǎn)程過(guò)程調(diào)用(RPC:RemoteProcedureCall)實(shí)現(xiàn)計(jì)算遷移。遠(yuǎn)程過(guò)程調(diào)用是使用數(shù)據(jù)報(bào)協(xié)議在遠(yuǎn)程計(jì)算機(jī)系統(tǒng)上執(zhí)行某個(gè)例程。例如,本地結(jié)點(diǎn)上的進(jìn)程P要訪(fǎng)問(wèn)某遠(yuǎn)程結(jié)點(diǎn)A上的文件,進(jìn)程P通過(guò)一個(gè)遠(yuǎn)程過(guò)程調(diào)用激活結(jié)點(diǎn)A上的某個(gè)預(yù)定義的過(guò)程,由該過(guò)程在遠(yuǎn)程結(jié)點(diǎn)A上執(zhí)行相應(yīng)的計(jì)算與操作,然后將運(yùn)行結(jié)果返回給進(jìn)程P。第二種方法是通過(guò)消息傳遞來(lái)實(shí)現(xiàn)計(jì)算遷移。首先,進(jìn)程P給結(jié)點(diǎn)A發(fā)送一條消息。接下來(lái),結(jié)點(diǎn)A上的操作系統(tǒng)根據(jù)該消息的內(nèi)容創(chuàng)建一個(gè)新的進(jìn)程Q,進(jìn)程Q的任務(wù)是完成進(jìn)程P委托的計(jì)算任務(wù)。當(dāng)進(jìn)程Q在結(jié)點(diǎn)A上完成相應(yīng)的計(jì)算與操作之后,它將進(jìn)程P所需的計(jì)算結(jié)果通過(guò)消息傳遞系統(tǒng)返回給進(jìn)程P。值得注意的是,在這種實(shí)現(xiàn)計(jì)算遷移的方式中,本地進(jìn)程P和遠(yuǎn)程代理進(jìn)程Q可以并發(fā)執(zhí)行。采用這種方法實(shí)現(xiàn)計(jì)算遷移可以允許不同結(jié)點(diǎn)上的多個(gè)進(jìn)程并行運(yùn)行。193)進(jìn)程遷移(ProcessMigration)進(jìn)程遷移是計(jì)算遷移的邏輯擴(kuò)展。當(dāng)用戶(hù)提交一個(gè)進(jìn)程進(jìn)行執(zhí)行的時(shí)候,該進(jìn)程并不總是在生成該進(jìn)程的結(jié)點(diǎn)上執(zhí)行。在某些情況下,將進(jìn)程的全部(或一部分)在其他不同的結(jié)點(diǎn)上執(zhí)行會(huì)產(chǎn)生更好的效果,這是因?yàn)椋菏紫龋瑢⑦M(jìn)程(或其子進(jìn)程)分布到網(wǎng)絡(luò)上多個(gè)不同的結(jié)點(diǎn)上運(yùn)行可以將網(wǎng)絡(luò)的計(jì)算負(fù)載分配得更加平衡,實(shí)現(xiàn)網(wǎng)絡(luò)系統(tǒng)的負(fù)載均衡(loadbalance)。其次,如果一個(gè)進(jìn)程可以被分解成多個(gè)子進(jìn)程并且能夠分配到多個(gè)不同的結(jié)點(diǎn)上并行執(zhí)行的話(huà),該進(jìn)程的完成時(shí)間會(huì)大幅縮減,起到計(jì)算加速的作用。第三,在硬件方面,不同的進(jìn)程有不同的特性,某些進(jìn)程更適合在某些專(zhuān)用處理器上運(yùn)行。例如,矩陣求逆運(yùn)算更適合在陣列處理機(jī)上運(yùn)行,而不適合在微處理機(jī)上運(yùn)行。第四,在軟件方面,執(zhí)行某進(jìn)程所需的軟件可能只有某個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)上才有。如果該軟件不能在結(jié)點(diǎn)間移動(dòng),或者在結(jié)點(diǎn)間移動(dòng)進(jìn)程成本更低,對(duì)于這兩種情況進(jìn)程遷移就會(huì)變得非常有用。最后,與計(jì)算遷移相似,如果在計(jì)算過(guò)程中使用的數(shù)據(jù)非常龐大的話(huà),相對(duì)于把所有數(shù)據(jù)全部傳輸?shù)奖镜亟Y(jié)點(diǎn),運(yùn)行一個(gè)遠(yuǎn)程進(jìn)程的方法效率更高。20目前使用的萬(wàn)維網(wǎng)滿(mǎn)足上述分布式計(jì)算環(huán)境的多個(gè)特點(diǎn)。首先,萬(wàn)維網(wǎng)能夠提供數(shù)據(jù)遷移功能,服務(wù)器與客戶(hù)端之間的數(shù)據(jù)傳輸就是很好的實(shí)例。第二,萬(wàn)維網(wǎng)還具有計(jì)算遷移功能,例如客戶(hù)端可以觸發(fā)服務(wù)器上的某個(gè)數(shù)據(jù)庫(kù)查詢(xún)操作。第三,Java語(yǔ)言提供了一定的進(jìn)程遷移功能。網(wǎng)絡(luò)操作系統(tǒng)能夠提供大多數(shù)上述的基本網(wǎng)絡(luò)功能。相對(duì)于網(wǎng)絡(luò)操作系統(tǒng),分布式操作系統(tǒng)要求更高,它追求的目標(biāo)是為用戶(hù)提供一個(gè)透明、無(wú)縫而且易于訪(fǎng)問(wèn)的網(wǎng)絡(luò)計(jì)算環(huán)境。216.3Unix操作系統(tǒng)接下來(lái),在本節(jié)和6.4節(jié)分別介紹兩個(gè)實(shí)際的網(wǎng)絡(luò)操作系統(tǒng)--Unix與Linux,進(jìn)一步深化對(duì)網(wǎng)絡(luò)操作系統(tǒng)基本概念與主要功能的理解。6.3.1Unix操作系統(tǒng)的發(fā)展歷史早在1969年,貝爾實(shí)驗(yàn)室的KenThompson使用一臺(tái)閑置的PDP-7小型機(jī)開(kāi)發(fā)出了最初版本的Unix操作系統(tǒng)。不久,被稱(chēng)為“C語(yǔ)言之父”的DennisRitchie也加入了KenThompson對(duì)Unix操作系統(tǒng)的研究工作。早期的Unix版本都是由KenThompson和DennisRitchie兩人所帶領(lǐng)的團(tuán)隊(duì)開(kāi)發(fā)的。Unix操作系統(tǒng)吸收和借鑒了其他一些早期操作系統(tǒng)項(xiàng)目的概念與思想,比如由貝爾實(shí)驗(yàn)室、麻省理工學(xué)院和美國(guó)通用電氣公司共同研發(fā)的MULTICS(MULTiplexedInformationandComputingService)系統(tǒng)、麻省理工學(xué)院的CTSS(CompatibleTime-SharingSystem)系統(tǒng)以及XDS-940系統(tǒng)等。其中,對(duì)Unix操作系統(tǒng)影響最深的是MULTICS系統(tǒng)。Unix操作系統(tǒng)的許多概念與想法都直接源于MULTICS系統(tǒng),例如在文件系統(tǒng)的基本組織結(jié)構(gòu)中,將命令解釋器(即shell)視為一個(gè)用戶(hù)進(jìn)程,為每個(gè)用戶(hù)命令使用一個(gè)獨(dú)立的進(jìn)程與文本編輯字符。事實(shí)上,Unix操作系統(tǒng)的名稱(chēng)就來(lái)源于MULTICS系統(tǒng)的名稱(chēng)。221970年,KenThompson用來(lái)開(kāi)發(fā)Unix的那部PDP-7小型機(jī)只能支持兩個(gè)用戶(hù),這與MULTICS名稱(chēng)中多用戶(hù)多任務(wù)(MULTiplexed)的含義相去甚遠(yuǎn)。因此,BrianKernighan戲稱(chēng)KenThompson與DennisRitchie所開(kāi)發(fā)的系統(tǒng)只能算是一個(gè)“UNiplexedInformationandComputingSystem”,于是,這個(gè)系統(tǒng)被稱(chēng)為UNICS。后來(lái),取UNICS的諧音將這個(gè)操作系統(tǒng)的名稱(chēng)正式改為Unix。最初由KenThompson開(kāi)發(fā)的第一版Unix是用匯編語(yǔ)言編寫(xiě)的。由于匯編語(yǔ)言較難理解,不利于Unix系統(tǒng)的推廣和普及。隨著DennisRitchie的加入,他們用C語(yǔ)言重寫(xiě)了Unix操作系統(tǒng),推出了第三版Unix。相對(duì)于匯編語(yǔ)言,C語(yǔ)言是一種高級(jí)語(yǔ)言,比較容易掌握與使用。用C語(yǔ)言重寫(xiě)的Unix操作系統(tǒng)很快推廣開(kāi)來(lái),迅速普及??梢哉f(shuō),Unix操作系統(tǒng)與C語(yǔ)言相輔相成,互相促進(jìn),達(dá)到了雙贏(yíng)的效果。23隨著Unix操作系統(tǒng)的不斷發(fā)展與完善,Unix不僅在貝爾實(shí)驗(yàn)室內(nèi)部廣為使用,還逐漸擴(kuò)展到一些其他的高等院校與科研機(jī)構(gòu)。早期的Unix操作系統(tǒng)具有許多優(yōu)點(diǎn),例如系統(tǒng)規(guī)模較小、系統(tǒng)模塊化程度高、設(shè)計(jì)簡(jiǎn)潔明了等等。這些特點(diǎn)吸引了許多其他計(jì)算機(jī)科研機(jī)構(gòu)紛紛投入到對(duì)Unix的研究工作中,例如蘭德公司、哈佛大學(xué)及普渡大學(xué)等著名研究機(jī)構(gòu)和高等院校。其中,最有影響力的非貝爾實(shí)驗(yàn)室體系的Unix研究機(jī)構(gòu)是加州大學(xué)伯克利分校(UCB:UniversityofCaliforniaatBerkeley)。加州大學(xué)伯克利分校對(duì)Unix操作系統(tǒng)的研究工作最早始于1978年,由BillJoy與OzalpBabaoglu領(lǐng)導(dǎo)。他們的研究很快得到美國(guó)國(guó)防高級(jí)研究項(xiàng)目局DARPA的支持,致力于研究Unix系統(tǒng)在政府部門(mén)的應(yīng)用。他們推出了一系列的Unix操作系統(tǒng)版本,例如2.11BSD(BerkeleySoftwareDistribution,伯克利軟件發(fā)行版)、3BSD、4.2BSD以及4.3BSD等。加州大學(xué)伯克利分校于1993年6月推出了其最終的Unix版本4.4BSD,該版本支持新X.25網(wǎng)絡(luò),并且與POSIX標(biāo)準(zhǔn)兼容。4.4BSD包括一個(gè)全新的文件系統(tǒng)組織結(jié)構(gòu),一個(gè)虛擬文件系統(tǒng)接口,并且支持可堆疊式文件系統(tǒng)。4.4BSD還借鑒了Mach系統(tǒng)的虛擬內(nèi)存系統(tǒng)技術(shù)。除此之外,4.4BSD還全面提高了系統(tǒng)的安全性,改進(jìn)了操作系統(tǒng)內(nèi)核的結(jié)構(gòu)。隨著4.4BSD的發(fā)布,加州大學(xué)伯克利分校也停止了對(duì)Unix的研究工作。24在實(shí)踐中廣泛使用的Unix操作系統(tǒng)并不僅僅局限于貝爾實(shí)驗(yàn)室與加州大學(xué)伯克利分校所研究和開(kāi)發(fā)的各種Unix版本。例如,美國(guó)SunMicrosystems公司在其推出的工作站上配置BSD風(fēng)格的Unix操作系統(tǒng),極大地推動(dòng)了Unix操作系統(tǒng)的普及和應(yīng)用。隨著Unix操作系統(tǒng)越來(lái)越受用戶(hù)的歡迎和喜愛(ài),Unix操作系統(tǒng)陸續(xù)被移植到許多不同種類(lèi)的計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)上。在此過(guò)程中,人們創(chuàng)造出了種類(lèi)繁多的Unix系統(tǒng)以及許多類(lèi)似Unix的操作系統(tǒng)。目前,Unix操作系統(tǒng)已經(jīng)成為可移植性最強(qiáng)的操作系統(tǒng)。不同的生產(chǎn)商所開(kāi)發(fā)的不同版本的Unix操作系統(tǒng)在編程接口與用戶(hù)界面等方面都存在明顯差異,用戶(hù)更期待一個(gè)統(tǒng)一的獨(dú)立于特定計(jì)算機(jī)硬件生產(chǎn)商的Unix環(huán)境。因此,用戶(hù)呼吁國(guó)際化的Unix標(biāo)準(zhǔn)的誕生。25目前,Unix系統(tǒng)已經(jīng)從當(dāng)初貝爾實(shí)驗(yàn)室兩名科研人員的個(gè)人研究項(xiàng)目發(fā)展成為一個(gè)世界聞名的操作系統(tǒng),多個(gè)國(guó)際標(biāo)準(zhǔn)化組織為其制定了相關(guān)的標(biāo)準(zhǔn)。長(zhǎng)期以來(lái),Unix操作系統(tǒng)一直深受計(jì)算機(jī)科學(xué)學(xué)術(shù)界的青睞。Unix從其誕生之日起就一直是理想的進(jìn)行操作系統(tǒng)理論與實(shí)踐學(xué)術(shù)研究的載體,例如Tunis操作系統(tǒng)、Xinu操作系統(tǒng)與Minix操作系統(tǒng)等都是基于Unix操作系統(tǒng)的基本概念與思想開(kāi)發(fā)出來(lái)的。時(shí)至今日,學(xué)術(shù)界對(duì)Unix操作系統(tǒng)的研究仍在不斷進(jìn)行當(dāng)中。鑒于Unix操作系統(tǒng)對(duì)計(jì)算機(jī)領(lǐng)域所產(chǎn)生的重要影響,Unix操作系統(tǒng)的兩位鼻祖,KenThompson和DennisRitchie,于1983年被美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM:AssociationforComputingMachinery)聯(lián)合授予計(jì)算機(jī)科學(xué)界的最高榮譽(yù)“圖靈獎(jiǎng)”。1998年,在Unix操作系統(tǒng)問(wèn)世將近30年之后,KenThompson和DennisRitchie又被授予美國(guó)國(guó)家技術(shù)獎(jiǎng)?wù)?,用以表彰他們兩人共同研究和開(kāi)發(fā)了Unix操作系統(tǒng),并且在Unix操作系統(tǒng)的研發(fā)過(guò)程中創(chuàng)造出了在計(jì)算機(jī)領(lǐng)域影響深遠(yuǎn)的C語(yǔ)言,極大地推進(jìn)了信息時(shí)代美國(guó)在計(jì)算機(jī)硬件、軟件與網(wǎng)絡(luò)系統(tǒng)等方面的領(lǐng)先地位。266.3.2Unix操作系統(tǒng)的主要特點(diǎn)最初,KenThompson將Unix設(shè)計(jì)成一種分時(shí)系統(tǒng)(timesharingsystem),給用戶(hù)提供了標(biāo)準(zhǔn)的用戶(hù)接口,即外殼(shell)。無(wú)論是用戶(hù)編寫(xiě)的程序還是系統(tǒng)程序通常都是由一個(gè)命令解釋器(commandinterpreter)執(zhí)行的。Unix操作系統(tǒng)的命令解釋器是一個(gè)用戶(hù)進(jìn)程,被稱(chēng)為shell是因?yàn)樵撨M(jìn)程緊緊包圍在操作系統(tǒng)內(nèi)核的外邊。Unix操作系統(tǒng)的shell非常簡(jiǎn)單,如果需要的話(huà)用戶(hù)可以用一種shell替換另一種shell。事實(shí)上,用戶(hù)甚至可以自己編寫(xiě)shell。目前有若干種Unix系統(tǒng)通用的shell,其中使用最廣的是由SteveBourne編寫(xiě)的Bourneshell。由BillJoy編寫(xiě)的Cshell在BSD系列的Unix操作系統(tǒng)中很受歡迎。另外,由DaveKorn編寫(xiě)的Kornshell結(jié)合了Bourneshell和Cshell的主要優(yōu)點(diǎn),也深受Unix系統(tǒng)用戶(hù)的喜愛(ài)。Unix操作系統(tǒng)的文件系統(tǒng)是一種多級(jí)的樹(shù)型結(jié)構(gòu),該結(jié)構(gòu)允許用戶(hù)創(chuàng)建自己的子目錄。Unix的文件系統(tǒng)支持兩個(gè)主要的對(duì)象:文件和目錄。從本質(zhì)上講,目錄只不過(guò)是具有某種特殊格式的文件而已,因此,文件的表示是Unix文件系統(tǒng)最基本的概念。在Unix操作系統(tǒng)中,每個(gè)用戶(hù)數(shù)據(jù)文件都被視為一個(gè)簡(jiǎn)單的比特序列。Unix操作系統(tǒng)中的一個(gè)文件由一個(gè)稱(chēng)為“I結(jié)點(diǎn)”(inode,亦稱(chēng)為i-node或Inode)的結(jié)構(gòu)表示。inode記錄了存儲(chǔ)在磁盤(pán)上的文件的基本信息,例如該文件的用戶(hù)和用戶(hù)組、文件的上次更改和訪(fǎng)問(wèn)時(shí)間、文件類(lèi)型等等。在Unix操作系統(tǒng)中,目錄與普通文件之間沒(méi)有嚴(yán)格的區(qū)別。目錄內(nèi)容同樣存放在數(shù)據(jù)塊中,目錄與普通文件一樣由一個(gè)inode表示,目錄與文件僅僅在inode的類(lèi)型域中加以區(qū)別。27操作系統(tǒng)的設(shè)計(jì)目標(biāo)之一是將各種硬件設(shè)備的底層細(xì)節(jié)信息對(duì)用戶(hù)隱藏起來(lái)。在Unix操作系統(tǒng)中,各種輸入輸出設(shè)備被視為與磁盤(pán)文件相類(lèi)似的對(duì)象,采用同樣的操作進(jìn)行處理。各種復(fù)雜的I/O設(shè)備相關(guān)細(xì)節(jié)都被盡可能地隱藏于操作系統(tǒng)內(nèi)核(kernel)中。即使在操作系統(tǒng)內(nèi)核中,這些I/O設(shè)備相關(guān)性與細(xì)節(jié)信息也僅限于設(shè)備驅(qū)動(dòng)程序中。在Unix操作系統(tǒng)中,由輸入輸出系統(tǒng)(I/Osystem)將各種輸入輸出設(shè)備的底層細(xì)節(jié)信息屏蔽起來(lái)。Unix的輸入輸出系統(tǒng)包括一個(gè)緩沖高速緩存系統(tǒng)、通用設(shè)備驅(qū)動(dòng)代碼以及各種特定硬件設(shè)備的驅(qū)動(dòng)程序。只有相應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序了解該設(shè)備的各種底層細(xì)節(jié)信息。Unix操作系統(tǒng)支持多進(jìn)程。操作系統(tǒng)設(shè)計(jì)的一個(gè)重要問(wèn)題是如何表示進(jìn)程。Unix操作系統(tǒng)與其他操作系統(tǒng)的一個(gè)顯著區(qū)別是在Unix系統(tǒng)中可以非常容易地創(chuàng)建多個(gè)進(jìn)程,并對(duì)這些進(jìn)程進(jìn)行各種操作處理。在Unix操作系統(tǒng)中,進(jìn)程由各種控制塊(controlblock)表示,這些與進(jìn)程相關(guān)的控制塊存放在操作系統(tǒng)內(nèi)核中。Unix操作系統(tǒng)內(nèi)核使用控制塊中的信息進(jìn)行進(jìn)程控制與CPU調(diào)度工作。在Unix系統(tǒng)中,與進(jìn)程相關(guān)的最基本的數(shù)據(jù)結(jié)構(gòu)是進(jìn)程結(jié)構(gòu)(processstructure),包含了操作系統(tǒng)進(jìn)行進(jìn)程調(diào)度時(shí)所需的所有相關(guān)信息,例如進(jìn)程標(biāo)識(shí)號(hào)、進(jìn)程優(yōu)先級(jí)以及指向其他控制塊的指針等。28Unix操作系統(tǒng)采用一種簡(jiǎn)單的基于優(yōu)先級(jí)的CPU調(diào)度算法。Unix操作系統(tǒng)CPU調(diào)度的主要設(shè)計(jì)思想是便于交互式進(jìn)程(interactiveprocess)的處理。每個(gè)進(jìn)程都有一個(gè)調(diào)度優(yōu)先級(jí)(schedulingpriority),調(diào)度優(yōu)先級(jí)數(shù)字越大表示該進(jìn)程的優(yōu)先級(jí)越低。隨著進(jìn)程使用CPU時(shí)間的不斷累積,該進(jìn)程的調(diào)度優(yōu)先級(jí)變得越來(lái)越低;反之,隨著進(jìn)程累積使用CPU時(shí)間的不斷減少,該進(jìn)程的調(diào)度優(yōu)先級(jí)變得越來(lái)越高。采用這種CPU調(diào)度的負(fù)反饋機(jī)制可以有效防止某個(gè)進(jìn)程獨(dú)占所有的CPU處理時(shí)間,避免進(jìn)程饑餓(starvation)現(xiàn)象的產(chǎn)生。早期的Unix操作系統(tǒng)版本采用1秒鐘作為輪轉(zhuǎn)調(diào)度的時(shí)間額度(quantum)。4.3BSD版本的Unix每隔0.1秒重新進(jìn)行一次進(jìn)程調(diào)度,每隔1秒鐘重新計(jì)算一次進(jìn)程優(yōu)先級(jí)。Unix操作系統(tǒng)最初起源于KenThompson個(gè)人的研究,后來(lái)隨著DennisRitchie的加入才成為一個(gè)兩人團(tuán)隊(duì)的項(xiàng)目。因此,為了他們研究的便利,Unix操作系統(tǒng)的規(guī)模一直被控制在較小的范圍,便于理解。基于同樣的考慮,Unix操作系統(tǒng)中大多數(shù)算法的選擇都是基于簡(jiǎn)潔性的考慮,而不是出于對(duì)速度與復(fù)雜性的考慮。Unix操作系統(tǒng)的設(shè)計(jì)初衷是由系統(tǒng)內(nèi)核和各種相應(yīng)的庫(kù)(library)提供一套規(guī)模雖小但卻足夠強(qiáng)大的系統(tǒng)功能。如果用戶(hù)需要一個(gè)更加復(fù)雜的系統(tǒng),可以很容易地使用內(nèi)核與庫(kù)所提供的這些系統(tǒng)功能去構(gòu)建。Unix操作系統(tǒng)在設(shè)計(jì)上的簡(jiǎn)潔性一直以來(lái)被紛紛效仿,也是大家研究的熱點(diǎn)之一。29KenThompson是B語(yǔ)言的作者,而DennisRitchie是C語(yǔ)言的作者。作為由兩位程序設(shè)計(jì)語(yǔ)言的作者所開(kāi)發(fā)的操作系統(tǒng),Unix一直高度重視系統(tǒng)程序設(shè)計(jì)和開(kāi)發(fā)方面的輔助功能與環(huán)境,在這方面比較有代表性的是編譯程序make(檢查與一個(gè)程序相關(guān)的一系列源文件,找出哪些源文件需要編譯并且執(zhí)行編譯)和源代碼版本控制系統(tǒng)SCCS(SourceCodeControlSystem)。由面向機(jī)器的匯編語(yǔ)言轉(zhuǎn)向C語(yǔ)言這種高級(jí)程序設(shè)計(jì)語(yǔ)言是Unix操作系統(tǒng)發(fā)展歷程上的一個(gè)重要里程碑。由于Unix操作系統(tǒng)可能運(yùn)行的計(jì)算機(jī)硬件平臺(tái)存在不確定性,因此有必要使Unix操作系統(tǒng)與面向機(jī)器的匯編語(yǔ)言相分離。相對(duì)于匯編語(yǔ)言,C語(yǔ)言簡(jiǎn)潔緊湊、靈活方便、易學(xué)易用、功能強(qiáng)大、適用范圍廣,兼具高級(jí)程序設(shè)計(jì)語(yǔ)言與低級(jí)程序設(shè)計(jì)語(yǔ)言的諸多優(yōu)點(diǎn)。將Unix操作系統(tǒng)用C語(yǔ)言重寫(xiě)之后,極大地簡(jiǎn)化了將Unix從一種硬件平臺(tái)移植到另一種硬件平臺(tái)的硬件支持問(wèn)題。30從Unix操作系統(tǒng)研究之初,Unix的開(kāi)發(fā)團(tuán)隊(duì)就將全部Unix操作系統(tǒng)源代碼發(fā)布到網(wǎng)絡(luò)上,這樣做帶來(lái)的好處遠(yuǎn)遠(yuǎn)超過(guò)了它的缺點(diǎn)。首先,用戶(hù)可以免費(fèi)使用Unix操作系統(tǒng)。其次,廣大的Unix愛(ài)好者和用戶(hù)可以使用正處于開(kāi)發(fā)過(guò)程中的Unix操作系統(tǒng),而不必像其他商業(yè)操作系統(tǒng)那樣必須等到正式的版本發(fā)布之后才能使用。Unix操作系統(tǒng)這種獨(dú)特的開(kāi)發(fā)模式非常有利于發(fā)現(xiàn)系統(tǒng)的缺陷與糾錯(cuò),而且極大地方便了愛(ài)好者和用戶(hù)對(duì)Unix系統(tǒng)進(jìn)行創(chuàng)新性改進(jìn)與完善。如果用戶(hù)發(fā)現(xiàn)操作系統(tǒng)某處存在錯(cuò)誤或者缺陷,可以立即在本地計(jì)算機(jī)上對(duì)操作系統(tǒng)進(jìn)行改錯(cuò)和糾錯(cuò),而不必等到操作系統(tǒng)的下一個(gè)正式版本發(fā)布之后才進(jìn)行。同時(shí),廣大Unix愛(ài)好者和用戶(hù)對(duì)操作系統(tǒng)錯(cuò)誤與缺陷的修改、改進(jìn)以及為操作系統(tǒng)添加的新功能還有可能被加入到下一個(gè)正式發(fā)布的Unix操作系統(tǒng)版本中。這意味著,Unix的廣大用戶(hù)不僅僅是操作系統(tǒng)單純的使用者,從某種意義上講,用戶(hù)還有可能成為操作系統(tǒng)的合作者(co-author)之一。這種開(kāi)發(fā)模式同時(shí)也導(dǎo)致了今天數(shù)量繁多的各種Unix變體(Unixvariant)的存在。31早期Unix所具有的這些優(yōu)點(diǎn)使得Unix操作系統(tǒng)深受廣大用戶(hù)的喜愛(ài)。隨著越來(lái)越多的用戶(hù)接受和使用Unix操作系統(tǒng),人們也不斷地對(duì)Unix提出了各種新的要求,這些新的需求對(duì)Unix原有的功能提出了某種程度的挑戰(zhàn)。例如,Unix操作系統(tǒng)最初的設(shè)計(jì)是一種面向文本的用戶(hù)界面模式,這種用戶(hù)界面環(huán)境并不適合那些網(wǎng)絡(luò)、圖形圖像處理以及實(shí)時(shí)操作等應(yīng)用。為了解決這一問(wèn)題,人們對(duì)Unix操作系統(tǒng)的某些內(nèi)部結(jié)構(gòu)進(jìn)行了修改,并且增加了新的編程接口。但是,這些新增加的功能,特別是窗口界面功能,需要大量代碼的支持。為了滿(mǎn)足用戶(hù)新的功能需求而對(duì)原有Unix操作系統(tǒng)做出的改變極大地增加了操作系統(tǒng)的規(guī)模,例如新增的網(wǎng)絡(luò)功能與窗口界面功能都分別使原來(lái)操作系統(tǒng)的規(guī)模增加了一倍。Unix操作系統(tǒng)的這種發(fā)展模式恰好說(shuō)明了Unix系統(tǒng)的一個(gè)優(yōu)點(diǎn),每當(dāng)操作系統(tǒng)領(lǐng)域內(nèi)出現(xiàn)新的變化與發(fā)展趨勢(shì)時(shí),Unix操作系統(tǒng)總是能夠吸納這些新變化,將其融入自身的功能體系中,在使Unix操作系統(tǒng)變得更加強(qiáng)大的同時(shí)依然保持了Unix系統(tǒng)原有的風(fēng)格和特色。326.4Linux操作系統(tǒng)Linux是一種類(lèi)似于Unix的操作系統(tǒng),近年來(lái)不斷發(fā)展完善,深受廣大用戶(hù)的歡迎。本節(jié)簡(jiǎn)要介紹Linux操作系統(tǒng)的發(fā)展歷史和主要功能特點(diǎn)。6.4.1Linux操作系統(tǒng)的發(fā)展歷史Linux操作系統(tǒng)無(wú)論從外觀(guān)還是實(shí)際使用的體驗(yàn)上都與Unix操作系統(tǒng)非常相似。事實(shí)上,保持與Unix操作系統(tǒng)的兼容性一直是Linux操作系統(tǒng)的一個(gè)主要設(shè)計(jì)目標(biāo)。但是,Linux操作系統(tǒng)比大多數(shù)Unix操作系統(tǒng)都要年輕。對(duì)Linux操作系統(tǒng)的研究與開(kāi)發(fā)始于1991年,芬蘭赫爾辛基大學(xué)計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的學(xué)生LinusTorvalds針對(duì)Intel公司的首個(gè)32位處理器80386開(kāi)發(fā)了一款小型的操作系統(tǒng)內(nèi)核,該操作系統(tǒng)由9300行C語(yǔ)言代碼與950行匯編語(yǔ)言代碼構(gòu)成。由于該操作系統(tǒng)的許多基本概念與重要思想源于操作系統(tǒng)領(lǐng)域的權(quán)威AndrewTanenbaum所開(kāi)發(fā)的Minix操作系統(tǒng),于是LinusTorvalds將他自己開(kāi)發(fā)的這個(gè)新操作系統(tǒng)叫做Linus’Minix,簡(jiǎn)稱(chēng)為L(zhǎng)inux。第一個(gè)Linux操作系統(tǒng)內(nèi)核版本是1991年5月14日公開(kāi)發(fā)布的Version0.01。這個(gè)版本的Linux操作系統(tǒng)功能十分有限,沒(méi)有網(wǎng)絡(luò)支持,只能運(yùn)行在與Intel的80386處理器相兼容的處理器上,所支持的設(shè)備驅(qū)動(dòng)程序也極其有限,僅單一地支持Minix文件系統(tǒng)。33從Linux操作系統(tǒng)研究與開(kāi)發(fā)的初期,Linux系統(tǒng)的源代碼就被放到Internet上,供廣大Linux愛(ài)好者和用戶(hù)免費(fèi)下載和使用。這樣一來(lái),Linux操作系統(tǒng)的發(fā)展歷史實(shí)際上就是分布在全球各地的Linux愛(ài)好者和用戶(hù)通過(guò)Internet共同協(xié)作開(kāi)發(fā)Linux的過(guò)程。Linux操作系統(tǒng)另一個(gè)里程碑式的版本Linux1.0于1994年3月14日正式發(fā)布。這個(gè)版本的Linux操作系統(tǒng)內(nèi)核集中體現(xiàn)了Linux系統(tǒng)在這三年中的快速發(fā)展。在新版本Linux的諸多新功能亮點(diǎn)中,最突出的就是Linux實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)的支持。Linux1.0既包括了對(duì)Unix操作系統(tǒng)標(biāo)準(zhǔn)TCP/IP網(wǎng)絡(luò)協(xié)議的支持,還包括了與BSD版本Unix相兼容的網(wǎng)絡(luò)編程socket接口。Linux1.0擺脫了Minix文件系統(tǒng)的限制,推出了一個(gè)改進(jìn)的文件系統(tǒng),支持一系列能夠進(jìn)行高性能磁盤(pán)訪(fǎng)問(wèn)的SCSI控制器。在此之后,Linux操作系統(tǒng)又推出了一系列的內(nèi)核版本,例如Linux1.1和Linux1.2等,在網(wǎng)絡(luò)性能、硬件支持、內(nèi)存管理、進(jìn)程管理以及文件系統(tǒng)等方面不斷改進(jìn)與完善。Linux操作系統(tǒng)于1996年推出了另一個(gè)重要的內(nèi)核版本,Linux2.0。該操作系統(tǒng)內(nèi)核包含大約470000行C語(yǔ)言代碼與8000行匯編語(yǔ)言代碼,支持64位體系結(jié)構(gòu),支持對(duì)稱(chēng)多處理技術(shù),支持新的網(wǎng)絡(luò)協(xié)議以及許多其他功能特點(diǎn)。Linux2.0內(nèi)核新增的大部分代碼由一系列的設(shè)備驅(qū)動(dòng)程序構(gòu)成。34隨著Linux操作系統(tǒng)的迅速發(fā)展,數(shù)量眾多的標(biāo)準(zhǔn)Unix軟件陸續(xù)被移植到Linux系統(tǒng)上來(lái),包括上千個(gè)系統(tǒng)工具軟件、XWindows系統(tǒng)以及大量的網(wǎng)絡(luò)軟件。在圖形用戶(hù)界面方面,專(zhuān)門(mén)為L(zhǎng)inux開(kāi)發(fā)了兩種GUI界面,即GNOME和KDE。簡(jiǎn)言之,經(jīng)過(guò)廣大研究人員和用戶(hù)幾十年的努力,Linux操作系統(tǒng)已經(jīng)從最初僅包含Unix系統(tǒng)服務(wù)一個(gè)很小子集的內(nèi)核發(fā)展成為一個(gè)涵蓋絕大多數(shù)Unix系統(tǒng)功能的操作系統(tǒng)。356.4.2Linux操作系統(tǒng)的主要特點(diǎn)從系統(tǒng)總體設(shè)計(jì)思想上看,Linux操作系統(tǒng)與各種傳統(tǒng)的Unix操作系統(tǒng)比較相似。Linux操作系統(tǒng)也是一個(gè)多用戶(hù)、多任務(wù)的操作系統(tǒng),而且包含一整套完備的與Unix相兼容的系統(tǒng)工具軟件。在文件系統(tǒng)方面,Linux的文件系統(tǒng)完全遵循Unix文件系統(tǒng)的語(yǔ)義。在網(wǎng)絡(luò)支持方面,Linux操作系統(tǒng)全部實(shí)現(xiàn)了標(biāo)準(zhǔn)的Unix網(wǎng)絡(luò)模型??傮w而言,Linux操作系統(tǒng)設(shè)計(jì)的內(nèi)部細(xì)節(jié)深受Unix操作系統(tǒng)研究與開(kāi)發(fā)進(jìn)程的影響。今天,Linux操作系統(tǒng)可以運(yùn)行于范圍非常廣的各種硬件平臺(tái)上。但是,在Linux系統(tǒng)發(fā)展的早期,Linux操作系統(tǒng)的開(kāi)發(fā)平臺(tái)僅局限于個(gè)人電腦的體系結(jié)構(gòu)。事實(shí)上,Linux操作系統(tǒng)的早期研究與開(kāi)發(fā)工作大多是由分布在全世界各地的Linux愛(ài)好者和用戶(hù)單獨(dú)完成的,而不是由某個(gè)專(zhuān)門(mén)研究機(jī)構(gòu)有組織地進(jìn)行的。這些Linux愛(ài)好者和用戶(hù)的計(jì)算機(jī)通常是PC,其系統(tǒng)資源十分有限。因此,Linux操作系統(tǒng)的設(shè)計(jì)思想從一開(kāi)始就是盡量在有限的系統(tǒng)資源限制條件下實(shí)現(xiàn)盡可能多的系統(tǒng)功能。在這種設(shè)計(jì)理念的指導(dǎo)下,今天的Linux操作系統(tǒng)既可以很好地運(yùn)行在具有幾百兆字節(jié)內(nèi)存和若干千兆字節(jié)磁盤(pán)空間的多處理器計(jì)算機(jī)上,也能夠在內(nèi)存不到4兆字節(jié)的計(jì)算機(jī)上高效運(yùn)行。36與大多數(shù)傳統(tǒng)Unix操作系統(tǒng)實(shí)現(xiàn)相一致,Linux操作系統(tǒng)由以下三個(gè)主要代碼部分組成:內(nèi)核、系統(tǒng)庫(kù)(systemlib

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論