版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章操作系統(tǒng)概述PAGEPAGE1第1章操作系統(tǒng)概述教學(xué)要點(diǎn)本章主要介紹操作系統(tǒng)的基本概念、操作系統(tǒng)的發(fā)展歷史、操作系統(tǒng)的功能和主要特征以及常用的操作系統(tǒng)。讀者應(yīng)重點(diǎn)掌握操作系統(tǒng)基本概念、操作系統(tǒng)的功能,并對(duì)操作系統(tǒng)的發(fā)展歷史有一定的了解,進(jìn)而對(duì)現(xiàn)在流行的操作系統(tǒng)及其發(fā)展方向能有深刻的認(rèn)識(shí)。教學(xué)要點(diǎn)本章主要介紹操作系統(tǒng)的基本概念、操作系統(tǒng)的發(fā)展歷史、操作系統(tǒng)的功能和主要特征以及常用的操作系統(tǒng)。讀者應(yīng)重點(diǎn)掌握操作系統(tǒng)基本概念、操作系統(tǒng)的功能,并對(duì)操作系統(tǒng)的發(fā)展歷史有一定的了解,進(jìn)而對(duì)現(xiàn)在流行的操作系統(tǒng)及其發(fā)展方向能有深刻的認(rèn)識(shí)。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,如果不安裝操作系統(tǒng),很難想象還會(huì)有誰(shuí)使用計(jì)算機(jī)。操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中重要的系統(tǒng)軟件,是整個(gè)計(jì)算機(jī)系統(tǒng)的控制中心。操作系統(tǒng)不僅將裸機(jī)改造成為功能強(qiáng)、服務(wù)質(zhì)量高、使用方便靈活、運(yùn)行安全可靠的虛擬機(jī)來(lái)為用戶提供使用計(jì)算機(jī)系統(tǒng)的良好環(huán)境,而且采用合理有效的方法組織多個(gè)用戶共享計(jì)算機(jī)系統(tǒng)中的各種資源,最大限度地提高系統(tǒng)資源的利用率。1.1什么是操作系統(tǒng)應(yīng)用程序操作系統(tǒng)是配置在計(jì)算機(jī)硬件平臺(tái)上的第一層軟件,是一組系統(tǒng)軟件。一個(gè)新的操作系統(tǒng)往往融合了計(jì)算機(jī)發(fā)展中的一些傳統(tǒng)的技術(shù)和新的研究成果。在計(jì)算機(jī)系統(tǒng)中,處理機(jī)、內(nèi)存、磁盤、終端、網(wǎng)卡等硬件資源通過(guò)主板連接構(gòu)成了看得見摸得著的計(jì)算機(jī)硬件系統(tǒng)。為了能使這些硬件資源高效地、盡可能并行地供用戶程序使用,為了給用戶提供通用的使用這些硬件的方法,必須為計(jì)算機(jī)配備操作系統(tǒng)軟件。操作系統(tǒng)的工作就是管理計(jì)算機(jī)的硬件資源和軟件資源,并組織用戶盡可能方便地使用這些資源。操作系統(tǒng)是軟硬資源的控制中心,它以盡量合理有效的方法組織用戶共享計(jì)算機(jī)的各種資源。為了使讀者對(duì)操作系統(tǒng)有更清楚地了解,我們從系統(tǒng)軟件、資源管理器和接口三個(gè)方面介紹操作系統(tǒng)。應(yīng)用程序語(yǔ)言處理程序1.1.1操作系統(tǒng)是最重要的系統(tǒng)軟件語(yǔ)言處理程序計(jì)算機(jī)系統(tǒng)可以看成是由硬件和軟件按層次結(jié)構(gòu)操作系統(tǒng)組成的系統(tǒng),如圖1.1所示。硬件系統(tǒng)是指構(gòu)成計(jì)算操作系統(tǒng)硬件系統(tǒng)機(jī)系統(tǒng)所必須配置的硬件設(shè)備?,F(xiàn)代計(jì)算機(jī)系統(tǒng)一般硬件系統(tǒng)都包含一個(gè)或多個(gè)處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、打印機(jī)、時(shí)鐘、鼠標(biāo)、鍵盤,顯示器、網(wǎng)絡(luò)接口以及其它輸入/輸出設(shè)備。計(jì)算機(jī)硬件系統(tǒng)構(gòu)成了圖1.1計(jì)算機(jī)系統(tǒng)組成計(jì)算機(jī)本身和用戶作業(yè)賴以活動(dòng)的物質(zhì)基礎(chǔ)。只有硬件系統(tǒng)而無(wú)軟件系統(tǒng)的計(jì)算機(jī)稱為裸機(jī)。用戶直接使用裸機(jī)不僅不方便,而且將嚴(yán)重降低系統(tǒng)效率。軟件系統(tǒng)是一個(gè)為計(jì)算機(jī)系統(tǒng)配置的程序和數(shù)據(jù)的集合。軟件系統(tǒng)又有應(yīng)用軟件和系統(tǒng)軟件之分。應(yīng)用軟件是為解決某一具體應(yīng)用問(wèn)題而開發(fā)的軟件,如:財(cái)務(wù)軟件、字處理軟件等;系統(tǒng)軟件是專門為計(jì)算機(jī)系統(tǒng)所配置的,如操作系統(tǒng)、各種語(yǔ)言處理程序等。操作系統(tǒng)是以硬件為基礎(chǔ)的系統(tǒng)軟件,是硬件層的第一次擴(kuò)充,在這一層上實(shí)現(xiàn)了操作系統(tǒng)的全部功能,并提供了相應(yīng)的接口。其它各軟件層都是在操作系統(tǒng)的基礎(chǔ)上開發(fā)出來(lái)的。語(yǔ)言處理程序?qū)影ǜ鞣N程序設(shè)計(jì)語(yǔ)言的編譯程序以及動(dòng)態(tài)調(diào)試程序等實(shí)用性程序。語(yǔ)言處理程序?qū)邮遣僮飨到y(tǒng)層的擴(kuò)充,而應(yīng)用程序?qū)邮钦Z(yǔ)言處理程序?qū)拥倪M(jìn)一步擴(kuò)充。在應(yīng)用程序?qū)樱脩艨梢允褂酶鞣N程序設(shè)計(jì)語(yǔ)言,在操作系統(tǒng)的支持下,編寫并運(yùn)行滿足用戶需要的各種應(yīng)用程序。由此可見,操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要的系統(tǒng)軟件。1.1.2操作系統(tǒng)是資源管理器計(jì)算機(jī)系統(tǒng)的資源包括硬件資源和軟件資源。站在資源管理的角度,把計(jì)算機(jī)系統(tǒng)資源分為四大類:處理機(jī)、存儲(chǔ)器、輸入/輸出設(shè)備和信息,前三類為硬件資源,最后一類為軟件資源。操作系統(tǒng)的任務(wù)就是使整個(gè)計(jì)算機(jī)系統(tǒng)的資源得到充分有效的利用,并且在相互競(jìng)爭(zhēng)的程序之間合理有序地控制系統(tǒng)資源的分配,從而實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)工作流程的控制。作為資源管理器,操作系統(tǒng)要完成以下工作:①跟蹤資源狀態(tài)。時(shí)刻維護(hù)系統(tǒng)資源的全局信息,掌握系統(tǒng)資源的種類和數(shù)量、已分配和未分配的情況。②分配資源。處理對(duì)資源的使用請(qǐng)求,協(xié)調(diào)請(qǐng)求中的沖突,確定資源分配算法。當(dāng)有多個(gè)用戶爭(zhēng)用某個(gè)資源時(shí),進(jìn)行裁決。同時(shí),根據(jù)資源分配的條件、原則和環(huán)境決定是立即分配還是暫緩分配。③回收資源。用戶程序在資源使用完畢之后要釋放資源。此時(shí),資源管理器應(yīng)及時(shí)回收資源,以便下次重新分配。④保護(hù)資源。資源管理器負(fù)責(zé)對(duì)資源進(jìn)行保護(hù),防止資源被有意或無(wú)意地破壞。系統(tǒng)資源的使用方法和管理策略決定了操作系統(tǒng)的規(guī)模、類型、功能與實(shí)現(xiàn)方法,基于這一點(diǎn),可以把操作系統(tǒng)看成是由一組資源管理器(即資源管理程序)組成的。根據(jù)資源的分類情況,可以為操作系統(tǒng)建立相應(yīng)的四類管理器:處理機(jī)管理、存儲(chǔ)器管理、輸入/輸出設(shè)備管理和信息管理(通常指文件系統(tǒng))。因此說(shuō),操作系統(tǒng)是資源管理器。1.1.3操作系統(tǒng)是用戶(應(yīng)用程序)與計(jì)算機(jī)硬件系統(tǒng)之間的接口在計(jì)算機(jī)系統(tǒng)組成的四個(gè)層次中,硬件是最低層。操作系統(tǒng)處于用戶與計(jì)算機(jī)系統(tǒng)硬件之間,用戶通過(guò)操作系統(tǒng)來(lái)使用計(jì)算機(jī)。對(duì)多數(shù)計(jì)算機(jī)而言,在機(jī)器語(yǔ)言級(jí)的體系結(jié)構(gòu)(包括指令系統(tǒng)、存儲(chǔ)組織、I/O和總線結(jié)構(gòu))上編程是相當(dāng)困難的,尤其是輸入/輸出操作。為了讓用戶和程序員在使用計(jì)算機(jī)時(shí)不涉及硬件細(xì)節(jié),使程序員與硬件細(xì)節(jié)獨(dú)立開來(lái),需要建立一種高度抽象。這種抽象就是為用戶提供一臺(tái)等價(jià)的擴(kuò)展計(jì)算機(jī),這樣的計(jì)算機(jī)稱為虛擬計(jì)算機(jī),簡(jiǎn)稱虛擬機(jī)。操作系統(tǒng)作為虛擬機(jī)為用戶使用計(jì)算機(jī)提供了方便,用戶可不必了解計(jì)算機(jī)硬件工作的細(xì)節(jié),通過(guò)操作系統(tǒng)來(lái)使用計(jì)算機(jī),操作系統(tǒng)就成了用戶和計(jì)算機(jī)之間的接口。用戶可通過(guò)三種方式使用計(jì)算機(jī):①命令方式。用戶可通過(guò)鍵盤輸入由操作系統(tǒng)提供的一組命令,來(lái)直接操縱計(jì)算機(jī)系統(tǒng);②系統(tǒng)調(diào)用方式。用戶可在自己的應(yīng)用程序中,通過(guò)調(diào)用操作系統(tǒng)提供的一組系統(tǒng)調(diào)用,來(lái)操縱計(jì)算機(jī)系統(tǒng);③圖形、窗口方式。用戶通過(guò)屏幕上的窗口和圖標(biāo),來(lái)操縱計(jì)算機(jī)系統(tǒng)和運(yùn)行自己的程序。有了這幾種方式,用戶就可以不涉及硬件的實(shí)現(xiàn)細(xì)節(jié),方便而有效地取得操作系統(tǒng)為用戶所提供的各種服務(wù),合理地組織計(jì)算機(jī)工作流程。所以說(shuō),操作系統(tǒng)是用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口。綜上所述,我們來(lái)給操作系統(tǒng)下個(gè)定義:操作系統(tǒng)是一組控制和管理計(jì)算機(jī)系統(tǒng)的硬件和軟件資源,合理地組織計(jì)算機(jī)工作流程并為用戶使用計(jì)算機(jī)提供方便的程序和數(shù)據(jù)的集合。在計(jì)算機(jī)系統(tǒng)中設(shè)置操作系統(tǒng)的目的在于提高計(jì)算機(jī)系統(tǒng)的效率,增強(qiáng)系統(tǒng)的處理能力,提高系統(tǒng)資源的利用率,方便用戶使用計(jì)算機(jī)。1.2操作系統(tǒng)的發(fā)展歷史1.2.1手工操作階段在計(jì)算機(jī)剛剛出現(xiàn)時(shí),由于計(jì)算機(jī)的存儲(chǔ)容量小,運(yùn)算速度慢,輸入/輸出設(shè)備只有紙帶輸入機(jī)、卡片閱讀機(jī)、打印機(jī)和控制臺(tái)。人們使用這樣的計(jì)算機(jī)只能采用人工操作方式,根本沒有操作系統(tǒng)。在人工操作情況下,用戶一個(gè)挨一個(gè)地輪流使用計(jì)算機(jī)。每個(gè)用戶的使用過(guò)程大致如下:先把手工編寫的程序(機(jī)器語(yǔ)言編寫的程序)穿成紙帶(或卡片)裝上輸入機(jī),然后經(jīng)人工操作把程序和數(shù)據(jù)輸入計(jì)算機(jī),接著通過(guò)控制臺(tái)開關(guān)啟動(dòng)程序運(yùn)行。待計(jì)算完畢,用戶拿走打印結(jié)果,并卸下紙帶(或卡片)。在這個(gè)過(guò)程中需要人工裝紙帶、人工控制程序運(yùn)行、人工卸紙帶,進(jìn)行一系列的“人工干預(yù)”。這種由一道程序獨(dú)占機(jī)器的情況,在計(jì)算機(jī)運(yùn)算速度較慢的時(shí)候是可以容忍的,因?yàn)榇藭r(shí)計(jì)算所需的時(shí)間相對(duì)而言較長(zhǎng),人工操作時(shí)間所占比例還不算很大。隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)的速度、容量、外設(shè)的功能和種類等方面都有了很大的發(fā)展。比如,計(jì)算機(jī)的速度就有了幾十倍、上百倍的提高,故使手工操作的慢速度和計(jì)算機(jī)運(yùn)算的高速度之間形成了一對(duì)矛盾,即所謂人―機(jī)矛盾。隨著計(jì)算機(jī)速度的提高,人―機(jī)矛盾已到了不可容忍的地步。為了解決這一矛盾,只有設(shè)法去掉人工干預(yù),實(shí)現(xiàn)作業(yè)的自動(dòng)過(guò)渡,這樣就出現(xiàn)了批處理技術(shù)。由于當(dāng)時(shí)軟件發(fā)展處于初級(jí)階段,用于管理的軟件還沒有產(chǎn)生,因此所有的運(yùn)行管理和具體操作都由用戶自己承擔(dān)。為了實(shí)現(xiàn)作業(yè)建立和作業(yè)過(guò)渡的自動(dòng)化引入了批量監(jiān)督程序(常駐內(nèi)存的核心代碼),每一種語(yǔ)言翻譯程序(匯編語(yǔ)言或高級(jí)語(yǔ)言的編譯程序),或?qū)嵱贸绦颍ㄈ珂溄映绦颍┒甲鳛楸O(jiān)督程序的子例程。1.2.2聯(lián)機(jī)批處理系統(tǒng)監(jiān)督程序的工作對(duì)象是以作業(yè)流形式提供的。每個(gè)用戶需要計(jì)算機(jī)解決的計(jì)算工作均組織成一個(gè)作業(yè)。每個(gè)作業(yè)有一個(gè)和程序分開的說(shuō)明文件,即作業(yè)說(shuō)明書,它提供了用戶標(biāo)識(shí)、用戶要使用的編譯程序以及所需要的系統(tǒng)資源等基本信息。每個(gè)作業(yè)還包含一個(gè)程序和一些原始數(shù)據(jù),最后是該作業(yè)的終止信息。終止信息給監(jiān)督程序一個(gè)信號(hào),表示此作業(yè)已經(jīng)結(jié)束,應(yīng)為下一個(gè)用戶作業(yè)做好服務(wù)準(zhǔn)備。各用戶把自己的作業(yè)交給機(jī)房,由操作員把一批作業(yè)裝到輸入設(shè)備上(如果輸入設(shè)備是紙帶輸入機(jī),則這一批作業(yè)在一盤紙帶上。若輸入設(shè)備是讀卡機(jī),則該批作業(yè)在一疊卡片上),然后在監(jiān)督程序控制下送到外部存儲(chǔ)器,如磁帶、磁鼓或磁盤上。為了執(zhí)行一個(gè)作業(yè),批處理監(jiān)督程序?qū)⒔忉屵@個(gè)作業(yè)的說(shuō)明書,若系統(tǒng)資源能滿足其要求,則將該作業(yè)調(diào)入內(nèi)存,并從外部存儲(chǔ)器(如磁帶)上輸入所需要的編譯程序。編譯程序?qū)⒂脩粼闯绦蚍g成目標(biāo)代碼,然后由鏈接裝配程序把編譯后的目標(biāo)代碼及其所需的子程序裝配成一個(gè)可執(zhí)行的程序,接著開始執(zhí)行。計(jì)算完成后輸出該作業(yè)的計(jì)算結(jié)果。只有一個(gè)作業(yè)處理完畢后,監(jiān)督程序才可以自動(dòng)地調(diào)度下一個(gè)作業(yè)進(jìn)行處理,依次重復(fù)上述過(guò)程,直到該批作業(yè)全部處理完畢。在這種批處理系統(tǒng)中,作業(yè)的輸入/輸出是聯(lián)機(jī)的,也就是說(shuō)作業(yè)從輸入機(jī)到磁帶,由磁帶調(diào)入內(nèi)存,以及結(jié)果的輸出打印都是由CPU直接控制的。隨著CPU速度的不斷提高,CPU和輸入/輸出設(shè)備之間的速度差距就形成了一對(duì)矛盾。因?yàn)樵谶M(jìn)行輸入/輸出時(shí),CPU是空閑的,高速的CPU要等待慢速的輸入/輸出設(shè)備的工作,不能發(fā)揮CPU應(yīng)有的效率。1.2.3脫機(jī)批處理系統(tǒng)為了克服聯(lián)機(jī)批處理存在的缺點(diǎn),在批處理系統(tǒng)中引入了脫機(jī)輸入/輸出技術(shù),從而形成了脫機(jī)批處理系統(tǒng)。脫機(jī)批處理系統(tǒng)由主機(jī)和衛(wèi)星機(jī)組成,衛(wèi)星機(jī)又稱外圍計(jì)算機(jī),它不與主機(jī)直接連接,只與外部設(shè)備打交道。作業(yè)通過(guò)衛(wèi)星機(jī)輸入到磁帶上,當(dāng)主機(jī)需要輸入作業(yè)時(shí),就把輸入帶同主機(jī)連上。主機(jī)從輸入帶上把作業(yè)調(diào)入內(nèi)存,并予以執(zhí)行。作業(yè)完成后,主機(jī)負(fù)責(zé)把結(jié)果記錄到輸出帶上,再由衛(wèi)星機(jī)負(fù)責(zé)把輸出帶上的信息打印輸出。這樣,主機(jī)擺脫了慢速的輸入/輸出工作,可以較充分地發(fā)揮它的高速計(jì)算能力。同時(shí),由于主機(jī)和衛(wèi)星機(jī)可以并行操作,因此脫機(jī)批處理系統(tǒng)與早期聯(lián)機(jī)批處理系統(tǒng)相比大大提高了系統(tǒng)的處理能力。批處理系統(tǒng)是在解決人―機(jī)矛盾以及高速度的CPU和低速度的I/O設(shè)備間矛盾的過(guò)程中發(fā)展起來(lái)的。它的出現(xiàn)改善了CPU和外設(shè)的使用情況,實(shí)現(xiàn)了作業(yè)的自動(dòng)定序、自動(dòng)過(guò)渡,從而使整個(gè)計(jì)算機(jī)系統(tǒng)的處理能力得以提高。但仍存在著許多缺陷,如衛(wèi)星機(jī)與主機(jī)之間的磁帶裝卸仍需人工完成,操作員需要監(jiān)督機(jī)器的狀態(tài)等等。如果一個(gè)程序進(jìn)入死循環(huán),系統(tǒng)就會(huì)踏步不前,只有當(dāng)操作員提出請(qǐng)求,要求終止該作業(yè),刪除它并重新啟動(dòng),系統(tǒng)才能恢復(fù)正常運(yùn)行。當(dāng)目標(biāo)程序執(zhí)行一條引起停機(jī)的非法指令時(shí),機(jī)器就會(huì)錯(cuò)誤地停止運(yùn)行。此時(shí),只有操作員進(jìn)行干預(yù),即在控制臺(tái)上按啟動(dòng)按鈕后,程序才會(huì)重新啟動(dòng)運(yùn)行。并且,由于系統(tǒng)沒有任何保護(hù)自己的措施,無(wú)法防止用戶程序破壞監(jiān)督程序和系統(tǒng)程序。系統(tǒng)保護(hù)的問(wèn)題亟待解決。1.2.4執(zhí)行系統(tǒng)60年代初期,計(jì)算機(jī)硬件獲得了兩方面的發(fā)展,一是通道的引入,二是中斷技術(shù)的出現(xiàn),這兩項(xiàng)重大成果使操作系統(tǒng)進(jìn)入執(zhí)行系統(tǒng)階段。通道是一種輸入/輸出專用處理機(jī),它能控制一臺(tái)或多臺(tái)外設(shè)工作,負(fù)責(zé)外部設(shè)備與內(nèi)存之間的信息傳輸。它一旦被啟動(dòng),就能獨(dú)立于CPU運(yùn)行,這樣就可使CPU和通道并行操作,而且CPU和各種外部設(shè)備也能并行操作。中斷是指當(dāng)CPU接到外部硬件(如I/O設(shè)備)發(fā)來(lái)的信號(hào)時(shí),馬上停止原來(lái)的工作,轉(zhuǎn)去處理這一事件,在處理完了以后,CPU又回到原來(lái)的工作點(diǎn)繼續(xù)工作。借助于通道、中斷技術(shù),輸入/輸出工作可以在CPU控制之下完成。這時(shí),原有的監(jiān)督程序不僅要負(fù)責(zé)調(diào)度作業(yè)自動(dòng)地運(yùn)行,而且還要提供輸入/輸出控制功能(即用戶不能直接使用啟動(dòng)外設(shè)的指令,它的輸入/輸出請(qǐng)求必須通過(guò)系統(tǒng)去執(zhí)行),它比原有的功能增強(qiáng)了。這個(gè)擴(kuò)展后的監(jiān)督程序常駐內(nèi)存,稱為執(zhí)行系統(tǒng)。執(zhí)行系統(tǒng)比脫機(jī)處理前進(jìn)了一步,它節(jié)省了衛(wèi)星機(jī),降低了成本,而且同樣能支持主機(jī)和通道、主機(jī)和外設(shè)的并行操作。在執(zhí)行系統(tǒng)中用戶程序的輸入/輸出工作是委托給執(zhí)行系統(tǒng)實(shí)現(xiàn)的,由執(zhí)行系統(tǒng)檢查其命令的合法性,提高了系統(tǒng)的安全性,可以避免由于不合法的輸入/輸出命令造成對(duì)系統(tǒng)的威脅。批處理系統(tǒng)和執(zhí)行系統(tǒng)的普及,發(fā)展了標(biāo)準(zhǔn)文件管理系統(tǒng)和外部設(shè)備的自動(dòng)調(diào)節(jié)控制功能。許多成功的批處理操作系統(tǒng)在50年代末到60年代初期開發(fā)成功,比較著名的有FMS(FORTRANMonitorSystem)和IBSYS(IBM為7094機(jī)配備的操作系統(tǒng))。1.2.5多道批處理系統(tǒng)中斷和通道技術(shù)出現(xiàn)以后,輸入/輸出設(shè)備和CPU可以并行操作,初步解決了高速CPU和低速外部設(shè)備的矛盾,提高了計(jì)算機(jī)的工作效率。但不久就發(fā)現(xiàn),這種并行是有限度的,并不能完全消除CPU對(duì)外部傳輸?shù)牡却?。比如,一個(gè)作業(yè)在運(yùn)行過(guò)程中請(qǐng)求輸入一批數(shù)據(jù),當(dāng)紙帶輸入機(jī)花1000ms輸入1000個(gè)字符后,CPU只花300ms就處理完了,而這時(shí),第二批輸入數(shù)據(jù)還需等700ms時(shí)間才能輸入完畢。因此,盡管CPU具有和外部設(shè)備并行工作的能力,但是在這種情況下無(wú)法讓它多做工作,如圖1.2所示。計(jì)算請(qǐng)求輸入繼續(xù)計(jì)算用戶程序CPU工作監(jiān)督程序啟動(dòng)I/OI/O完成I/O操作結(jié)束中斷t圖1.2單道程序工作示例在輸入操作未結(jié)束之前,CPU處于空閑狀態(tài),其原因是輸入/輸出操作與本道作業(yè)相關(guān)。商業(yè)數(shù)據(jù)處理、文獻(xiàn)情報(bào)檢索等任務(wù)涉及的計(jì)算量比較少,而輸入/輸出量比較大,所以需要較多地調(diào)用外部設(shè)備。當(dāng)由慢速的機(jī)械傳動(dòng)讀卡機(jī)、紙帶輸入機(jī)或從磁帶、磁盤等設(shè)備輸入數(shù)據(jù)到存儲(chǔ)器時(shí),CPU不得不等待。在處理結(jié)束后,又有很多時(shí)間被耗費(fèi)在處理機(jī)等待通道將結(jié)果送到磁帶、磁盤或用機(jī)械打印機(jī)打印在紙上。而對(duì)于科學(xué)和工程計(jì)算任務(wù),主要涉及的是計(jì)算量大而使用外部設(shè)備較少的作業(yè),因而當(dāng)CPU運(yùn)算時(shí),外部設(shè)備經(jīng)常處于空閑狀態(tài)。此外,計(jì)算機(jī)在處理一些小題目時(shí),存儲(chǔ)器空間也未能得到充分利用。以上種種情況說(shuō)明了單道程序工作時(shí),計(jì)算機(jī)系統(tǒng)的各部件的效能沒有得到充分發(fā)揮。那么,為了提高設(shè)備的利用率,能否在系統(tǒng)內(nèi)同時(shí)存放幾道程序呢?于是引入了多道程序的概念。多道程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序,使它們?cè)诠芾沓绦蚩刂浦?,相互交替地運(yùn)行。當(dāng)某道程序因某種原因不能繼續(xù)運(yùn)行下去時(shí)(如等待外部設(shè)備傳輸數(shù)據(jù)),管理程序便將內(nèi)存中的另一道程序投入運(yùn)行,這樣可以使CPU及各外部設(shè)備盡量處于忙碌狀態(tài),從而大大提高了計(jì)算機(jī)的使用效率。例如,用戶程序A首先在CPU上運(yùn)行,當(dāng)它需要從光電機(jī)(即紙帶輸入機(jī))輸入新的數(shù)據(jù)而轉(zhuǎn)入等待時(shí),系統(tǒng)幫助它啟動(dòng)光電機(jī)進(jìn)行輸入工作,并讓用戶程序B開始在CPU上運(yùn)行,直到程序B需要進(jìn)行輸入/輸出操作時(shí),再啟動(dòng)相應(yīng)的外部設(shè)備進(jìn)行工作。如果此時(shí)程序A程序B程序A程序BCPU····外部設(shè)備磁盤輸入輸出結(jié)束輸入結(jié)束外部設(shè)備磁帶輸入繪圖輸出結(jié)束輸入結(jié)束輸出圖1.3多道程序工作示例程序A的輸入尚未結(jié)束,也無(wú)其它用戶程序需要運(yùn)行,則CPU就處于空閑狀態(tài),直到程序A或程序B在輸入結(jié)束后重新運(yùn)行。若當(dāng)程序B的輸入/輸出處理結(jié)束時(shí),程序A仍在執(zhí)行,則程序B需等待,直到程序A計(jì)算結(jié)束請(qǐng)求輸出時(shí),才轉(zhuǎn)入程序B的執(zhí)行。從圖1.3中可以看出,在有兩道程序執(zhí)行的情況下,CPU的效率已大大提高。因此,當(dāng)有多道程序工作時(shí),CPU將幾乎始終處于忙碌狀態(tài)。多道程序設(shè)計(jì)技術(shù)使得幾道程序在系統(tǒng)內(nèi)并行工作。但在馮·諾伊曼型計(jì)算機(jī)結(jié)構(gòu)中(在單CPU情況下),CPU嚴(yán)格地按照指令計(jì)數(shù)器的內(nèi)容順序地執(zhí)行每一個(gè)操作,即一個(gè)時(shí)刻只能有一個(gè)程序在處理機(jī)上執(zhí)行。那么,如何理解多道程序的并行執(zhí)行呢?多道程序設(shè)計(jì)技術(shù)可以實(shí)現(xiàn)同時(shí)被接受進(jìn)入計(jì)算機(jī)內(nèi)存的若干道程序相互交替地運(yùn)行,即當(dāng)一個(gè)正在CPU上運(yùn)行的程序因?yàn)橐M(jìn)行輸入/輸出操作而不能繼續(xù)運(yùn)行下去時(shí),就把CPU讓給另一道程序。所以,從微觀上看,一個(gè)時(shí)刻只有一個(gè)程序在CPU上運(yùn)行;但從宏觀上看,幾道程序都處于執(zhí)行狀態(tài)(因?yàn)槎家汛娣旁趦?nèi)存),有的正在CPU上運(yùn)行,有的在打印結(jié)果,有的正在輸入數(shù)據(jù),它們的工作都在向前推進(jìn)。我們把多道程序在單處理機(jī)上的邏輯上的同時(shí)執(zhí)行稱為并發(fā)執(zhí)行。綜上所述,多道程序運(yùn)行的特征如下:多道。即計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序。宏觀上并行。同時(shí)進(jìn)入系統(tǒng)的幾道程序都處于運(yùn)行過(guò)程中,即它們先后開始了各自的運(yùn)行,但都未運(yùn)行完畢。微觀上串行。從微觀上看,內(nèi)存中的多道程序輪流地或分時(shí)地占有處理機(jī),交替執(zhí)行(單處理機(jī)情況)。在批處理系統(tǒng)中采用多道程序設(shè)計(jì)技術(shù)就形成了多道批量處理操作系統(tǒng),簡(jiǎn)稱多道批處理系統(tǒng)。該系統(tǒng)把用戶提交的作業(yè)(相應(yīng)的程序、數(shù)據(jù)和處理步驟)成批送入計(jì)算機(jī),然后由作業(yè)調(diào)度程序自動(dòng)選擇作業(yè)運(yùn)行。這樣能縮短作業(yè)之間的交接時(shí)間,減少CPU的空閑等待,從而提高了系統(tǒng)效率。在多道批處理系統(tǒng)中,交到機(jī)房的一批作業(yè)由操作員負(fù)責(zé)將其由輸入機(jī)轉(zhuǎn)儲(chǔ)到輔存設(shè)備上,等待運(yùn)行。當(dāng)需要調(diào)入作業(yè)時(shí),作業(yè)調(diào)度程序按一定的調(diào)度原則選擇一個(gè)或幾個(gè)作業(yè)裝入內(nèi)存,內(nèi)存中的幾個(gè)作業(yè)交替運(yùn)行,直到某作業(yè)完成計(jì)算任務(wù),輸出其結(jié)果,收回該作業(yè)占用的全部資源。在這種系統(tǒng)中,機(jī)器的利用率是很高的。因?yàn)?,作業(yè)的輸入、作業(yè)的調(diào)度等完全由系統(tǒng)控制,并允許幾道程序同時(shí)投入運(yùn)行,只要合理搭配作業(yè),比如把計(jì)算量大的作業(yè)和輸入/輸出量大的作業(yè)合理搭配,就可以充分利用系統(tǒng)的資源。多道批處理的優(yōu)點(diǎn)是系統(tǒng)的吞吐量高,缺點(diǎn)是對(duì)用戶的響應(yīng)時(shí)間(用戶向系統(tǒng)提交作業(yè)到獲得系統(tǒng)的處理這一段時(shí)間為響應(yīng)時(shí)間)較長(zhǎng),用戶不能及時(shí)了解自己程序的運(yùn)行情況并加以控制。1.2.6分時(shí)系統(tǒng)盡管多道批處理系統(tǒng)很適于大型科學(xué)計(jì)算和繁忙的商務(wù)數(shù)據(jù)處理,但實(shí)際上許多程序員希望即時(shí)地調(diào)試自己的程序。在批處理系統(tǒng)中,一個(gè)作業(yè)從提交到取回運(yùn)算結(jié)果往往需要幾個(gè)小時(shí)。更有甚者,有時(shí)一個(gè)逗號(hào)就會(huì)導(dǎo)致編譯失敗,浪費(fèi)程序員半天時(shí)間。程序員們希望很快得到響應(yīng),這種需求導(dǎo)致了分時(shí)系統(tǒng)的出現(xiàn)。分時(shí)系統(tǒng)實(shí)際上是多道程序的一個(gè)變種,不同之處只是每個(gè)用戶都有一個(gè)聯(lián)機(jī)終端,讓用戶在終端直接操作、控制自己程序的運(yùn)行,這種操作方式稱為聯(lián)機(jī)工作方式。在這種方式下,用戶可以通過(guò)終端(控制臺(tái))及時(shí)與機(jī)器交互。當(dāng)計(jì)算機(jī)硬件技術(shù)和軟件技術(shù)發(fā)展到60年代中期時(shí),便產(chǎn)生了一種新的、既能實(shí)現(xiàn)用戶的聯(lián)機(jī)操作、又能保證機(jī)器使用效率的計(jì)算機(jī)系統(tǒng)——分時(shí)系統(tǒng)。在分時(shí)系統(tǒng)中,一個(gè)計(jì)算機(jī)和許多終端設(shè)備連接,每個(gè)用戶可以通過(guò)終端向系統(tǒng)發(fā)出命令,請(qǐng)求完成某項(xiàng)工作,而系統(tǒng)則分析從終端設(shè)備發(fā)來(lái)的命令,完成用戶提出的要求。之后,用戶又根據(jù)系統(tǒng)提供的運(yùn)行結(jié)果,向系統(tǒng)提出下一個(gè)請(qǐng)求,就這樣重復(fù)上述交互會(huì)話過(guò)程,直到用戶完成全部工作為止。如著名的CTSS和MULTICS等。在分時(shí)系統(tǒng)中,計(jì)算機(jī)能同時(shí)為許多終端用戶服務(wù),而且能在很短的時(shí)間內(nèi)響應(yīng)用戶的要求。因?yàn)橄到y(tǒng)采用了分時(shí)技術(shù),把處理機(jī)運(yùn)行時(shí)間劃分成很短的(如幾百毫秒)時(shí)間片輪流地分配給各個(gè)聯(lián)機(jī)作業(yè)使用,如果某個(gè)作業(yè)在分配給它的時(shí)間片用完之前計(jì)算還未完成,該作業(yè)就暫時(shí)中斷,等待下一輪繼續(xù)計(jì)算,此時(shí)處理機(jī)讓給另一個(gè)作業(yè)使用。這樣,各個(gè)用戶的每次請(qǐng)求都能得到快速響應(yīng),給每個(gè)用戶的印象就好像他獨(dú)占一臺(tái)計(jì)算機(jī)一樣。在多道系統(tǒng)中采用分時(shí)技術(shù)就形成了分時(shí)操作系統(tǒng)。它一般采用時(shí)間片輪轉(zhuǎn)的辦法,使一臺(tái)計(jì)算機(jī)同時(shí)為多個(gè)終端用戶服務(wù)。對(duì)每個(gè)用戶都能保證足夠快的響應(yīng)時(shí)間,并提供交互會(huì)話功能。分時(shí)系統(tǒng)通過(guò)給每個(gè)用戶提供一臺(tái)“個(gè)人計(jì)算機(jī)”的方法提高了整個(gè)系統(tǒng)的效率。分時(shí)系統(tǒng)具有以下特點(diǎn):①多路性。眾多聯(lián)機(jī)用戶可以同時(shí)使用一臺(tái)計(jì)算機(jī),所以亦稱同時(shí)性。系統(tǒng)按分時(shí)原則為每個(gè)用戶服務(wù)。宏觀上,是多個(gè)用戶同時(shí)工作,共享系統(tǒng)資源;而微觀上,則是一個(gè)CPU輪流地按時(shí)間片為每個(gè)用戶作業(yè)服務(wù)。②獨(dú)占性。由于所配置的分時(shí)操作系統(tǒng)是采用時(shí)間片輪轉(zhuǎn)的辦法使一臺(tái)計(jì)算機(jī)同時(shí)為許多終端用戶服務(wù)的,因此,客觀效果是這些用戶彼此之間都感覺不到別人也在使用這臺(tái)計(jì)算機(jī),好像只有自己獨(dú)占計(jì)算機(jī)一樣。一般分時(shí)系統(tǒng)在3秒之內(nèi)響應(yīng)用戶要求,用戶就會(huì)感到滿意,因?yàn)檫@時(shí)用戶在終端上感覺不到需要等待。③交互性。用戶與計(jì)算機(jī)之間進(jìn)行“會(huì)話”,用戶從終端打入命令,提出計(jì)算要求,系統(tǒng)收到命令后分析用戶的要求并給予執(zhí)行,然后把運(yùn)算結(jié)果通過(guò)屏幕或打印機(jī)輸出,用戶可以根據(jù)運(yùn)算結(jié)果提出下一步要求,這樣一問(wèn)一答,直到全部工作完成。④及時(shí)性。用戶的請(qǐng)求能在很短的時(shí)間內(nèi)獲得響應(yīng),此時(shí)時(shí)間間隔是以人們所能接受的等待時(shí)間來(lái)確定的,通常不超過(guò)3秒。多道批處理系統(tǒng)和分時(shí)系統(tǒng)的出現(xiàn)標(biāo)志著操作系統(tǒng)的形成。在某些計(jì)算機(jī)系統(tǒng)中配置的操作系統(tǒng)結(jié)合了批處理能力和交互作用的分時(shí)能力。它以前臺(tái)/后臺(tái)方式提供服務(wù),前臺(tái)以分時(shí)方式為多個(gè)聯(lián)機(jī)終端服務(wù),當(dāng)終端作業(yè)運(yùn)行完畢時(shí),后臺(tái)系統(tǒng)就可以運(yùn)行批量的作業(yè)。1.2.7實(shí)時(shí)系統(tǒng)早期的計(jì)算機(jī)基本上用于科學(xué)和工程問(wèn)題的數(shù)值計(jì)算。50年代后期,計(jì)算機(jī)開始用于生產(chǎn)過(guò)程的控制,產(chǎn)生了實(shí)時(shí)系統(tǒng)。隨著計(jì)算機(jī)硬件的更新?lián)Q代,整個(gè)計(jì)算機(jī)系統(tǒng)的功能大大增強(qiáng)了,計(jì)算機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣泛。例如,煉鋼、化工生產(chǎn)的過(guò)程控制,航天和軍事防空系統(tǒng)中的實(shí)時(shí)控制等等。更為重要的是計(jì)算機(jī)廣泛用于信息管理,如倉(cāng)庫(kù)管理、醫(yī)療診斷、教學(xué)、氣象、地質(zhì)勘探、圖書檢索、飛機(jī)訂票、銀行儲(chǔ)蓄、出版編輯等。實(shí)時(shí)操作系統(tǒng)是操作系統(tǒng)的又一種類型。對(duì)外部輸入的信息,實(shí)時(shí)操作系統(tǒng)能夠在規(guī)定的時(shí)間內(nèi)處理完畢并做出反應(yīng)。“實(shí)時(shí)”二字的含義是指計(jì)算機(jī)對(duì)于外來(lái)信息能夠及時(shí)進(jìn)行處理,并在被控對(duì)象允許的時(shí)間范圍內(nèi)做出快速反應(yīng)。實(shí)時(shí)系統(tǒng)對(duì)響應(yīng)時(shí)間的要求比分時(shí)系統(tǒng)更高,一般要求響應(yīng)時(shí)間為秒級(jí)、毫秒級(jí)甚至微秒級(jí)。實(shí)時(shí)系統(tǒng)按其使用方式不同分為兩類:實(shí)時(shí)控制系統(tǒng)和實(shí)時(shí)信息處理系統(tǒng)。實(shí)時(shí)控制系統(tǒng)是指利用計(jì)算機(jī)對(duì)實(shí)時(shí)過(guò)程進(jìn)行控制和提供環(huán)境監(jiān)督。過(guò)程控制系統(tǒng)是把從傳感器獲得的輸入數(shù)據(jù)進(jìn)行分析處理后,激發(fā)一個(gè)活動(dòng)信號(hào),從而改變可控過(guò)程,以達(dá)到控制的目的。例如對(duì)軋鋼系統(tǒng)中爐溫的控制,就是通過(guò)傳感器把爐溫傳給計(jì)算機(jī)控制程序,控制程序通過(guò)分析后再發(fā)出相應(yīng)的控制信號(hào)以便對(duì)爐溫進(jìn)行調(diào)整,系統(tǒng)響應(yīng)時(shí)間要滿足溫控要求。實(shí)時(shí)信息處理系統(tǒng)是指利用計(jì)算機(jī)對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)。這類應(yīng)用大多屬于實(shí)現(xiàn)服務(wù)性工作,比如:自動(dòng)訂購(gòu)飛機(jī)票系統(tǒng)、情報(bào)檢索系統(tǒng)等。用戶可以通過(guò)這樣的系統(tǒng)預(yù)定飛機(jī)票、查閱文獻(xiàn)資料。用戶還可通過(guò)終端設(shè)備向計(jì)算機(jī)提出某種要求,而計(jì)算機(jī)系統(tǒng)處理后將通過(guò)終端設(shè)備回答用戶,系統(tǒng)響應(yīng)時(shí)間與分時(shí)系統(tǒng)相同,即滿足人的反應(yīng)時(shí)間。實(shí)時(shí)系統(tǒng)主要是為聯(lián)機(jī)實(shí)時(shí)任務(wù)服務(wù)的,其特點(diǎn)如下:及時(shí)響應(yīng)。系統(tǒng)對(duì)外部實(shí)時(shí)信號(hào)必須能及時(shí)響應(yīng),響應(yīng)時(shí)間要滿足能夠控制發(fā)出實(shí)時(shí)信號(hào)的那個(gè)環(huán)境的要求。高可靠性和安全性。實(shí)時(shí)系統(tǒng)要求有高可靠性和安全性,系統(tǒng)的效率則放在第二位。系統(tǒng)的整體性強(qiáng)。實(shí)時(shí)系統(tǒng)要求所管理的聯(lián)機(jī)設(shè)備和資源,必須按一定的時(shí)間關(guān)系和邏輯關(guān)系協(xié)調(diào)工作。交互會(huì)話功能較弱。實(shí)時(shí)系統(tǒng)沒有分時(shí)系統(tǒng)那樣強(qiáng)的交互會(huì)話功能,通常不允許用戶通過(guò)實(shí)時(shí)終端設(shè)備去編寫新的程序或修改已有的程序。實(shí)時(shí)終端設(shè)備通常只是作為執(zhí)行裝置或詢問(wèn)裝置,是為特殊的實(shí)時(shí)任務(wù)設(shè)計(jì)的專用系統(tǒng)。1.2.8網(wǎng)絡(luò)操作系統(tǒng)計(jì)算機(jī)技術(shù)和通信技術(shù)的結(jié)合使得共享資源和分散計(jì)算能力的愿望成為現(xiàn)實(shí)。這兩種技術(shù)的結(jié)合已經(jīng)對(duì)計(jì)算機(jī)的組織方式產(chǎn)生了深遠(yuǎn)的影響?!坝?jì)算機(jī)中心”的概念正在迅速地變得陳舊,集中式計(jì)算機(jī)系統(tǒng)的模式正被一種新的模式所取代。在這種新模式中,計(jì)算任務(wù)是由大量分離而又互相連接的計(jì)算機(jī)來(lái)完成的,某一臺(tái)計(jì)算機(jī)上的用戶可以使用其它機(jī)器上的資源。于是引出了計(jì)算機(jī)網(wǎng)絡(luò)的概念,計(jì)算機(jī)網(wǎng)絡(luò)就是利用通信線路,將分散在不同地點(diǎn)的一些獨(dú)立自治的計(jì)算機(jī)系統(tǒng)相互連接,按照網(wǎng)絡(luò)協(xié)議進(jìn)行數(shù)據(jù)傳輸和通信,實(shí)現(xiàn)資源的共享。這里要求計(jì)算機(jī)是“獨(dú)立自治”的,即計(jì)算機(jī)網(wǎng)絡(luò)中的各個(gè)計(jì)算機(jī)是平等的,可以獨(dú)立工作的,任何一臺(tái)計(jì)算機(jī)都不能強(qiáng)制性地啟動(dòng)、停止或控制另一臺(tái)計(jì)算機(jī)?!盎ミB”指的是兩臺(tái)計(jì)算機(jī)之間能彼此交換信息。連接不一定必須經(jīng)過(guò)導(dǎo)線,也可以采用激光、微波來(lái)實(shí)現(xiàn)。計(jì)算機(jī)聯(lián)網(wǎng)的目的有以下兩點(diǎn):①各計(jì)算機(jī)間資源共享、負(fù)載均衡。②通過(guò)提供可替換的資源而達(dá)到高度的可靠性。計(jì)算機(jī)網(wǎng)絡(luò)能夠使用戶突破地域條件的限制使用遠(yuǎn)程計(jì)算機(jī),并借助網(wǎng)絡(luò)互相交換信息,從而大大拓展了計(jì)算機(jī)的應(yīng)用范圍。計(jì)算機(jī)網(wǎng)絡(luò)分為兩大類:廣域網(wǎng)和局域網(wǎng)。兩者之間的主要區(qū)別是網(wǎng)絡(luò)覆蓋區(qū)域的大小不同。因特網(wǎng)(Internet)是一種廣泛區(qū)域內(nèi)的數(shù)據(jù)包交換網(wǎng)絡(luò),已成為世界上連接范圍最廣、用戶數(shù)量最多的廣域網(wǎng)。網(wǎng)中的每一臺(tái)主機(jī)都作為客戶服務(wù)器運(yùn)行。實(shí)際上,因特網(wǎng)的每一個(gè)組元節(jié)點(diǎn)都被看作一臺(tái)主機(jī),甚至路由器也被視為主機(jī)。每一臺(tái)主機(jī)都有一個(gè)惟一的因特網(wǎng)協(xié)議(IP)地址。網(wǎng)絡(luò)上的計(jì)算機(jī)是獨(dú)立自治的,即各個(gè)計(jì)算機(jī)有自己的處理器、存儲(chǔ)器、外部設(shè)備、各種軟件資源和自己的用戶。用戶只能利用特定的語(yǔ)言和操作命令使用計(jì)算機(jī)。當(dāng)計(jì)算機(jī)聯(lián)網(wǎng)后,怎樣才能適應(yīng)網(wǎng)絡(luò)環(huán)境的需要?一種較簡(jiǎn)單的方法是對(duì)原有的操作系統(tǒng)做某種改造,這樣,既不會(huì)使原有的軟件失效,又可以實(shí)現(xiàn)網(wǎng)絡(luò)通信的需要。這種方法是在原有的操作系統(tǒng)中增加一個(gè)模塊——網(wǎng)絡(luò)通信模塊。它負(fù)責(zé)本機(jī)系統(tǒng)同網(wǎng)上其它系統(tǒng)之間的資源共享和負(fù)載均衡,并實(shí)現(xiàn)網(wǎng)上信息的傳輸。目前流行的網(wǎng)絡(luò)操作系統(tǒng)以及具有連網(wǎng)功能的操作系統(tǒng)主要有NETWARE系列、Windows9x、WindowsNTserver、Windows2000、VINES、Linux等。網(wǎng)絡(luò)操作系統(tǒng)已比較成熟,它必將隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用而得到進(jìn)一步的發(fā)展和完善。1.2.9分布式操作系統(tǒng)一組相互連接并能交換信息的計(jì)算機(jī)形成了一個(gè)網(wǎng)絡(luò)。這些計(jì)算機(jī)之間可以相互通信,任何一臺(tái)計(jì)算機(jī)上的用戶可以共享網(wǎng)絡(luò)上其它計(jì)算機(jī)的資源。但是,計(jì)算機(jī)網(wǎng)絡(luò)并不是一個(gè)一體化的系統(tǒng),它沒有標(biāo)準(zhǔn)的、統(tǒng)一的接口。網(wǎng)上各站點(diǎn)的計(jì)算機(jī)有各自的系統(tǒng)調(diào)用命令、數(shù)據(jù)格式等。若一臺(tái)計(jì)算機(jī)上的用戶希望使用網(wǎng)上另一臺(tái)計(jì)算機(jī)的資源,他必須指明是哪個(gè)站點(diǎn)上的哪一臺(tái)計(jì)算機(jī),并以該計(jì)算機(jī)上的命令、數(shù)據(jù)格式來(lái)請(qǐng)求才能實(shí)現(xiàn)資源共享。為完成一個(gè)共同的計(jì)算任務(wù),分布在不同主機(jī)上的各合作進(jìn)程的同步協(xié)作也難以自動(dòng)實(shí)現(xiàn)。因此,計(jì)算機(jī)網(wǎng)絡(luò)存在的問(wèn)題之一,是在網(wǎng)絡(luò)上的不同類型計(jì)算機(jī)中,用某一種計(jì)算機(jī)所編寫的程序如何在另一類計(jì)算機(jī)上運(yùn)行。存在的另一個(gè)問(wèn)題,是如何在具有不同數(shù)據(jù)格式、不同字符編碼的計(jì)算機(jī)系統(tǒng)之間實(shí)現(xiàn)數(shù)據(jù)共享。另外,還需要解決分布在不同主機(jī)上的多個(gè)進(jìn)程如何自動(dòng)實(shí)現(xiàn)緊密合作的問(wèn)題。大量的實(shí)際應(yīng)用要求一個(gè)完整的一體化的系統(tǒng),而且又具有分布處理能力。如在分布事務(wù)處理、分布數(shù)據(jù)處理、辦公自動(dòng)化系統(tǒng)等實(shí)際應(yīng)用中,用戶希望以統(tǒng)一的界面、標(biāo)準(zhǔn)的接口使用系統(tǒng)的各種資源,實(shí)現(xiàn)所需要的各種操作。這就導(dǎo)致了分布式系統(tǒng)的出現(xiàn)。一個(gè)分布式系統(tǒng)有若干臺(tái)獨(dú)立的計(jì)算機(jī)構(gòu)成,整個(gè)系統(tǒng)給用戶的印象就像一臺(tái)計(jì)算機(jī)。實(shí)際上,系統(tǒng)中的每臺(tái)計(jì)算機(jī)都有自己的處理器、存儲(chǔ)器和外部設(shè)備,它們既可獨(dú)立工作(自治性),亦可合作。在這個(gè)系統(tǒng)中各機(jī)器可以并行操作且有多個(gè)控制中心,即具有并行處理和分布式控制的功能。分布式系統(tǒng)是一個(gè)一體化的系統(tǒng),在整個(gè)系統(tǒng)中要有一個(gè)全局的操作系統(tǒng),它負(fù)責(zé)全系統(tǒng)(包括每臺(tái)計(jì)算機(jī))的資源分配和調(diào)度、任務(wù)劃分、信息傳輸、控制協(xié)調(diào)等工作,并為用戶提供一個(gè)統(tǒng)一的界面、標(biāo)準(zhǔn)的接口。于是,分布式操作系統(tǒng)便誕生了。有了分布式操作系統(tǒng),用戶通過(guò)統(tǒng)一界面實(shí)現(xiàn)所需操作和使用系統(tǒng)資源,至于操作是在哪個(gè)計(jì)算機(jī)上執(zhí)行的或使用的是哪個(gè)計(jì)算機(jī)的資源則是系統(tǒng)的事,用戶是無(wú)須了解,也就是說(shuō)系統(tǒng)對(duì)用戶是透明的。計(jì)算機(jī)網(wǎng)絡(luò)是分布式系統(tǒng)的物理基礎(chǔ),因?yàn)橛?jì)算機(jī)之間的通信是經(jīng)由通信鏈路的消息交換完成的。它和常規(guī)網(wǎng)絡(luò)一樣具有模塊性、并行性、自治性和通信性等特點(diǎn)。但是,它比常規(guī)網(wǎng)絡(luò)又有進(jìn)一步的發(fā)展。例如,常規(guī)網(wǎng)絡(luò)中的并行性僅僅意味著獨(dú)立性,而分布式系統(tǒng)中的并行性還意味著合作。原因在于,分布式系統(tǒng)已不再是一個(gè)物理上的松散耦合系統(tǒng),而是一個(gè)邏輯上的緊密耦合的系統(tǒng)。分布式系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)的區(qū)別在于前者具有多機(jī)合作和健壯性。多機(jī)合作表現(xiàn)在自動(dòng)的任務(wù)分配和協(xié)調(diào),而健壯性表現(xiàn)在,當(dāng)系統(tǒng)中有一個(gè)甚至幾個(gè)計(jì)算機(jī)或通路發(fā)生故障時(shí),其余部分可自動(dòng)重構(gòu)成為一個(gè)新的系統(tǒng),該系統(tǒng)仍可以工作,甚至可以繼續(xù)其失效部分的全部工作。當(dāng)故障排除后,系統(tǒng)自動(dòng)恢復(fù)到重構(gòu)前的狀態(tài)。這種自動(dòng)恢復(fù)功能就體現(xiàn)了系統(tǒng)的健壯性。研制分布式系統(tǒng)的根本出發(fā)點(diǎn)和目的就是因?yàn)樗哂卸鄼C(jī)合作和健壯性。正是由于多機(jī)合作,系統(tǒng)才具有響應(yīng)時(shí)間短、吞吐量大、以及可用性好和可靠性高等特點(diǎn)。分布式系統(tǒng)是具有強(qiáng)大生命力的新生事物,是當(dāng)前正在進(jìn)行深入研究的熱點(diǎn)之一。1.2.10PC機(jī)操作系統(tǒng)隨著個(gè)人計(jì)算機(jī)的出現(xiàn),產(chǎn)生了一系列的個(gè)人計(jì)算機(jī)操作系統(tǒng),其中最知名的有:DOS、Windows、UNIX、Linux、OS/2等。1.3操作系統(tǒng)分類根據(jù)操作系統(tǒng)在用戶界面的使用環(huán)境和功能特征的不同,操作系統(tǒng)一般可分為三種基本類型,即批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。隨著計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展,又出現(xiàn)了許多種操作系統(tǒng),它們是嵌入式操作系統(tǒng)、個(gè)人計(jì)算機(jī)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。1.批處理操作系統(tǒng)批處理(BatchProcessing)操作系統(tǒng)的工作方式是:用戶將作業(yè)交給系統(tǒng)操作員,系統(tǒng)操作員將許多用戶的作業(yè)組成一批作業(yè),之后輸入到計(jì)算機(jī)中,在系統(tǒng)中形成一個(gè)自動(dòng)轉(zhuǎn)接的連續(xù)的作業(yè)流,然后啟動(dòng)操作系統(tǒng),系統(tǒng)自動(dòng)執(zhí)行每個(gè)作業(yè)。最后由操作員將作業(yè)結(jié)果交給用戶。批處理操作系統(tǒng)的特點(diǎn)是:多道和成批處理。但是用戶自己不能干預(yù)自己作業(yè)的運(yùn)行,一旦發(fā)現(xiàn)錯(cuò)誤不能及時(shí)改正,從而延長(zhǎng)了軟件開發(fā)時(shí)間,所以這種操作系統(tǒng)只適用于成熟的程序。批處理操作系統(tǒng)的優(yōu)點(diǎn)是:作業(yè)流程自動(dòng)化、效率高、吞吐率高。缺點(diǎn)是:無(wú)交互手段、調(diào)試程序困難。2.分時(shí)操作系統(tǒng)分時(shí)(TimeSharing)操作系統(tǒng)的工作方式是:一臺(tái)主機(jī)連接了若干個(gè)終端,每個(gè)終端有一個(gè)用戶使用。用戶向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接受每個(gè)用戶的命令,采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過(guò)交互方式在終端上向用戶顯示結(jié)果。用戶根據(jù)上一步的處理結(jié)果發(fā)出下一道命令。分時(shí)操作系統(tǒng)將CPU的運(yùn)行時(shí)間劃分成若干個(gè)片段,稱為時(shí)間片。操作系統(tǒng)以時(shí)間片為單位,輪流為每個(gè)終端用戶服務(wù)。由于時(shí)間片非常短,所以每個(gè)用戶感覺不到其他用戶的存在。分時(shí)系統(tǒng)具有多路性、交互性、“獨(dú)占”性和及時(shí)性的特征。多路性是指,同時(shí)有多個(gè)用戶使用一臺(tái)計(jì)算機(jī),宏觀上看是多個(gè)作業(yè)同時(shí)使用一個(gè)CPU,微觀上是多個(gè)作業(yè)在不同時(shí)刻輪流使用CPU。交互性是指,用戶根據(jù)系統(tǒng)響應(yīng)結(jié)果進(jìn)一步提出新請(qǐng)求(用戶直接干預(yù)每一步)。“獨(dú)占”性是指,用戶感覺不到計(jì)算機(jī)為其他人服務(wù),就像整個(gè)系統(tǒng)為他所獨(dú)占。及時(shí)性是指,系統(tǒng)對(duì)用戶提出的請(qǐng)求及時(shí)響應(yīng)。常見的通用操作系統(tǒng)是分時(shí)系統(tǒng)與批處理系統(tǒng)的結(jié)合。其原則是:分時(shí)優(yōu)先,批處理在后?!扒芭_(tái)”響應(yīng)需頻繁交互的作業(yè),如終端的要求;“后臺(tái)”處理時(shí)間性要求不強(qiáng)的作業(yè)。3.實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)(RealTimeOperatingSystem,RTOS)是指使計(jì)算機(jī)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在嚴(yán)格規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致地工作的操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)追求的主要目標(biāo)是:對(duì)外部請(qǐng)求在嚴(yán)格時(shí)間范圍內(nèi)做出反應(yīng),具有高可靠性和完整性。4.嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)(EmbeddedOperatingSystem)是運(yùn)行在嵌入式系統(tǒng)環(huán)境中,對(duì)整個(gè)嵌入式系統(tǒng)以及它所操作、控制的各種部件裝置等資源進(jìn)行統(tǒng)一協(xié)調(diào)、調(diào)度、指揮和控制的系統(tǒng)軟件。5.個(gè)人計(jì)算機(jī)操作系統(tǒng)個(gè)人計(jì)算機(jī)操作系統(tǒng)是一種單用戶多任務(wù)的操作系統(tǒng)。個(gè)人計(jì)算機(jī)操作系統(tǒng)主要供個(gè)人使用,功能強(qiáng)、價(jià)格便宜,可以在幾乎任何計(jì)算機(jī)上安裝使用。它能滿足一般人操作、學(xué)習(xí)、游戲等方面的需求。個(gè)人計(jì)算機(jī)操作系統(tǒng)的主要特點(diǎn)是:計(jì)算機(jī)在某一時(shí)間內(nèi)為單個(gè)用戶服務(wù);采用圖形界面進(jìn)行人機(jī)交互,界面友好;使用方便,用戶無(wú)需專門學(xué)習(xí),也能熟練操縱計(jì)算機(jī)。6.網(wǎng)絡(luò)操作系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)是基于計(jì)算機(jī)網(wǎng)絡(luò)的,是在各種計(jì)算機(jī)操作系統(tǒng)上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)開發(fā)的系統(tǒng)軟件,包括網(wǎng)絡(luò)管理、通信、安全、資源共享和各種網(wǎng)絡(luò)應(yīng)用。其目標(biāo)是實(shí)現(xiàn)網(wǎng)絡(luò)通信及資源共享。7.分布式操作系統(tǒng)通過(guò)高速互連網(wǎng)絡(luò)將許多臺(tái)計(jì)算機(jī)連接起來(lái)形成一個(gè)統(tǒng)一的計(jì)算機(jī)系統(tǒng),可以獲得極高的運(yùn)算能力及廣泛的數(shù)據(jù)共享。這種系統(tǒng)被稱作分布式系統(tǒng)(DistributedSystem)。分布式操作系統(tǒng)的特征是:統(tǒng)一性,即它是一個(gè)統(tǒng)一的操作系統(tǒng);共享性,即所有的分布式系統(tǒng)中的資源是共享的;透明性,其含義是用戶并不知道分布式系統(tǒng)是運(yùn)行在多臺(tái)計(jì)算機(jī)上,在用戶眼里整個(gè)分布式系統(tǒng)像是一臺(tái)計(jì)算機(jī),對(duì)用戶來(lái)講是透明的;自治性,即處于分布式系統(tǒng)的多個(gè)主機(jī)都可獨(dú)立工作。網(wǎng)絡(luò)操作系統(tǒng)與分布式操作系統(tǒng)在概念上的主要區(qū)別是:網(wǎng)絡(luò)操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,也就是說(shuō)它可以在不同的主機(jī)操作系統(tǒng)上,通過(guò)網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一配置,在大范圍內(nèi)構(gòu)成網(wǎng)絡(luò)操作系統(tǒng)。在網(wǎng)絡(luò)操作系統(tǒng)中并不能對(duì)網(wǎng)絡(luò)資源進(jìn)行透明的訪問(wèn),而需要顯式地指明資源位置與類型,對(duì)本地資源和異地資源的訪問(wèn)區(qū)別對(duì)待。分布式操作系統(tǒng)比較強(qiáng)調(diào)單一性,它是由一種操作系統(tǒng)構(gòu)架的。在這種操作系統(tǒng)中,網(wǎng)絡(luò)的概念在應(yīng)用層被淡化了。所有資源(本地的資源和異地的資源)都用同一方式管理與訪問(wèn),用戶不必關(guān)心資源在哪里,或者資源是怎樣存儲(chǔ)的。1.4操作系統(tǒng)的功能和主要特征1.4.1操作系統(tǒng)的功能從資源管理的角度來(lái)說(shuō),操作系統(tǒng)的主要任務(wù)是對(duì)系統(tǒng)中的硬件、軟件實(shí)施有效的管理,以提高系統(tǒng)資源的利用率。計(jì)算機(jī)硬件資源主要是指處理機(jī)、主存儲(chǔ)器和外部設(shè)備,軟件資源主要是指信息(文件系統(tǒng))。因此,操作系統(tǒng)的主要功能相應(yīng)地就有處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理和信息管理。從用戶使用的角度來(lái)說(shuō),操作系統(tǒng)為用戶提供了用戶接口。下面分別敘述這些功能。1.處理機(jī)管理在多道程序或多用戶的環(huán)境下,要組織多個(gè)作業(yè)同時(shí)運(yùn)行,就要解決處理機(jī)管理的問(wèn)題。在多道程序系統(tǒng)中,處理機(jī)的分配和運(yùn)行都是以進(jìn)程為基本單位的,因而對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。進(jìn)程管理包括以下幾方面:①進(jìn)程控制。為多道程序并發(fā)執(zhí)行而創(chuàng)建進(jìn)程,并為之分配必要的資源。當(dāng)進(jìn)程運(yùn)行結(jié)束時(shí),撤消該進(jìn)程,回收該進(jìn)程所占用的資源,同時(shí),控制進(jìn)程在運(yùn)行過(guò)程中的狀態(tài)轉(zhuǎn)換。②進(jìn)程同步。為使系統(tǒng)中的進(jìn)程有條不紊地運(yùn)行,系統(tǒng)要設(shè)置進(jìn)程同步機(jī)制,為多個(gè)進(jìn)程的運(yùn)行進(jìn)行協(xié)調(diào)。③進(jìn)程通信。系統(tǒng)中的各進(jìn)程之間有時(shí)需要合作,需要交換信息,為此需要進(jìn)行進(jìn)程通信。④進(jìn)程調(diào)度。從進(jìn)程的就緒隊(duì)列中,按照一定的算法選擇一個(gè)進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng),使之投入運(yùn)行。2.存儲(chǔ)管理存儲(chǔ)管理的主要任務(wù)是為多道程序的運(yùn)行提供良好的環(huán)境,方便用戶使用存儲(chǔ)器,并提高內(nèi)存的利用率。存儲(chǔ)管理包括以下幾個(gè)方面:①內(nèi)存分配。為每道程序分配內(nèi)存空間,并使內(nèi)存得到充分利用,在作業(yè)結(jié)束時(shí)收回其所占用的內(nèi)存空間。②內(nèi)存保護(hù)。保證每道程序都在自己的內(nèi)存空間運(yùn)行,彼此互不侵犯,尤其是操作系統(tǒng)的數(shù)據(jù)和程序,絕不允許用戶程序干擾。③地址映射。在多道程序設(shè)計(jì)環(huán)境下,每個(gè)作業(yè)是動(dòng)態(tài)裝入內(nèi)存的,作業(yè)的邏輯地址必須轉(zhuǎn)換為內(nèi)存的物理地址,這一轉(zhuǎn)換稱為地址映射。④內(nèi)存擴(kuò)充。內(nèi)存的容量是有限的。為滿足用戶的需要,通過(guò)建立虛擬存儲(chǔ)系統(tǒng)來(lái)實(shí)現(xiàn)內(nèi)存容量的邏輯上的擴(kuò)充。3.設(shè)備管理在計(jì)算機(jī)系統(tǒng)的硬件中,除了CPU和內(nèi)存,其余幾乎都屬于外部設(shè)備,外部設(shè)備種類繁多,物理特性相差很大。因此,操作系統(tǒng)的設(shè)備管理往往很復(fù)雜。設(shè)備管理主要包括:①緩沖管理。由于CPU和I/O設(shè)備的速度相差很大,為緩和這一矛盾,通常在設(shè)備管理中建立I/O緩沖區(qū),而對(duì)緩沖區(qū)的有效管理便是設(shè)備管理的一項(xiàng)任務(wù)。②設(shè)備分配。根據(jù)用戶程序提出的I/O請(qǐng)求和系統(tǒng)中設(shè)備的使用情況,按照一定的策略,將所需設(shè)備分配給申請(qǐng)者,設(shè)備使用完畢后及時(shí)收回。③設(shè)備處理。設(shè)備處理程序又稱設(shè)備驅(qū)動(dòng)程序,對(duì)于未設(shè)置通道的計(jì)算機(jī)系統(tǒng)其基本任務(wù)通常是實(shí)現(xiàn)CPU和設(shè)備控制器之間的通信。即由CPU向設(shè)備控制器發(fā)出I/O指令,要求它完成指定的I/O操作,并能接收由設(shè)備控制器來(lái)的中斷請(qǐng)求,給予及時(shí)的響應(yīng)和相應(yīng)的處理。對(duì)于設(shè)置了通道的計(jì)算機(jī)系統(tǒng),設(shè)備處理程序還應(yīng)能根據(jù)用戶的I/O請(qǐng)求,自動(dòng)構(gòu)造通道程序。④設(shè)備獨(dú)立性和虛擬設(shè)備。設(shè)備獨(dú)立性是指應(yīng)用程序獨(dú)立于具體的物理設(shè)備,使用戶編程與實(shí)際使用的物理設(shè)備無(wú)關(guān)。虛擬設(shè)備的功能是將低速的獨(dú)占設(shè)備改造為高速的共享設(shè)備。4.文件管理處理機(jī)管理、存儲(chǔ)管理和設(shè)備管理都屬于硬件資源的管理。軟件資源的管理稱為信息管理,即文件管理。現(xiàn)代計(jì)算機(jī)系統(tǒng)中,總是把程序和數(shù)據(jù)以文件的形式存儲(chǔ)在文件存儲(chǔ)器中(如磁盤、光盤、磁帶等)供用戶使用。為此,操作系統(tǒng)必須具有文件管理功能。文件管理的主要任務(wù)是對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理,并保證文件的安全性。文件管理包括以下內(nèi)容:①文件存儲(chǔ)空間的管理。所有的系統(tǒng)文件和用戶文件都存放在文件存儲(chǔ)器上。文件存儲(chǔ)空間管理的任務(wù)是為新建文件分配存儲(chǔ)空間,在一個(gè)文件被刪除后應(yīng)及時(shí)釋放所占用的空間。文件存儲(chǔ)空間管理的目標(biāo)是提高文件存儲(chǔ)空間的利用率,并提高文件系統(tǒng)的工作速度。②目錄管理。為方便用戶在文件存儲(chǔ)器中找到所需文件,通常由系統(tǒng)為每一文件建立一個(gè)目錄項(xiàng),包括文件名、屬性以及存放位置等,由若干目錄項(xiàng)又可構(gòu)成一個(gè)目錄文件。目錄管理的任務(wù)是為每一文件建立其目錄項(xiàng),并對(duì)目錄項(xiàng)加以有效的組織,以方便用戶按名存取。③文件讀、寫管理。文件讀、寫管理是文件管理的最基本的功能。文件系統(tǒng)根據(jù)用戶給出的文件名去查找文件目錄,從中得到文件在文件存儲(chǔ)器上的位置,然后利用文件讀、寫函數(shù),對(duì)文件進(jìn)行讀、寫操作。④文件存取控制。為了防止系統(tǒng)中的文件被非法竊取或破壞,在文件系統(tǒng)中應(yīng)建立有效的保護(hù)機(jī)制,以保證文件系統(tǒng)的安全性。5.用戶接口為方便用戶使用操作系統(tǒng),操作系統(tǒng)必須為用戶或程序員提供相應(yīng)的接口,通過(guò)使用這些接口達(dá)到方便地使用計(jì)算機(jī)的目的。操作系統(tǒng)為用戶提供了以下接口:①命令接口。命令接口分為聯(lián)機(jī)命令接口和脫機(jī)命令接口。聯(lián)機(jī)命令接口是為聯(lián)機(jī)用戶提供的,它由一組鍵盤命令及其解釋程序所組成。當(dāng)用戶在終端或控制臺(tái)上打入一條命令后,系統(tǒng)便自動(dòng)轉(zhuǎn)入命令解釋程序,對(duì)該命令進(jìn)行解釋并執(zhí)行。在完成指定操作后,控制又返回到終端或控制臺(tái),等待接收用戶打入的下一條命令。這樣,用戶可通過(guò)不斷鍵入不同的命令,達(dá)到控制自己作業(yè)的目的。②脫機(jī)命令接口。脫機(jī)命令接口是為批處理系統(tǒng)的用戶提供的。在批處理系統(tǒng)中,用戶不直接與自己的作業(yè)進(jìn)行交互,而是使用作業(yè)控制語(yǔ)言(JCL),將用戶對(duì)其作業(yè)控制的意圖寫成作業(yè)說(shuō)明書,然后將作業(yè)說(shuō)明書連同作業(yè)一起提交給系統(tǒng)。當(dāng)系統(tǒng)調(diào)度到該作業(yè)時(shí),通過(guò)解釋程序?qū)ψ鳂I(yè)說(shuō)明書進(jìn)行逐條解釋并執(zhí)行。這樣,作業(yè)一直在作業(yè)說(shuō)明書的控制下運(yùn)行,直到遇到作業(yè)結(jié)束語(yǔ)句時(shí),系統(tǒng)停止該作業(yè)的執(zhí)行。③程序接口。程序接口是用戶獲取操作系統(tǒng)服務(wù)的惟一途徑。程序接口由一組系統(tǒng)調(diào)用組成。每一個(gè)系統(tǒng)調(diào)用都是一個(gè)完成特定功能的子程序。早期的操作系統(tǒng)(如UNIX、MS-DOS 等),系統(tǒng)調(diào)用都是用匯編語(yǔ)言寫成的,因而只有在用匯編語(yǔ)言寫的應(yīng)用程序中可以直接調(diào)用。近年來(lái)推出的操作系統(tǒng)中,如UNIXSystemV、OS/22.x版本中,系統(tǒng)調(diào)用是用C語(yǔ)言編寫的,并以函數(shù)的形式提供,從而可在用C語(yǔ)言編寫的程序中直接調(diào)用。而在其它高級(jí)語(yǔ)言中,往往提供與系統(tǒng)調(diào)用一一對(duì)應(yīng)的庫(kù)函數(shù),應(yīng)用程序通過(guò)調(diào)用庫(kù)函數(shù)來(lái)使用系統(tǒng)調(diào)用。④圖形接口。以終端命令和命令語(yǔ)言方式來(lái)控制程序的運(yùn)行固然有效,但給用戶增加了不少負(fù)擔(dān),即用戶必須記住各種命令,并從鍵盤輸入這些命令以及所需數(shù)據(jù)來(lái)控制程序的運(yùn)行。大屏幕高分辨率圖形顯示和多種交互式輸入/輸出設(shè)備(如鼠標(biāo)、光筆、觸摸屏等)的出現(xiàn),使得改變“記憶并鍵入”的操作方式為圖形接口方式成為可能。圖形用戶接口的目標(biāo)是通過(guò)出現(xiàn)在屏幕上的對(duì)象直接進(jìn)行操作,以控制和操縱程序的運(yùn)行。這種圖形用戶接口大大減輕或免除了用戶記憶的工作量,其操作方式也使原來(lái)的“記憶并鍵入”改變?yōu)椤斑x擇并點(diǎn)取”,極大地方便了用戶,并受到用戶的普遍歡迎。圖形用戶接口的主要構(gòu)件是:窗口、菜單和對(duì)話框。國(guó)際上為了促進(jìn)圖形用戶接口(GUI)的發(fā)展,1988年制定了GUI標(biāo)準(zhǔn)。到了20世紀(jì)90年代各種操作系統(tǒng)的圖形用戶接口普遍出現(xiàn),如Microsoft公司的Windows95、Windows98、WindowsNT等。1.4.2操作系統(tǒng)的主要特征安裝操作系統(tǒng)的目的在于提高計(jì)算機(jī)系統(tǒng)的效率,增強(qiáng)系統(tǒng)的處理能力,提高系統(tǒng)資源的利用率,方便用戶的使用。為此,現(xiàn)代操作系統(tǒng)廣泛采用并行操作技術(shù),使多種硬件設(shè)備能并行工作。例如I/O操作和CPU計(jì)算同時(shí)進(jìn)行,在內(nèi)存中同時(shí)存放并執(zhí)行多道程序等。以多道程序設(shè)計(jì)為基礎(chǔ)的現(xiàn)代操作系統(tǒng)具有以下主要特征:1.并發(fā)性并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時(shí)間內(nèi),宏觀上有多個(gè)程序在同時(shí)運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時(shí)刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時(shí)地交替執(zhí)行。倘若在計(jì)算機(jī)系統(tǒng)中有多個(gè)處理機(jī),則這些可以并發(fā)執(zhí)行的程序便可被分配到多個(gè)處理機(jī)上,實(shí)現(xiàn)并行執(zhí)行,即利用每個(gè)處理機(jī)來(lái)處理一個(gè)可并發(fā)執(zhí)行的程序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生稱為并行。在操作系統(tǒng)中存在著許多并發(fā)或并行的活動(dòng)。例如,系統(tǒng)中同時(shí)有三個(gè)程序在運(yùn)行,它們可能以交叉方式在CPU上執(zhí)行,也可能一個(gè)在執(zhí)行計(jì)算,一個(gè)在進(jìn)行數(shù)據(jù)輸入,另一個(gè)在進(jìn)行計(jì)算結(jié)果的打印。由并發(fā)而產(chǎn)生的一些問(wèn)題是:如何從一個(gè)活動(dòng)轉(zhuǎn)到另一個(gè)活動(dòng),如何保護(hù)一個(gè)活動(dòng)不受另一個(gè)活動(dòng)的影響,以及如何實(shí)現(xiàn)相互制約活動(dòng)之間的同步。為使并發(fā)活動(dòng)有條不紊的進(jìn)行,操作系統(tǒng)就要對(duì)其進(jìn)行有效的管理與控制。2.共享性共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的程序共同使用。由于資源屬性的不同,對(duì)資源共享的方式也不同,目前主要有以下兩種資源共享方式:(1)互斥共享方式。系統(tǒng)中的某些資源,如打印機(jī)、磁帶機(jī),雖然它們可以提供給多個(gè)用戶程序使用,但為使所打印或記錄的結(jié)果不致造成混淆,應(yīng)規(guī)定在一段時(shí)間內(nèi)只允許一個(gè)用戶程序訪問(wèn)該資源。這種資源共享方式稱為互斥式共享。(2)同時(shí)訪問(wèn)方式。系統(tǒng)中還有另一類資源,允許在一段時(shí)間內(nèi)由多個(gè)用戶程序“同時(shí)”對(duì)它們進(jìn)行訪問(wèn)。這里所謂的“同時(shí)”往往是宏觀上的,而在微觀上,這些用戶程序可能是交替地對(duì)該資源進(jìn)行訪問(wèn)。例如對(duì)磁盤設(shè)備的訪問(wèn)。并發(fā)和共享是操作系統(tǒng)的兩個(gè)最基本的特征,它們又互為對(duì)方存在的條件。一方面,資源共享是以程序的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問(wèn)題;另一方面,若系統(tǒng)不能對(duì)資源共享實(shí)施有效管理,協(xié)調(diào)好多個(gè)程序?qū)蚕碣Y源的訪問(wèn),也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無(wú)法并發(fā)執(zhí)行。3.虛擬性虛擬是指將一個(gè)物理實(shí)體映射為若干個(gè)邏輯實(shí)體。前者是客觀存在的,后者是虛構(gòu)的,是一種感覺性的存在,即主觀上的一種想象。例如,在多道程序系統(tǒng)中,雖然只有一個(gè)CPU,每次只能執(zhí)行一道程序,但采用多道程序技術(shù)后,在一段時(shí)間間隔內(nèi),宏觀上有多個(gè)程序在運(yùn)行。在用戶看來(lái),就好像有多個(gè)CPU在各自運(yùn)行自己的程序。這種情況就是將一個(gè)物理的CPU虛擬為多個(gè)邏輯上的CPU,邏輯上的CPU稱為虛擬處理機(jī)。類似的還有虛擬存儲(chǔ)器、虛擬設(shè)備等。4.不確定性在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但只有程序在獲得所需的資源后方能執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)程序執(zhí)行,其余程序只能等待。當(dāng)正在執(zhí)行的程序提出某種資源要求時(shí),如打印請(qǐng)求,而此時(shí)打印機(jī)正在為其它某程序打印,由于打印機(jī)屬于互斥型共享資源,因此正在執(zhí)行的程序必須等待,且放棄處理機(jī),直到打印機(jī)空閑,并再次把處理機(jī)分配給該程序時(shí),該程序方能繼續(xù)執(zhí)行。可見,由于資源等因素的限制,使程序的執(zhí)行通常都不是“一氣呵成”,而是以“停停走走”的方式運(yùn)行。內(nèi)存中的每個(gè)程序在何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請(qǐng)求而暫停,以及程序以怎樣的速度向前推進(jìn),每道程序總共需多少時(shí)間才能完成,等等,都是不可預(yù)知的。因此,在操作系統(tǒng)中,存在著不確定性。1.5常用操作系統(tǒng)介紹目前最常用的操作系統(tǒng)是Windows、UNIX和Linux。其中,UNIX目前常用的變種有SUN公司的Solaris、IBM公司的AIX、惠普公司的HPUX等。其它比較常用的操作系統(tǒng)還有MacOS、NetWare、zOS(OS/390)、OS/400、OS/2等。在20世紀(jì)80年代和90年代初,DOS曾經(jīng)是最常用的操作系統(tǒng)之一。1.5.1MS-DOS及Windows系列 Windows系列與MS-DOS都是微軟公司的產(chǎn)品,1975年微軟公司成立之初,只有一個(gè)BASIC程序及比爾·蓋茨和保羅·艾倫兩個(gè)人。時(shí)至今日,微軟公司已成為世界上最大的軟件公司,其產(chǎn)品涵蓋操作系統(tǒng)、編譯程序、數(shù)據(jù)庫(kù)管理系統(tǒng)、辦公室自動(dòng)化軟件等各個(gè)領(lǐng)域。Windows系列操作系統(tǒng)是由微軟公司從1985年起開發(fā)的一系列視窗操作系統(tǒng)產(chǎn)品,包括個(gè)人(家用)、商用和嵌入式3條產(chǎn)品線(圖1.4)。個(gè)人操作系統(tǒng)包括WindowsMe、Windows95/98,及更早期的版本W(wǎng)indows1.x、2.x、3.x等,主要在IBM個(gè)人機(jī)系列上運(yùn)行。商用操作系統(tǒng)是Windows2000和其前身版本W(wǎng)indowsNT,主要在服務(wù)器、工作站等上運(yùn)行,也可以在IBM個(gè)人系列機(jī)上運(yùn)行。嵌入式操作系統(tǒng)有WindowsCE和手機(jī)用操作系統(tǒng)stinger等。WindowsXP將使家用和商用兩條產(chǎn)品線合二為一。截止至20世紀(jì)末,全世界運(yùn)行各種Windows版本的計(jì)算機(jī)有兩億臺(tái)左右。微軟公司從1983年開始研制Windows操作系統(tǒng)。當(dāng)時(shí),IBMPC進(jìn)入市場(chǎng)已有兩年,微軟公司開發(fā)的磁盤操作系統(tǒng)DOS和編程語(yǔ)言BASIC隨IBMPC捆綁銷售,取得了很大的成功。Windows操作系統(tǒng)最初的研制目標(biāo)是在DOS的基礎(chǔ)上提供一個(gè)多任務(wù)的圖形用戶界面。不過(guò),第一個(gè)取得成功的圖形用戶界面系統(tǒng)并不是Windows,而是Windows的模仿對(duì)象——蘋果公司于1984年推出的MacOS(運(yùn)行于蘋果公司的Macintosh個(gè)人計(jì)算機(jī)上),Macintosh機(jī)及其上的操作系統(tǒng)當(dāng)時(shí)已風(fēng)靡美國(guó)多年,是IBMPC和DOS操作系統(tǒng)在當(dāng)時(shí)市場(chǎng)上的主要競(jìng)爭(zhēng)對(duì)手。當(dāng)年蘋果公司曾對(duì)PC機(jī)和Windows操作系統(tǒng)不屑一顧,并大力抨擊微軟公司抄襲MacOS的外觀和靈感。但蘋果機(jī)和MacOS是封閉式體系(硬件接口不公開、系統(tǒng)源代碼不公開等),而IBMPC和MS-DOS 是開放式體系(硬件接口公開、允許并支持第三方廠家做兼容機(jī)、公開操作系統(tǒng)源代碼等)。這個(gè)關(guān)鍵的區(qū)別使得IBMPC后來(lái)者居上,銷量超過(guò)了蘋果機(jī),并使得在IBMPC上運(yùn)行的Windows操作系統(tǒng)的普及率超過(guò)了MacOS,成為個(gè)人計(jì)算機(jī)市場(chǎng)占主導(dǎo)地位的操作系統(tǒng)。1.MS-DOS DOS是微軟公司與IBM公司開發(fā)的、廣泛運(yùn)行于IBMPC及其兼容機(jī)上的操作系統(tǒng),全稱是MS-DOS 。上世紀(jì)80年代初,IBM公司開始涉足PC領(lǐng)域時(shí),曾多方考察選擇合適的操作系統(tǒng)。1980年11月,IBM和微軟公司正式簽約,之后的IBMPC均使用DOS作為標(biāo)準(zhǔn)的操作系統(tǒng)。由于IBMPC大獲成功,微軟公司也隨之得到了飛速發(fā)展,MS-DOS 從此成為個(gè)人計(jì)算機(jī)操作系統(tǒng)的代名詞,發(fā)展成為個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)平臺(tái)。IBMPC機(jī)上所配的操作系統(tǒng)稱PCDOS或IBMDOS,是IBM向微軟公司買下MS-DOS 的版權(quán),另外作了修改和擴(kuò)充而產(chǎn)生的。MS-DOS 最早的版本是1981年8月推出的1.0版,至1993年6月推出了6.0版,微軟公司推出的最后一個(gè)MS-DOS 版本是DOS6.22,以后不再推出新的版本。MS-DOS 是一個(gè)單用戶操作系統(tǒng),自4.0版開始具有多任務(wù)處理功能。20世紀(jì)80年代DOS最盛行時(shí),全世界大約有1億臺(tái)個(gè)人計(jì)算機(jī)使用DOS系統(tǒng),用戶在DOS下開發(fā)了大量應(yīng)用程序。由于這個(gè)原因,20世紀(jì)90年代新的操作系統(tǒng)都提供對(duì)DOS的兼容性。個(gè)人操作系統(tǒng)商用操作系統(tǒng)1985年Windows1.01987年Windows2.01990年Windows3.0Windows3.xWindowsNT3.1(NT第1版)1993年WindowsNT3.5(NT第2版)1994年1995年Windows95WindowsNT3.51(NT第3版)1995年WindowsNT4.0(NT第4版)1996年1998年Windows98WindowsCE1998年2000年10月WindowsMeWindows2000(NT5.0)2000年2月2001年下半年WindowsXP圖1.4微軟公司W(wǎng)indows操作系統(tǒng)產(chǎn)品線2.Windows3.x、Windows95/98及WindowsMe從20世紀(jì)90年代起,在個(gè)人操作系統(tǒng)領(lǐng)域,微軟公司的Windows個(gè)人操作系統(tǒng)系列占有絕對(duì)的壟斷地位。微軟公司W(wǎng)indows操作系統(tǒng)的個(gè)人產(chǎn)品線是由20世紀(jì)80年代的DOS平臺(tái)演變而來(lái)。其中,影響較大和較突出的版本是Windows3.0和Windows95。Windows3.0的大量全新特性以壓倒性的優(yōu)勢(shì)確定了Windows操作系統(tǒng)在PC領(lǐng)域的壟斷地位,而Windows95則一上市就風(fēng)靡世界。Windows3.1及以前的版本均為16位系統(tǒng),不能充分利用硬件的強(qiáng)大功能,還須與DOS共同管理系統(tǒng)硬件資源,依賴DOS管理文件系統(tǒng),只能在DOS之上運(yùn)行,所以,不能算完整的操作系統(tǒng)。而Windows95(及稍前的WindowsNT)則已擺脫DOS的限制(不用從DOS下啟動(dòng)Windows),在提供強(qiáng)大功能(如網(wǎng)絡(luò)和多媒體功能等)和簡(jiǎn)化用戶操作(如桌面和資源管理器等新特性)這兩個(gè)方面都取得了突出的成績(jī)。Windows95和Windows98在上市的第一個(gè)月和前半年分別在零售商店銷售出了60萬(wàn)套和200萬(wàn)套。2000年9月,微軟公司推出Windows98的后續(xù)版本W(wǎng)indowsMe(視窗千禧版,MicrosoftWindowsMillenniumEdition),較之Windows98沒有本質(zhì)上的改進(jìn),只是擴(kuò)展了一些功能,是微軟公司推出的最后一種基于DOS系統(tǒng)的操作系統(tǒng),零售價(jià)每套40美元左右,上市4天售出25萬(wàn)套。WindowsMe的后續(xù)版本是把微軟公司的個(gè)人操作系統(tǒng)與商用操作系統(tǒng)合二為一(即把WindowsMe和Windows2000合二為一)的WindowsXP。這種產(chǎn)品線的合并,意味著微軟公司從此不再有基于DOS平臺(tái)的操作系統(tǒng),以后的Windows操作系統(tǒng)都基于NT平臺(tái)。3.WindowsNT及Windows2000微軟公司在20世紀(jì)80年代中后期的主流產(chǎn)品Windows和DOS都是個(gè)人計(jì)算機(jī)上的單用戶操作系統(tǒng)。1985年開始,IBM公司與微軟公司合作開發(fā)商用多用戶操作系統(tǒng)OS/2,但這次合作并不十分融洽,1987年OS/2推出后,微軟公司開始計(jì)劃建立自己的商用多用戶操作系統(tǒng)。1988年10月,微軟公司聘任DaveCulter作為NT的主設(shè)計(jì)師,開始組建開發(fā)新操作系統(tǒng)的隊(duì)伍。1993年5月24日,經(jīng)過(guò)幾百個(gè)人四年多的工作,微軟公司正式推出WindowsNT。在相繼推出WindowsNTl.0、2.0、3.0、4.0后,2000年2月推出Windows2000(原來(lái)稱為WindowsNT5.0)。而Windows2000的下一個(gè)版本是WindowsXP。WindowsNT及后來(lái)的Windows2000是商用多用戶操作系統(tǒng),其開發(fā)目標(biāo)是作為工作站和服務(wù)器上的32位操作系統(tǒng),以充分利用32位處理器等硬件的新特性,并使其易于適應(yīng)將來(lái)的硬件變化,能容易地隨著新的市場(chǎng)需求而擴(kuò)充,同時(shí)與已有應(yīng)用程序保持兼容。WindowsNT最初采用OS/2的界面,后來(lái)因Windows操作系統(tǒng)的成功推出又改為用Windows系列的界面。WindowsNT最初計(jì)劃基于Inteli860CPU,1990年時(shí)轉(zhuǎn)為基于Intel80386/486和RISCCPU。WindowsNT較好地實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)(充分利用硬件新特性、可擴(kuò)充性、可移植性、兼容性等),采用和實(shí)現(xiàn)了大量的新技術(shù),其結(jié)構(gòu)具有微內(nèi)核、客戶/服務(wù)器、面向?qū)ο蟮认冗M(jìn)特性。WindowsNT支持對(duì)稱多處理、多線程程序、多個(gè)可裝卸文件系統(tǒng)(FAT、HPFS、CDFS、NTFS等),還支持多種常用API和標(biāo)準(zhǔn)API(WIN32、OS/2、DOS、POSIX等),提供源碼級(jí)兼容和二進(jìn)制兼容,內(nèi)置網(wǎng)絡(luò)和分布式計(jì)算。WindowsNT安全性達(dá)到美國(guó)政府C2級(jí)安全標(biāo)準(zhǔn)。WindowsNT是1999年銷量第一的服務(wù)器操作系統(tǒng)。2000年2月18日,微軟公司正式推出了Windows2000,其性能與可靠性都比WindowsNT有了很大改善。Windows2000的下一個(gè)版本與WindowsMe的下一個(gè)版本合二為一,稱為WindowsXP。WindowsXP的設(shè)計(jì)理念是,把以往Windows系列軟件家庭版的易用性和商用版的穩(wěn)定性集于一身。1.5.2UNIX家族:Solaris,AIX,HPUX,SVR4,BSD1.UNIX概述UNIX是一種多用戶操作系統(tǒng),是目前的三大主流操作系統(tǒng)之一(另外兩個(gè)是Linux和Windows)。它1969年誕生于貝爾(電話)實(shí)驗(yàn)室,由于其簡(jiǎn)潔、易于移植等特點(diǎn)而很快得到注意、發(fā)展和普及,成為跨越從微型機(jī)到巨型機(jī)范圍的惟一操作系統(tǒng)。除了貝爾實(shí)驗(yàn)室的“正宗”UNIX版本外,UNIX還有大量的變種。例如,目前的主要變種有SUNSolaris、IBMAIX和HPUX等,不同變種間的功能、接口、內(nèi)部結(jié)構(gòu)基本相同而又各有不同。除變種外,UNIX還有一些克隆系統(tǒng),如Math和Linux??寺∨c變種的區(qū)別在于:變種是在正宗版本的基礎(chǔ)上修改而來(lái)(包括界面與內(nèi)部實(shí)現(xiàn)),而克隆則只是界面相同,內(nèi)部則完全重新實(shí)現(xiàn)。有時(shí)也將克隆和變種統(tǒng)稱為變種。2.UNIX的發(fā)展歷史UNIX的發(fā)展歷程如圖1.5所示。⑴UNIX的產(chǎn)生過(guò)程“UNIX”這個(gè)名字是取“Multics”的反義,其誕生背景與特點(diǎn)一如其名。Multics項(xiàng)目(MULTiplexedInformationandComputingService)由貝爾(電話)實(shí)驗(yàn)室(Bell(Telephone)Laboratories,簡(jiǎn)稱BTL)、通用電氣公司(GeneralElectric)和麻省理工學(xué)院聯(lián)合開發(fā),旨在建立一個(gè)能夠同時(shí)支持?jǐn)?shù)千個(gè)用戶的分時(shí)系統(tǒng),該項(xiàng)目因目標(biāo)過(guò)于龐大而失敗,于1969年撤銷。退出Multics項(xiàng)目后,1969年中期,貝爾實(shí)驗(yàn)室的雇員Thompson開始在公司的一臺(tái)閑置的只有4KB內(nèi)存的PDP-7計(jì)算機(jī)上開發(fā)一個(gè)“太空漫游”游戲程序。由于PDP-7缺少程序開發(fā)環(huán)境,為了方便這個(gè)游戲程序的開發(fā),Thompson和公司的另一名雇員Ritchie一起用GE-645匯編語(yǔ)言(以前曾用于Multics開發(fā))開發(fā)PDP-7上的操作環(huán)境。最初是一個(gè)簡(jiǎn)單的文件系統(tǒng),很快又添加了一個(gè)進(jìn)程子系統(tǒng)、一個(gè)命令解釋器和一些實(shí)用工具程序。他們將這個(gè)系統(tǒng)命名為UNIX。此后,隨著貝爾實(shí)驗(yàn)室的工作環(huán)境的需要,他們將UNIX移植到PDP-11上,并逐漸增加了新的功能。很快,UNIX開始在貝爾實(shí)驗(yàn)室內(nèi)部流行,許多人都投入到它的開發(fā)中來(lái)。1971年,《UNIX程序員手冊(cè)》第1版出版,這之后直到1989年,貝爾實(shí)驗(yàn)室又相繼發(fā)行了10個(gè)版本的UNIX和相應(yīng)的手冊(cè)。1973年Ritchie用C語(yǔ)言重寫了UNIX(UNIX第4版),這使得UNIX的可移植性大大增強(qiáng),這是UNIX邁向成功之路的關(guān)鍵一步。1973年10月,Thompson和Ritchie在ACM(AssociationforComputingMachinery,計(jì)算機(jī)協(xié)會(huì))的SOSP(SymposiumOperatingSystemsPrinciples,操作系統(tǒng)原理討論會(huì))會(huì)議上發(fā)表了首篇UNIX論文,這是UNIX首次在貝爾實(shí)驗(yàn)室以外亮相。⑵免費(fèi)擴(kuò)散階段在SOSP上發(fā)表論文后,UNIX立即引起了眾人的注意和興趣,UNIX軟件和源碼迅速以許可證形式免費(fèi)傳播到世界各地。一些大學(xué)、研究機(jī)構(gòu)在免費(fèi)使用的同時(shí),對(duì)UNIX進(jìn)行了深入的研究、移植和改進(jìn)。AT&T又將這些改進(jìn)與移植加入其以后的UNIX版本中。另外,眾多大學(xué)對(duì)UNIX的免費(fèi)使用,使學(xué)生們得以熟悉UNIX,這些學(xué)生們畢業(yè)后又把UNIX傳播到各種商業(yè)機(jī)構(gòu)和政府機(jī)構(gòu),這對(duì)UNIX早期的傳播和普及起到了重要作用。UNIX的第一次移植是由Wollongong大學(xué)于1976年將其移植到Interdata機(jī)上。其它幾次較早的移植包括:1978年,微軟公司與SCO公司合作將UNIX移植到Intel8086上,即XENIX系統(tǒng)(最早的UNIX商業(yè)變種之一);1978年,DEC公司將UNIX移植到VAX上,即UNIX/32V(3BSD的前身)。第一版(1971年)第一版(1971年)第三版(1973年)第三版(1973年)第六版(1975年)第六版(1975年)SYSTEMⅢ(1982年)SYSTEMⅢ(1982年)第七版1BSD(1978年)SYSTEMⅤ(1982年)SYSTEMⅤ(1982年)第八版2BSD(1978年)SVR(1984年)第九版3BSD(1979年)SVR(1984年)第九版3BSD(1979年)SVR(1987年)MACH2.54.xBSD(DARPA)第十版(1989年)SVR(1987年)MACH2.54.xBSD(DARPA)第十版(1989年)OSF/1(1989年)4.4BSD(1993年)SVR(1989年)OSF/1(1989年)4.4BSD(1993年)SVR(1989年)DECOSF/1DECOSF/1SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)DigitalUNIXDigitalUNIXTru64UNIXTru64UNIX圖1.5UNIX發(fā)展圖⑶商用版本的出現(xiàn)和三大主線的形成UNIX的不斷發(fā)展導(dǎo)致許多計(jì)算機(jī)公司開始發(fā)行自己機(jī)器上的UNIX增值商業(yè)版本。UNIX的第一個(gè)商業(yè)變種是1977年InteractiveSystems公司的IS/1(PDP-11)。20世紀(jì)80年代著名的商業(yè)變種有SUN公司的SunOS、微軟公司與SCO公司的XENIX等。20世紀(jì)70年代中期到80年代中期,UNIX的迅速發(fā)展,眾多大學(xué)和公司的參與,使得UNIX的變種迅速增多。這些變種主要圍繞3條主線:由貝爾實(shí)驗(yàn)室發(fā)布的UNIX研究版(FirstEditionUNIX到TenthEditionUNIX,或稱V1到V10,以后不再發(fā)行新版;由加利福尼亞州大學(xué)伯克利分校發(fā)布的BSD(BerkeleySoftwareDistribution)和由貝爾實(shí)驗(yàn)室發(fā)布的UNIXSystemⅢ和SystemV。1984年的AT&T大分家使得AT&T可以進(jìn)入計(jì)算機(jī)市場(chǎng),因此,除了貝爾實(shí)驗(yàn)室研究小組繼續(xù)研究和發(fā)行UNIX研究版之外,AT&T成立了專門的UNIX對(duì)外發(fā)行機(jī)構(gòu)。最初是UNIX支持小組,后來(lái)是UNIX系統(tǒng)開發(fā)小組,接下來(lái)是AT&T信息系統(tǒng)。這些機(jī)構(gòu)先后發(fā)行了SystemⅢ(1982年)、SystemV(1983年)、SystemVRelease2(SVR2,1984年)、SVR3(1987年),許多商業(yè)UNIX變種都是基于這條主線實(shí)現(xiàn)的。加利福尼亞州大學(xué)伯克利分校是最早領(lǐng)取許可證的UNIX用戶之一(1973年12月),最初的BSD版本發(fā)行(1978年初的1BSD和1978年末的2BSD)僅包括應(yīng)用程序和實(shí)用工具(如Vi、Pascal、CShell等),沒有對(duì)操作系統(tǒng)核心本身進(jìn)行修改和再發(fā)行。1979年末的3BSD則基于UNIX/32V設(shè)計(jì)實(shí)現(xiàn)了頁(yè)式虛存管理,是由加利福尼亞州大學(xué)伯克利分校發(fā)行的第一個(gè)操作系統(tǒng)。在3BSD中所做的虛存工作使該校得到美國(guó)國(guó)防部資助,推出了4BSD(1980年的4.0BSD到1993年的4.4BSD),其中集成了TCP/IP,引入了快速文件系統(tǒng)(FastFileSystem,簡(jiǎn)稱FFS)、套接字等大量先進(jìn)技術(shù)。BSD對(duì)UNIX的發(fā)展具有重要影響,有許多新技術(shù)是BSD率先引入的。SunOS就是基于4BSD的。伯克利分校對(duì)UNIX的開發(fā)工作一直由計(jì)算機(jī)科學(xué)研究小組(ComputerScienceResearchGroup,簡(jiǎn)稱CSRG)承擔(dān),1993年發(fā)行4.4BSD時(shí),CSRG宣布因缺少資金等原因而停止UNIX開發(fā),因此4.4BSD是伯克利分校發(fā)行的最后一個(gè)版本。到20世紀(jì)80年代,UNIX已在從微型機(jī)到巨型機(jī)等眾多不同機(jī)型上運(yùn)行。作為通用操作系統(tǒng),當(dāng)時(shí)UNIX的主要競(jìng)爭(zhēng)對(duì)手是各計(jì)算機(jī)廠商的專有系統(tǒng),如IBM的OS360/370系列等。⑷兩大陣營(yíng)對(duì)峙和標(biāo)準(zhǔn)化的出現(xiàn)20世紀(jì)80年代后期,UNIX已經(jīng)出現(xiàn)了很多變種,變種增多導(dǎo)致了程序的不兼容性和不可移植(同一應(yīng)用程序在不同UNIX變種上不能直接運(yùn)行)。因此,迫切需要對(duì)UNIX進(jìn)行標(biāo)準(zhǔn)化。這就導(dǎo)致了兩大陣營(yíng)的出現(xiàn)。1987年,在統(tǒng)一市場(chǎng)的浪潮中,AT&T宣布與SUN公司合作,將SystemV和SunOS統(tǒng)一為一個(gè)系統(tǒng)。其余廠商十分關(guān)注這項(xiàng)開發(fā),認(rèn)為他們的市場(chǎng)處于威脅之下,于是聯(lián)合開發(fā)新的開放系統(tǒng)。他們的新機(jī)構(gòu)OpenSoftwareFoundation(開放軟件基金會(huì),簡(jiǎn)稱OSF)于1988年成立。作為回應(yīng),AT&T和SUN公司聯(lián)盟亦于1988年形成了UNIXInternational(UNIX國(guó)際,簡(jiǎn)稱UI)。這場(chǎng)“UNIX戰(zhàn)爭(zhēng)”將系統(tǒng)廠商劃分成UI和OSF兩大陣營(yíng)。UI推出了SVR4,而OSF則推出了OSF/1。雖然兩者都是UNIX,但他們?cè)谙到y(tǒng)構(gòu)架、命令操作以及管理方式上都有所不同。兩者在市場(chǎng)上展開了激烈的競(jìng)爭(zhēng)。兩種UNIX系統(tǒng)并存,卻又不能相互兼容,這對(duì)用戶非常不利,因而直接影響了UNIX對(duì)用戶的吸引力。隨著Microsoft公司的迅速崛起,并以驚人的速度由傳統(tǒng)的PC機(jī)市場(chǎng)向工作站和網(wǎng)絡(luò)市場(chǎng)擴(kuò)張,迫使UI和OSF兩大陣營(yíng)不得不相互讓步、握手言和,從而共同制定了應(yīng)用程序接口A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【八年級(jí)下冊(cè)歷史】單元測(cè)試 第四、五、六單元綜合測(cè)試卷
- 2024消防培訓(xùn)的心得體會(huì)(32篇)
- 農(nóng)村自建房合同(2篇)
- 初級(jí)會(huì)計(jì)勞動(dòng)合同(2篇)
- 湖北省宜昌市外國(guó)語(yǔ)初級(jí)中學(xué)2025屆中考生物五模試卷含解析
- 建設(shè)緊固件電商孵化基地項(xiàng)目建議書立項(xiàng)備案審批
- 2025旺鋪?zhàn)饧s轉(zhuǎn)讓合同模板
- 2025關(guān)于公司的借款合同
- 2024年度天津市公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師題庫(kù)附答案(典型題)
- 2025土地承包合同案例
- 2024年回遷房買賣合同樣本(5篇)
- 《大數(shù)據(jù)技術(shù)原理與應(yīng)用(第3版)》期末復(fù)習(xí)題庫(kù)(含答案)
- 項(xiàng)目15-1 蛋黃中免疫球蛋白的提取
- MOOC 中國(guó)哲學(xué)經(jīng)典著作導(dǎo)讀-西安交通大學(xué) 中國(guó)大學(xué)慕課答案
- 醫(yī)院培訓(xùn)課件:《痞滿(少陽(yáng)太陰合?。┗颊咧嗅t(yī)個(gè)案護(hù)理》
- 泌尿外科抗菌藥物臨床應(yīng)用規(guī)范
- 廠區(qū)綠化養(yǎng)護(hù)方案及措施
- JJG 633-2024 氣體容積式流量計(jì)
- 2023年河北中煙工業(yè)有限責(zé)任公司筆試試題及答案
- 物質(zhì)與意識(shí)的辯證關(guān)系
- 小學(xué)英語(yǔ)考試教師總結(jié)反思8篇
評(píng)論
0/150
提交評(píng)論