《計(jì)算機(jī)操作系統(tǒng)原理-Linux實(shí)例分析》課件第1章_第1頁
《計(jì)算機(jī)操作系統(tǒng)原理-Linux實(shí)例分析》課件第1章_第2頁
《計(jì)算機(jī)操作系統(tǒng)原理-Linux實(shí)例分析》課件第1章_第3頁
《計(jì)算機(jī)操作系統(tǒng)原理-Linux實(shí)例分析》課件第1章_第4頁
《計(jì)算機(jī)操作系統(tǒng)原理-Linux實(shí)例分析》課件第1章_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章操作系統(tǒng)概述1.1操作系統(tǒng)概念1.2操作系統(tǒng)的功能1.3操作系統(tǒng)的發(fā)展1.4操作系統(tǒng)的類型1.5操作系統(tǒng)的特征1.6Linux概述習(xí)題一

1.1操作系統(tǒng)概念

計(jì)算機(jī)科學(xué)技術(shù)發(fā)展至今,其應(yīng)用領(lǐng)域不斷廣泛與深入,已成為現(xiàn)代信息社會(huì)的基礎(chǔ)。現(xiàn)代的計(jì)算機(jī)系統(tǒng),無論是大型計(jì)算機(jī)、小型計(jì)算機(jī)還是微型計(jì)算機(jī)都是由硬件和軟件兩大部分組成的。計(jì)算機(jī)硬件,即我們看得見摸得著的硬實(shí)體,它包括主機(jī)(一個(gè)或多個(gè)處理器(CPU)、內(nèi)存)、I/O設(shè)備(鍵盤、顯示器、磁盤、I/O接口)以及其他一些外圍設(shè)備(打印機(jī)、繪圖儀、光盤等)??傊?,計(jì)算機(jī)硬件部分是一個(gè)由多種電子和機(jī)械設(shè)備組成的復(fù)雜系統(tǒng),它們構(gòu)成了系統(tǒng)本身和用戶作業(yè)賴以活動(dòng)的物質(zhì)基礎(chǔ)和環(huán)境。在此基礎(chǔ)上為了方便用戶使用計(jì)算機(jī),還需要編制各種系統(tǒng)軟件來管理這些硬件設(shè)備,以實(shí)現(xiàn)與擴(kuò)充機(jī)器的功能。除此之外,還應(yīng)當(dāng)有大量用于解決用戶實(shí)際問題的應(yīng)用程序,正是這些程序組成了計(jì)算機(jī)的軟件系統(tǒng)。由以上所述可知,軟件可分為兩大類:系統(tǒng)軟件和應(yīng)用軟件。人們首先直接在硬件上加載一層程序,用它來管理整個(gè)計(jì)算機(jī)硬件設(shè)備以及一些軟件信息資源,同時(shí)還為用戶提供開發(fā)應(yīng)用程序的環(huán)境,這就是操作系統(tǒng)軟件和實(shí)用程序。應(yīng)用軟件是在操作系統(tǒng)支持下,為實(shí)現(xiàn)用戶要求而編制的各種應(yīng)用程序。圖1.1是計(jì)算機(jī)系統(tǒng)的一個(gè)層次結(jié)構(gòu)框圖。人們把沒有加載操作系統(tǒng)的主機(jī)叫做裸機(jī)(圖中陰影部分)。裸機(jī)就是組成主機(jī)的硬件。如果計(jì)算機(jī)的用戶直接在這種裸機(jī)的環(huán)境下工作,顯然是不方便的,那就意味著必須用機(jī)器語言編寫程序,必須由計(jì)算機(jī)的使用者編寫硬件的控制管理程序、設(shè)備的驅(qū)動(dòng)程序,這將嚴(yán)重影響工作效率,降低機(jī)器的利用率。為了快捷方便地使用計(jì)算機(jī),從第二代電子計(jì)算機(jī)開始,設(shè)計(jì)研究人員開始為裸機(jī)配置一種系統(tǒng)軟件,專門用于控制與管理計(jì)算機(jī)的所有硬件并提供方便快捷使用計(jì)算機(jī)的手段,這就是操作系統(tǒng)軟件。圖1.1計(jì)算機(jī)系統(tǒng)軟、硬件層次結(jié)構(gòu)圖從圖1.1中可以看到,操作系統(tǒng)對(duì)于用戶來說是搭建在硬件平臺(tái)(裸機(jī))上的第一層軟件,它是對(duì)計(jì)算機(jī)硬件功能的首次擴(kuò)展,負(fù)責(zé)把系統(tǒng)資源管理起來,以便充分發(fā)揮它們的作用,使應(yīng)用軟件(用戶)與機(jī)器硬件隔開,系統(tǒng)內(nèi)部的復(fù)雜性不顯露在用戶面前。用戶可以使用操作系統(tǒng)提供的各種手段,簡(jiǎn)單、方便地把自己的意圖告訴計(jì)算機(jī)系統(tǒng),以實(shí)現(xiàn)所需要完成的工作。正是由于操作系統(tǒng)的卓越工作,才能充分利用系統(tǒng)的資源,并使用戶方便地使用計(jì)算機(jī)。綜上所述,操作系統(tǒng)是一組控制與管理計(jì)算機(jī)系統(tǒng)資源的程序集合,它控制與協(xié)調(diào)并發(fā)活動(dòng),為用戶提供良好的接口。操作系統(tǒng)使整個(gè)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)了高效率和高度自動(dòng)化。

以上所說的系統(tǒng)資源是指計(jì)算機(jī)系統(tǒng)所具備的所有硬件設(shè)備和軟件設(shè)施,它包括中央處理機(jī)(CPU)、存儲(chǔ)器(內(nèi)存)、I/O設(shè)備以及文件。

操作系統(tǒng)是必不可少的系統(tǒng)軟件,只有配置了操作系統(tǒng),才能使計(jì)算機(jī)系統(tǒng)體現(xiàn)出完整性和可利用性,當(dāng)用戶要求計(jì)算機(jī)幫助完成其計(jì)算任務(wù)時(shí),程序才能有條不紊地運(yùn)行。 1.2操作系統(tǒng)的功能

操作系統(tǒng)是最基本的系統(tǒng)軟件,它在計(jì)算機(jī)系統(tǒng)中處于核心地位,其功能可以從不同的角度進(jìn)行說明。操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的作用,大致可以分為兩方面:對(duì)內(nèi),操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)的各種資源,擴(kuò)充硬件的功能;對(duì)外,操作系統(tǒng)提供良好的人機(jī)界面,方便用戶使用計(jì)算機(jī)。操作系統(tǒng)在整個(gè)計(jì)算機(jī)系統(tǒng)中承上啟下的地位通常體現(xiàn)在以下五個(gè)方面。在操作系統(tǒng)設(shè)計(jì)時(shí),通常也是基于這五個(gè)方面來劃分操作系統(tǒng)的程序模塊的。1.2.1處理機(jī)管理

計(jì)算機(jī)系統(tǒng)中最重要的硬件資源就是中央處理機(jī)(CPU)。任何程序的運(yùn)行,都是由CPU執(zhí)行其指令完成的。在單處理機(jī)多用戶系統(tǒng)中,處理機(jī)只有一個(gè),而內(nèi)存又同時(shí)存在多道用戶程序,它們都要競(jìng)爭(zhēng)得到處理機(jī)后才可能運(yùn)行,那么,對(duì)于唯一的一個(gè)CPU,又要滿足多個(gè)用戶同時(shí)使用的要求,這就涉及到操作系統(tǒng)對(duì)處理機(jī)時(shí)間分配的問題。也就是需要解決CPU分配給哪個(gè)用戶程序使用,它占用多長(zhǎng)時(shí)間,下一個(gè)又該輪到哪個(gè)程序運(yùn)行等問題。為了能夠清楚地描述多個(gè)程序的同時(shí)運(yùn)行,操作系統(tǒng)中引進(jìn)了進(jìn)程的概念。操作系統(tǒng)通過對(duì)進(jìn)程的管理來協(xié)調(diào)多道程序之間的關(guān)系,以達(dá)到充分利用處理機(jī)資源的目的。所以,處理機(jī)的管理便體現(xiàn)為進(jìn)程管理。進(jìn)程管理的主要功能包括:

(1)進(jìn)程控制。當(dāng)用戶作業(yè)要運(yùn)行時(shí),應(yīng)為之建立一個(gè)或多個(gè)進(jìn)程,并為它分配除處理機(jī)以外的所有資源,將它放入進(jìn)程就緒隊(duì)列。當(dāng)進(jìn)程運(yùn)行完成時(shí),立即撤消該進(jìn)程,以便及時(shí)釋放其所占有的資源。進(jìn)程控制的基本功能就是創(chuàng)建和撤消進(jìn)程以及控制進(jìn)程的狀態(tài)轉(zhuǎn)換。

(2)進(jìn)程同步。所謂進(jìn)程同步,是指系統(tǒng)對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行協(xié)調(diào)。最基本的進(jìn)程同步方式是使諸進(jìn)程以互斥方式訪問臨界資源。此外,對(duì)于彼此相互合作、去完成共同任務(wù)的進(jìn)程,應(yīng)由系統(tǒng)對(duì)它們的運(yùn)行速度加以協(xié)調(diào)。

(3)進(jìn)程調(diào)度。當(dāng)一個(gè)正在執(zhí)行的進(jìn)程已經(jīng)完成或因某事件而無法繼續(xù)執(zhí)行時(shí),系統(tǒng)應(yīng)進(jìn)行進(jìn)程調(diào)度,重新分配處理機(jī)。進(jìn)程調(diào)度是指按一定算法,如最高優(yōu)先算法,從進(jìn)程就緒隊(duì)列中選出一個(gè)進(jìn)程,把處理機(jī)分配給它,為該進(jìn)程設(shè)置運(yùn)行現(xiàn)場(chǎng),并使之投入運(yùn)行。

(4)進(jìn)程通信。對(duì)于相互合作的進(jìn)程,在它們運(yùn)行時(shí),相互之間往往要交換一定的信息,這種進(jìn)程間所進(jìn)行的信息交換稱為進(jìn)程通信。1.2.2存儲(chǔ)管理

任何一個(gè)程序運(yùn)行的必要條件是它必須首先進(jìn)駐內(nèi)存。所以,在計(jì)算機(jī)系統(tǒng)中,內(nèi)存是僅次于CPU的重要資源。由于受處理機(jī)尋址能力的限制,內(nèi)存資源也相當(dāng)緊張。在多道程序系統(tǒng)中內(nèi)存的存儲(chǔ)調(diào)度往往和處理機(jī)的調(diào)度結(jié)合起來,即只有當(dāng)程序在內(nèi)存時(shí),它才有可能到處理機(jī)上運(yùn)行,或者僅當(dāng)它可以到處理機(jī)上運(yùn)行時(shí)(已獲得其他資源),才能把它調(diào)入內(nèi)存,這種調(diào)度能實(shí)現(xiàn)對(duì)內(nèi)存最有效的利用。操作系統(tǒng)的存儲(chǔ)管理程序就是管理有限的內(nèi)存空間,其通常包括以下功能:

(1)存儲(chǔ)分配。存儲(chǔ)分配即為系統(tǒng)中需要運(yùn)行的多個(gè)用戶程序以及程序運(yùn)行所需的數(shù)據(jù)分配內(nèi)存空間。

(2)地址轉(zhuǎn)換。地址轉(zhuǎn)換即將用戶程序中的程序地址轉(zhuǎn)換為物理地址。

(3)存儲(chǔ)保護(hù)。整個(gè)內(nèi)存空間被劃分為系統(tǒng)區(qū)與用戶區(qū)兩部分,其中用戶區(qū)存放著正在運(yùn)行著的多個(gè)用戶的程序和數(shù)據(jù),系統(tǒng)區(qū)是操作系統(tǒng)本身的程序和數(shù)據(jù)的駐留區(qū),它們使用不同的存儲(chǔ)區(qū)域。由于操作系統(tǒng)和多個(gè)用戶程序同時(shí)在系統(tǒng)中運(yùn)行,因此在同一個(gè)內(nèi)存儲(chǔ)器中存放的系統(tǒng)及用戶的程序和數(shù)據(jù)的安全就顯得十分重要。如果用戶程序可以自由地訪問內(nèi)存的任何區(qū)域,必將危及系統(tǒng)和其他用戶程序和數(shù)據(jù)的安全。存儲(chǔ)保護(hù)就是保證內(nèi)存中的系統(tǒng)存儲(chǔ)區(qū)域不被用戶程序非法訪問,某個(gè)用戶的存儲(chǔ)區(qū)域也不能被其他用戶程序訪問,即每個(gè)用戶程序只在自己的存儲(chǔ)區(qū)域內(nèi)活動(dòng),互不干擾。

(4)存儲(chǔ)擴(kuò)充。內(nèi)存資源是有限的,是計(jì)算機(jī)中較為缺乏的資源之一,尤其是在多道程序運(yùn)行的環(huán)境中,內(nèi)存資源變得更加緊張,這就需要擴(kuò)充內(nèi)存的容量。這里說的擴(kuò)充不是從硬件上增加內(nèi)存芯片的數(shù)量來擴(kuò)充內(nèi)存容量,而是操作系統(tǒng)通過軟件的方法為用戶程序提供一個(gè)比實(shí)際內(nèi)存空間大得多的存儲(chǔ)空間,這就是“虛擬存儲(chǔ)器”技術(shù)。1.2.3設(shè)備管理

設(shè)備管理是操作系統(tǒng)中最龐雜、最瑣碎的部分,其原因是:

●這部分要涉及很多實(shí)際的物理設(shè)備,它們品種繁多、用法各異。

●各種外部設(shè)備都能和主機(jī)并行工作,而且有的設(shè)備可被多個(gè)程序所共享。

●主機(jī)與外部設(shè)備,以及各類外部設(shè)備之間的速度極不匹配,級(jí)差很大?;谶@些原因,設(shè)備管理主要解決以下問題:

(1)設(shè)備分配。每個(gè)用戶程序在其運(yùn)行期間隨時(shí)可能需要使用外部設(shè)備,使用之前就向操作系統(tǒng)提出設(shè)備請(qǐng)求。一般情況下,外設(shè)的種類與臺(tái)數(shù)是有限的(每一類設(shè)備的臺(tái)數(shù)往往少于用戶的個(gè)數(shù)),這些設(shè)備如何正確分配是很重要的。設(shè)備管理程序根據(jù)設(shè)備的狀況,把設(shè)備分配給該任務(wù)使用。此外,當(dāng)有多個(gè)任務(wù)競(jìng)爭(zhēng)使用某些設(shè)備時(shí),設(shè)備管理要按照一定的分配策略合理地分配設(shè)備。

(2)設(shè)備的傳輸控制。設(shè)備的傳輸控制實(shí)現(xiàn)物理的輸入/輸出操作,即組織使用設(shè)備的有關(guān)信息、啟動(dòng)設(shè)備、中斷處理、結(jié)束處理等。這些工作是由設(shè)備管理提供的設(shè)備驅(qū)動(dòng)程序完成的。通過設(shè)備驅(qū)動(dòng)程序控制和管理設(shè)備,使用戶不必了解設(shè)備的物理特性和技術(shù)細(xì)節(jié),就可以方便地使用和操作這些設(shè)備。

(3)為用戶使用設(shè)備提供統(tǒng)一的操作接口。計(jì)算機(jī)系統(tǒng)配備的設(shè)備種類繁多,它們的操作特性完全不同。不同計(jì)算機(jī)系統(tǒng),配備的設(shè)備種類和數(shù)量也可能完全不同。為此,設(shè)備管理對(duì)各種設(shè)備操作提供了統(tǒng)一的操作接口。用戶向系統(tǒng)申請(qǐng)和使用設(shè)備時(shí)與實(shí)際操作的設(shè)備無關(guān),即在用戶程序中或在資源申請(qǐng)命令中使用設(shè)備的邏輯名,只需給出設(shè)備的類型,指出操作方式(讀或?qū)?,通過統(tǒng)一接口就可以簡(jiǎn)單地使用設(shè)備。這樣不僅為用戶使用設(shè)備提供了方便,而且也提高了設(shè)備的利用率。

(4)緩沖管理。幾乎所有的外圍設(shè)備與處理機(jī)交換信息時(shí),都要利用緩沖來緩和CPU和I/O設(shè)備間速度不匹配的矛盾,提高CPU與設(shè)備、設(shè)備與設(shè)備間操作的并行程度,以提高CPU和I/O設(shè)備的利用率。

(5)虛擬設(shè)備。通常,把一次僅允許一個(gè)進(jìn)程使用的設(shè)備稱為獨(dú)占設(shè)備。系統(tǒng)可通過某種技術(shù)使該設(shè)備成為能被多個(gè)用戶共享的設(shè)備,以提高設(shè)備利用率及加速程序的執(zhí)行過程,使每個(gè)用戶都感覺到自己在獨(dú)占該設(shè)備。1.2.4文件管理

文件是計(jì)算機(jī)系統(tǒng)的軟件資源,是各種程序和數(shù)據(jù)的集合,它們以文件形式可長(zhǎng)期保存在計(jì)算機(jī)的輔助存儲(chǔ)器上。文件管理就是對(duì)這些軟件資源的管理。其主要功能如下:

(1)文件的組織。為了有效地對(duì)文件進(jìn)行管理,操作系統(tǒng)必須提供文件駐留在存儲(chǔ)介質(zhì)上的組織方式,稱為文件的物理組織。此外,為了便于系統(tǒng)和用戶使用文件,操作系統(tǒng)還必須提供面向文件存取的組織方式,稱為文件的邏輯組織。按照文件的組織方式,系統(tǒng)可以有效地分配和回收文件的存儲(chǔ)空間,在存取文件時(shí)準(zhǔn)確地確定文件的存放位置。

(2)提供文件操作的統(tǒng)一接口。為了便于用戶對(duì)文件的操作,操作系統(tǒng)提供了統(tǒng)一的接口。當(dāng)用戶使用文件時(shí),不必知道文件在存儲(chǔ)介質(zhì)上的具體位置,也不需了解存儲(chǔ)設(shè)備的物理特性和操作細(xì)節(jié),只需給出文件的名字就可以對(duì)文件進(jìn)行讀取、寫入、檢索、修改等操作。

(3)文件的保護(hù)和共享。在外存上同時(shí)存放著操作系統(tǒng)和多個(gè)用戶的文件,為了系統(tǒng)和用戶的信息安全和保密,操作系統(tǒng)必須對(duì)文件采取嚴(yán)格的保護(hù)措施,杜絕對(duì)文件的非法訪問,以免造成文件的破壞。與此同時(shí),為了充分利用系統(tǒng)的信息資源,必須允許多個(gè)用戶可以同時(shí)訪問某些文件,如用戶可以使用系統(tǒng)提供的共享程序庫,多個(gè)協(xié)同工作的用戶可以共享某些程序和數(shù)據(jù),操作系統(tǒng)在提供文件保護(hù)的同時(shí)還要實(shí)現(xiàn)在一定條件下的文件共享。1.2.5作業(yè)管理

作業(yè)是指用戶在一次算題過程中或一次事務(wù)處理過程中,要求計(jì)算機(jī)系統(tǒng)所做工作的集合。作業(yè)管理實(shí)現(xiàn)作業(yè)調(diào)度和控制作業(yè)的執(zhí)行。操作系統(tǒng)必須合理安排和組織作業(yè)的運(yùn)行,并為用戶運(yùn)行作業(yè)提供最大的便利。作業(yè)管理是根據(jù)系統(tǒng)條件和用戶需要,對(duì)作業(yè)的運(yùn)行進(jìn)行合理的組織、調(diào)度及相應(yīng)的控制,其主要功能如下:

(1)作業(yè)的組織與管理。作業(yè)管理的一個(gè)主要功能是對(duì)系統(tǒng)中所有的用戶作業(yè)進(jìn)行統(tǒng)一的組織和管理,以提高整個(gè)系統(tǒng)的運(yùn)行效率。當(dāng)有大量用戶作業(yè)要求計(jì)算機(jī)運(yùn)行時(shí),作業(yè)管理需要按照用戶的要求和作業(yè)的性質(zhì)調(diào)度其中某些作業(yè)進(jìn)入計(jì)算機(jī)系統(tǒng)內(nèi)運(yùn)行。

(2)作業(yè)調(diào)度。作業(yè)調(diào)度是指根據(jù)系統(tǒng)的能力和當(dāng)前作業(yè)的運(yùn)行情況,按一定策略,從后備作業(yè)隊(duì)列中選出一批作業(yè),為它們分配所需的I/O設(shè)備和存儲(chǔ)空間,將它們調(diào)入內(nèi)存并為之建立相應(yīng)的進(jìn)程,使之成為具有獲得處理機(jī)資格的候選進(jìn)程。

(3)作業(yè)控制。作業(yè)控制是指作業(yè)從進(jìn)入系統(tǒng)開始,直到運(yùn)行完成的整個(gè)過程中,用戶可通過某種形式向系統(tǒng)發(fā)出各種命令,以對(duì)自己的作業(yè)進(jìn)行控制和管理。

為了使用戶能夠方便地使用計(jì)算機(jī)運(yùn)行作業(yè),操作系統(tǒng)提供了兩種接口:一種是作業(yè)級(jí)的用戶接口,它向用戶提供作業(yè)控制語言和操作命令,用戶利用作業(yè)級(jí)接口來組織作業(yè)的工作流程和控制作業(yè)的運(yùn)行;另一種是程序級(jí)接口,它是系統(tǒng)提供的一組系統(tǒng)調(diào)用,又稱系統(tǒng)調(diào)用指令。當(dāng)用戶在程序中需要使用系統(tǒng)資源時(shí),如存取文件、使用設(shè)備、占用內(nèi)存空間等,可以使用系統(tǒng)調(diào)用指令向操作系統(tǒng)提出申請(qǐng),由操作系統(tǒng)完成用戶的請(qǐng)求。

1.3操作系統(tǒng)的發(fā)展

操作系統(tǒng)(OperationSystem,OS)是隨著計(jì)算機(jī)技術(shù)本身及其計(jì)算機(jī)應(yīng)用的日益發(fā)展而逐漸發(fā)展和不斷完善的。它的功能由弱到強(qiáng),現(xiàn)已成為計(jì)算機(jī)系統(tǒng)的核心。

操作系統(tǒng)的發(fā)展大致經(jīng)歷了手工操作、早期批處理、多道程序系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、通用操作系統(tǒng)等階段。進(jìn)入20世紀(jì)80年代,硬件技術(shù)的飛速發(fā)展以及微處理機(jī)的出現(xiàn)和發(fā)展,使操作系統(tǒng)有了進(jìn)一步的發(fā)展,如單用戶操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)及智能化操作系統(tǒng)。

1946年誕生第一臺(tái)電子計(jì)算機(jī)以來,計(jì)算機(jī)的每一代進(jìn)化都以減少成本、縮小體積、降低功耗、增大容量和提高性能為目標(biāo)。隨著計(jì)算機(jī)硬件的發(fā)展,同時(shí)也加速了操作系統(tǒng)的形成和發(fā)展。1.3.1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)

從第一臺(tái)計(jì)算機(jī)誕生到20世紀(jì)50年代中期的計(jì)算機(jī),屬于第一代計(jì)算機(jī),其中央處理機(jī)的基本元器件是電子真空管,存儲(chǔ)器用繼電器和磁芯充當(dāng),這時(shí)還沒有操作系統(tǒng)的概念。計(jì)算機(jī)采用人工操作方式,程序員全部采用機(jī)器語言編程,計(jì)算機(jī)還遠(yuǎn)遠(yuǎn)不是真正意義上的自動(dòng)運(yùn)算,計(jì)算機(jī)的使用也非常不方便,這主要體現(xiàn)在以下三個(gè)方面:

(1)程序員必須懂機(jī)器語言,因?yàn)槌绦騿T必須直接面對(duì)計(jì)算機(jī)硬件,所以要求他們必須具備較強(qiáng)的專業(yè)基礎(chǔ)知識(shí)和熟練的基本技能。

(2)程序準(zhǔn)備繁瑣,常常為了幾分鐘的數(shù)字計(jì)算,準(zhǔn)備工作就要用去幾小時(shí)甚至更長(zhǎng)的時(shí)間,使用很不方便。

(3)使用計(jì)算機(jī)必須提前預(yù)約,要運(yùn)行某個(gè)程序必須提前跟機(jī)房預(yù)約機(jī)器時(shí)間。批準(zhǔn)后要準(zhǔn)時(shí)到機(jī)房執(zhí)行計(jì)算,在分配運(yùn)行的這段時(shí)間內(nèi)程序和機(jī)器都不能出現(xiàn)問題,如果出現(xiàn)問題,就會(huì)被迫強(qiáng)行停止,下機(jī)修改程序,準(zhǔn)備下次重復(fù)這一過程。人工操作方式具有以下特點(diǎn):

(1)獨(dú)占性。用戶獨(dú)占全機(jī),CPU等待人工操作。

(2)串行性。一個(gè)用戶使用完后,下一個(gè)用戶接著使用。

人工操作方式的缺點(diǎn)是,計(jì)算機(jī)的有效機(jī)時(shí)嚴(yán)重浪費(fèi),效率低。1.3.2早期簡(jiǎn)單批處理操作系統(tǒng)

第二代計(jì)算機(jī)從1955年到1965年,持續(xù)了十年時(shí)間。這一階段在硬件上使用分離的晶體管代替易損壞的真空管,使用磁芯存儲(chǔ)器代替繼電器存儲(chǔ)器,從而增強(qiáng)了設(shè)備的可靠性,降低了硬件的故障發(fā)生率;在軟件上為了避免程序制作時(shí)直接面對(duì)機(jī)器語言,已經(jīng)開發(fā)了FORTRAN高級(jí)語言和匯編語言以及FORTRAN編譯器和匯編程序,從而出現(xiàn)了真正意義上的程序員。雖然有了上述改進(jìn),但高級(jí)編程語言(例如FORTRAN和匯編語言)出現(xiàn)之后又有了新問題:處理機(jī)執(zhí)行一個(gè)作業(yè)的時(shí)間是離散的。由于用戶程序是高級(jí)語言編寫的,在執(zhí)行之前先要把它翻譯成機(jī)器語言,因此一個(gè)作業(yè)除了包括加載高級(jí)語言程序之外,還要加載編譯器,保存編譯后的目標(biāo)程序,并且要將目標(biāo)程序和公用函數(shù)鏈接在一起。其中的每一步操作都需要操作員參與完成,這樣使用計(jì)算機(jī)一是不方便,二是在程序運(yùn)行期間由于操作員的參與浪費(fèi)了許多寶貴的處理機(jī)時(shí)間。

20世紀(jì)50年代中期,由GeneralMotors開發(fā)了第一個(gè)簡(jiǎn)單批處理操作系統(tǒng),它也是人類歷史上的第一個(gè)操作系統(tǒng),運(yùn)行在IBM701機(jī)上。從那時(shí)開始,許多廠商不斷對(duì)簡(jiǎn)單批處理操作系統(tǒng)進(jìn)行改進(jìn)和完善,開發(fā)出了適合自家產(chǎn)品的簡(jiǎn)單批處理操作系統(tǒng)。簡(jiǎn)單批處理操作系統(tǒng)的設(shè)計(jì)思路是,計(jì)算機(jī)上電后先運(yùn)行一個(gè)常駐內(nèi)存的所謂的監(jiān)控程序,由計(jì)算機(jī)的操作人員把用戶提交的若干作業(yè)組織成一組,稱為一批作業(yè),將它們拷貝在磁帶或穿孔卡片上,然后安裝在計(jì)算機(jī)的輸入設(shè)備上,由監(jiān)控程序按順序讀入每個(gè)作業(yè)并執(zhí)行,每個(gè)作業(yè)執(zhí)行結(jié)束后將結(jié)果輸出到磁帶上,再返回到監(jiān)控程序讀入下一個(gè)作業(yè)。待所有作業(yè)完全結(jié)束后,操作員再把輸出磁帶拿去打印。由于這個(gè)監(jiān)控程序一次處理一批作業(yè),所以稱它為批處理操作系統(tǒng),后來為了與多道程序批處理系統(tǒng)相區(qū)分,又稱它為簡(jiǎn)單批處理操作系統(tǒng)或單道批處理操作系統(tǒng)。1.3.3多道批處理操作系統(tǒng)

第三代計(jì)算機(jī)從1965年開始到1980年為止,持續(xù)了十五年。這一時(shí)期的產(chǎn)品有IBM生產(chǎn)的System/360-370系列和CDC6600-7600系列等。其硬件特征是采用了小規(guī)模集成電路、微程序控制、流水線和高速緩存,與第二代計(jì)算機(jī)相比,其性價(jià)比有了很大提高。第三代計(jì)算機(jī)不僅能執(zhí)行大型科學(xué)計(jì)算,而且能夠進(jìn)行商務(wù)數(shù)據(jù)處理。而這兩種應(yīng)用有著很大的差別,主要表現(xiàn)在處理機(jī)執(zhí)行科學(xué)計(jì)算時(shí),I/O操作較少,而進(jìn)行商務(wù)數(shù)據(jù)處理時(shí),I/O操作卻較為頻繁。因此為了在一臺(tái)機(jī)器上滿足各種用戶的不同需求,同時(shí)又不降低CPU的利用率。特別是隨著處理機(jī)速度的提高,處理機(jī)的高速度與輸入/輸出設(shè)備的低速度不匹配的矛盾就越來越突出。為了解決這一矛盾,于是產(chǎn)生了多道程序設(shè)計(jì)技術(shù),出現(xiàn)了多道程序系統(tǒng)。多道程序設(shè)計(jì)技術(shù)是指在計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序,使它們?cè)诠芾沓绦虻目刂浦?,相互穿插運(yùn)行,并使計(jì)算機(jī)資源在多道程序切換中得到共享,同時(shí)能夠最大限度地提高CPU的利用率。多道程序運(yùn)行的特征如下:

(1)多道:計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序。

(2)宏觀上并行:同時(shí)進(jìn)入系統(tǒng)的幾道程序都處于運(yùn)行過程中,即它們先后開始了各自的運(yùn)行,但都未運(yùn)行完畢。

(3)微觀上串行:從微觀上看,內(nèi)存中的多道程序輪流地或分時(shí)地占有處理機(jī),交替執(zhí)行。它的優(yōu)點(diǎn)是系統(tǒng)的吞吐量大,其缺點(diǎn)是對(duì)用戶的響應(yīng)時(shí)間較長(zhǎng)。在多道程序系統(tǒng)中,多個(gè)程序共享系統(tǒng)資源,使得系統(tǒng)管理更加復(fù)雜,從而對(duì)軟硬件提出了更多新課題,也促進(jìn)了它們的進(jìn)一步發(fā)展。

隨著應(yīng)用的普及和各行各業(yè)不斷提出的新的要求,操作系統(tǒng)的種類也越來越多,其功能也更加強(qiáng)大。

1.4操作系統(tǒng)的類型

當(dāng)前計(jì)算機(jī)已廣泛地、深入地應(yīng)用于人類生活的各個(gè)領(lǐng)域。在不同的領(lǐng)域中由于使用計(jì)算機(jī)的規(guī)模和計(jì)算機(jī)完成任務(wù)的性質(zhì)及要求不盡相同,因此人們開發(fā)出了適應(yīng)不同需要的操作系統(tǒng)。

操作系統(tǒng)可按照不同方式進(jìn)行分類。例如,按用戶數(shù)目的多少,可分為單用戶和多用戶系統(tǒng);根據(jù)操作系統(tǒng)所依賴的硬件規(guī)模,可分為大型機(jī)、中型機(jī)、小型機(jī)和微型機(jī)操作系統(tǒng);根據(jù)操作系統(tǒng)提供給用戶的工作環(huán)境,可分為單用戶操作系統(tǒng)、多道批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)等。不同的操作系統(tǒng),運(yùn)行環(huán)境不同,設(shè)計(jì)目標(biāo)也不同。例如,大型計(jì)算機(jī)系統(tǒng)資源豐富、性能強(qiáng)大、價(jià)格昂貴,其設(shè)計(jì)目標(biāo)是要求充分發(fā)揮系統(tǒng)資源利用率,提高機(jī)器的作業(yè)吞吐量。與此相比,微型機(jī)系統(tǒng)資源簡(jiǎn)單,價(jià)格相對(duì)便宜,所以對(duì)資源的利用率就不是操作系統(tǒng)設(shè)計(jì)的主要目標(biāo),而以操作便利、簡(jiǎn)單實(shí)用、適應(yīng)性強(qiáng)作為設(shè)計(jì)目標(biāo)。小型機(jī)處于大型機(jī)與微型機(jī)之間,其操作系統(tǒng)的設(shè)計(jì)目標(biāo)也處于兩者之間,既要求有較高的系統(tǒng)資源利用率,又要求操作方便、具有較高的通用性。隨著計(jì)算機(jī)技術(shù)和軟件技術(shù)長(zhǎng)期發(fā)展,已形成了各種類型的操作系統(tǒng),以滿足不同的應(yīng)用要求。按其使用環(huán)境和對(duì)作業(yè)的處理方式來分,操作系統(tǒng)的基本類型有:

(1)單用戶操作系統(tǒng)。

(2)批處理操作系統(tǒng)。

(3)分時(shí)操作系統(tǒng)。

(4)實(shí)時(shí)操作系統(tǒng)。

(5)通用操作系統(tǒng)。

(6)網(wǎng)絡(luò)操作系統(tǒng)。

(7)分布式操作系統(tǒng)。1.4.1單用戶操作系統(tǒng)

單用戶操作系統(tǒng)一次只能支持一個(gè)用戶程序的運(yùn)行。單用戶操作系統(tǒng)向用戶提供聯(lián)機(jī)交互式的工作環(huán)境,比如MS-DOS就是一個(gè)典型的單用戶操作系統(tǒng)。

單用戶操作系統(tǒng)的特點(diǎn)是:?jiǎn)斡脩簦灰蟾呃寐?,具有良好的交互性?.4.2批處理操作系統(tǒng)

批處理操作系統(tǒng)簡(jiǎn)稱批處理系統(tǒng)。顧名思義,批處理系統(tǒng)就是對(duì)多個(gè)用戶的作業(yè)進(jìn)行成批處理的操作系統(tǒng)。批處理系統(tǒng)的設(shè)計(jì)目標(biāo)是提高系統(tǒng)資源的使用率和作業(yè)吞吐量(單位時(shí)間內(nèi)完成運(yùn)行作業(yè)的個(gè)數(shù))。例如,OS/360?MTV就是一個(gè)典型的多道批處理操作系統(tǒng)。批處理系統(tǒng)可以分為單道批處理系統(tǒng)和多道批處理系統(tǒng)。多道批處理系統(tǒng)是多道程序設(shè)計(jì)技術(shù)與批處理系統(tǒng)的結(jié)合,基本思想是每次把一批經(jīng)過合理搭配的作業(yè)通過輸入設(shè)備提交給操作系統(tǒng),并暫時(shí)存入外存,等待運(yùn)行。當(dāng)系統(tǒng)需要調(diào)入新的作業(yè)時(shí),根據(jù)當(dāng)時(shí)的運(yùn)行情況和用戶要求,按某種調(diào)度原則,從外存中挑選一個(gè)或幾個(gè)作業(yè)裝入內(nèi)存運(yùn)行。用戶用控制命令描述對(duì)作業(yè)每一步運(yùn)行的具體安排,并將這些控制連同程序和數(shù)據(jù)一起作為一個(gè)作業(yè)交給操作系統(tǒng),因此,在系統(tǒng)運(yùn)行過程中不允許用戶與其作業(yè)交互作用,即用戶不能直接干預(yù)自己作業(yè)的運(yùn)行,直到作業(yè)運(yùn)行完畢。批處理操作系統(tǒng)是一種早期的大型機(jī)用操作系統(tǒng)。不過,現(xiàn)代操作系統(tǒng)大都具有批處理功能。

1.單道批處理系統(tǒng)

單道批處理系統(tǒng)是指在內(nèi)存中除操作系統(tǒng)外,只存放一道用戶的作業(yè),并且所有的系統(tǒng)資源僅為這一道作業(yè)服務(wù)。這是一種早期出現(xiàn)的批處理系統(tǒng)。

在單道批處理操作系統(tǒng)中,對(duì)于多個(gè)用戶的作業(yè),有衛(wèi)星機(jī)將這些作業(yè)輸入磁帶中,然后逐級(jí)再從該磁帶中將作業(yè)一個(gè)一個(gè)地讀入內(nèi)存進(jìn)行處理。作業(yè)運(yùn)行完畢后,將結(jié)果也都輸出到另一磁帶中,當(dāng)這批作業(yè)全部運(yùn)行完畢后再由衛(wèi)星機(jī)把磁帶上的結(jié)果通過響應(yīng)的輸出設(shè)備輸出,處理完一批作業(yè)后再處理下一批作業(yè)。

2.多道批處理系統(tǒng)

在單道批處理操作系統(tǒng)中,雖然解決了人工干預(yù)對(duì)機(jī)器運(yùn)行效率的影響,但整個(gè)系統(tǒng)的運(yùn)行效率還是很低。這是因?yàn)楫?dāng)作業(yè)在運(yùn)行過程中需要使用設(shè)備進(jìn)行輸入/輸出操作時(shí),處理機(jī)需要等待輸入/輸出操作的完成。這就是說,在設(shè)備進(jìn)行輸入/輸出操作期間,處理機(jī)處于閑置狀態(tài)。所以單道批處理系統(tǒng)雖然通過減少人工干預(yù)改善了計(jì)算機(jī)的效率,但是由于處理機(jī)與設(shè)備的串行工作方式仍浪費(fèi)了大量的處理機(jī)時(shí)間。在多道批處理系統(tǒng)中同時(shí)有多道作業(yè)在運(yùn)行,作業(yè)可隨時(shí)(不必集中成批)被接收進(jìn)入系統(tǒng),并存放于磁盤輸入井中形成作業(yè)隊(duì)列。然后,操作系統(tǒng)按一定的原則從作業(yè)隊(duì)列中調(diào)入一個(gè)或多個(gè)作業(yè)進(jìn)入內(nèi)存運(yùn)行。由于引進(jìn)了處理機(jī)與設(shè)備并行工作方式,使得處理機(jī)可以同時(shí)運(yùn)行多道作業(yè),這些作業(yè)輪流交替占用處理機(jī)運(yùn)行。在多道批處理系統(tǒng)中,不僅處理機(jī),其他所有的系統(tǒng)資源均由多個(gè)作業(yè)共享,并且作業(yè)的批處理方式是通過一定的調(diào)度策略使作業(yè)之間自動(dòng)過渡,從而大大提高了處理機(jī)和系統(tǒng)資源的利用率。批處理系統(tǒng)的主要特征是:

(1)成批處理。操作員把用戶提交的作業(yè)分批進(jìn)行處理,每批中的作業(yè)將由操作系統(tǒng)或監(jiān)督程序負(fù)責(zé)作業(yè)間自動(dòng)調(diào)度執(zhí)行。

(2)多道程序運(yùn)行。按多道程序設(shè)計(jì)的調(diào)度原則,從一批后備作業(yè)中選取多道作業(yè)調(diào)入內(nèi)存并組織它們運(yùn)行,稱為多道批處理。

(3)脫機(jī)工作方式。用戶提交作業(yè)之后直到獲得結(jié)果之前就不再和計(jì)算機(jī)打交道。作業(yè)提交的方式可以是直接交給計(jì)算中心的管理操作員,也可以是通過遠(yuǎn)程通信線路提交,提交的作業(yè)由系統(tǒng)外存收容成為后備作業(yè)。多道批處理系統(tǒng)的優(yōu)點(diǎn)是由于系統(tǒng)資源為多個(gè)作業(yè)所共享,用戶以脫機(jī)方式工作,系統(tǒng)自動(dòng)調(diào)度作業(yè)執(zhí)行,在運(yùn)行過程中用戶不干預(yù)自己的作業(yè),從而大大提高了系統(tǒng)資源的利用率和作業(yè)吞吐量。其缺點(diǎn)是無交互性,用戶一旦提交作業(yè)就失去了對(duì)其運(yùn)行的控制能力,又是批處理的,作業(yè)周轉(zhuǎn)時(shí)間長(zhǎng),用戶使用不方便。在多道成批系統(tǒng)中,從微觀上看,一個(gè)時(shí)刻只有一個(gè)程序在處理機(jī)上運(yùn)行;從宏觀上看,幾道程序都處于執(zhí)行狀態(tài),它們的工作都在向前推進(jìn)。我們把多道程序在單處理機(jī)上的邏輯上的同時(shí)執(zhí)行稱為并發(fā)執(zhí)行,它和多道程序同時(shí)在多個(gè)處理機(jī)上的執(zhí)行是有區(qū)別的。前者是邏輯上的并行,后者是物理上的并行。因此,不要把多道程序系統(tǒng)(multiprogramming)和多重處理系統(tǒng)(multi-processing)相混淆。一般來講,多重處理系統(tǒng)配制多個(gè)CPU,因而能真正同時(shí)執(zhí)行多道程序。當(dāng)然,要想有效地使用多重處理系統(tǒng),必須采用多道程序設(shè)計(jì)技術(shù)。反之不然,多道程序設(shè)計(jì)原則不一定要求有多重處理系統(tǒng)的支持。多重處理系統(tǒng)比起單處理系統(tǒng)來說,雖增加了硬件設(shè)施,卻換來了提高系統(tǒng)吞吐量、可靠性、計(jì)算能力和并行處理能力等好處。1.4.3分時(shí)操作系統(tǒng)

分時(shí)操作系統(tǒng)是在多道批處理系統(tǒng)的基礎(chǔ)上發(fā)展起來的。在多道批處理系統(tǒng)中,作業(yè)以成批的方式自動(dòng)運(yùn)行,所以它適合運(yùn)行那些經(jīng)過調(diào)試的固定程序。若在批處理系統(tǒng)上運(yùn)行尚未成熟的程序或者需要調(diào)試的程序,則十分不便。因?yàn)樵谂幚硐到y(tǒng)中用戶把作業(yè)提交給計(jì)算機(jī)以后,就失去了對(duì)作業(yè)的控制。作業(yè)運(yùn)行過程中,系統(tǒng)一旦發(fā)現(xiàn)作業(yè)中的錯(cuò)誤或出現(xiàn)意外情況,就立即停止作業(yè)的運(yùn)行,直到用戶修正程序中的錯(cuò)誤后才能重新上機(jī)運(yùn)行。對(duì)一個(gè)新開發(fā)的程序而言,難免會(huì)有這樣那樣的錯(cuò)誤和不妥之處,它們需要經(jīng)過多次的調(diào)試和修改。每次修改后都要再次裝入計(jì)算機(jī)上運(yùn)行,這顯然不方便。為了克服批處理系統(tǒng)的這種缺點(diǎn),出現(xiàn)了分時(shí)操作系統(tǒng)。

分時(shí)操作系統(tǒng)是指一臺(tái)計(jì)算機(jī)主機(jī)連接著多個(gè)終端機(jī),可以被多個(gè)用戶同時(shí)使用,每個(gè)用戶通過自己使用的終端采用人機(jī)對(duì)話的方式控制自己的程序運(yùn)行,而系統(tǒng)則將CPU分成時(shí)間片為每個(gè)終端用戶服務(wù)。分時(shí)操作系統(tǒng)如圖1.2所示。在分時(shí)系統(tǒng)中也是同時(shí)存在多個(gè)用戶程序,它們輪流占用處理機(jī)運(yùn)行。所謂分時(shí),就是把處理機(jī)的時(shí)間分成若干個(gè)小的時(shí)間片,把每個(gè)時(shí)間片輪流分配給各個(gè)程序。時(shí)間片的長(zhǎng)短由系統(tǒng)確定,一般是幾十毫秒至幾百毫秒。分時(shí)是通過操作系統(tǒng)軟件來實(shí)現(xiàn)的,當(dāng)一個(gè)程序占用處理機(jī)運(yùn)行一個(gè)時(shí)間片后,操作系統(tǒng)就中斷它的運(yùn)行,把被中斷的用戶程序做必要的保護(hù)之后,立即把處理機(jī)交給下一個(gè)程序運(yùn)行。這個(gè)程序經(jīng)過一個(gè)時(shí)間片后再把處理機(jī)分配給下一個(gè)程序。這樣,操作系統(tǒng)可以把處理機(jī)以時(shí)間片為單位依此輪流分配給系統(tǒng)中的每一個(gè)用戶程序。由于系統(tǒng)中的程序數(shù)目是有限的,只要時(shí)間片的長(zhǎng)度適當(dāng),那么一個(gè)用戶程序從中斷到再次得到處理機(jī)只需經(jīng)過不長(zhǎng)的一段時(shí)間(一般是2?s或3?s)。從用戶終端的角度來看,好像是一臺(tái)速度稍微放慢的計(jì)算機(jī)在專門為其服務(wù)。圖1.2分時(shí)操作系統(tǒng)示意圖分時(shí)操作系統(tǒng)主要具有以下基本特征:

(1)同時(shí)性。若干個(gè)終端用戶能同時(shí)使用一臺(tái)計(jì)算機(jī)系統(tǒng)進(jìn)行工作,從宏觀上看,多用戶同時(shí)工作,共享系統(tǒng)資源;從微觀上看,各進(jìn)程按時(shí)間片輪流運(yùn)行,提高了系統(tǒng)資源利用率。

(2)獨(dú)立性。各用戶使用各自的終端彼此獨(dú)立,互不干擾,保證用戶資源的安全。

(3)交互性。用戶可以與計(jì)算機(jī)系統(tǒng)進(jìn)行會(huì)話,通過終端向計(jì)算機(jī)提出運(yùn)行要求或發(fā)布操作命令。計(jì)算機(jī)按照用戶的請(qǐng)求或命令運(yùn)行,并及時(shí)把運(yùn)行結(jié)果或出錯(cuò)信息報(bào)告給用戶。

(4)及時(shí)性。用戶的請(qǐng)求能在很短的時(shí)間內(nèi)獲得系統(tǒng)的響應(yīng)。

分時(shí)操作系統(tǒng)主要用于小型機(jī)、工作站和高檔微型機(jī)上。CTSS是最早的分時(shí)操作系統(tǒng),Linux是目前被廣泛使用的一個(gè)分時(shí)操作系統(tǒng)。該系統(tǒng)適合辦公自動(dòng)化、教學(xué)及事務(wù)處理等要求人機(jī)會(huì)話的場(chǎng)合。分時(shí)操作系統(tǒng)的設(shè)計(jì)目標(biāo)是對(duì)用戶的請(qǐng)求及時(shí)響應(yīng),并在可能條件下盡量提高系統(tǒng)資源的利用率。影響響應(yīng)時(shí)間的因素包括:

●終端數(shù)目的多少;

●調(diào)度算法(時(shí)間片的選取);

●信息交換量和信息交換速度;

●機(jī)器處理能力;

●請(qǐng)求服務(wù)的時(shí)間長(zhǎng)短及服務(wù)請(qǐng)求的分布。1.4.4實(shí)時(shí)操作系統(tǒng)

實(shí)時(shí)操作系統(tǒng)是指計(jì)算機(jī)對(duì)特定輸入做出快速反應(yīng),以控制發(fā)出實(shí)時(shí)信號(hào)的對(duì)象,即計(jì)算機(jī)及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的短時(shí)間內(nèi)完成該事件的處理,并控制所有實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。例如,導(dǎo)彈飛行控制、工業(yè)過程控制和各種訂票業(yè)務(wù)等場(chǎng)合,都要求計(jì)算機(jī)系統(tǒng)對(duì)用戶的請(qǐng)求立即做出響應(yīng),具有這種特性的操作系統(tǒng)就是實(shí)時(shí)操作系統(tǒng)。所謂實(shí)時(shí)就是“立即”、“現(xiàn)在”的意思,是指對(duì)隨機(jī)發(fā)生的外部事件能及時(shí)做出響應(yīng)和處置。實(shí)時(shí)操作系統(tǒng)是較少有人為干預(yù)的監(jiān)督和控制系統(tǒng)。僅當(dāng)系統(tǒng)內(nèi)識(shí)別到了違反系統(tǒng)的規(guī)定或者計(jì)算機(jī)本身發(fā)生故障時(shí),系統(tǒng)才需要人為干預(yù)。

實(shí)時(shí)操作系統(tǒng)可以分為兩類:實(shí)時(shí)控制系統(tǒng)和實(shí)時(shí)信息處理系統(tǒng)。實(shí)時(shí)控制系統(tǒng)用于各種快速控制過程,如軋鋼、化工等生產(chǎn)過程以及飛機(jī)、導(dǎo)彈、衛(wèi)星等控制過程。實(shí)時(shí)信息處理系統(tǒng)用于要求嚴(yán)格響應(yīng)時(shí)間的計(jì)算機(jī)系統(tǒng),如票務(wù)系統(tǒng)、金融系統(tǒng)、情報(bào)檢索系統(tǒng)等。計(jì)算機(jī)要及時(shí)響應(yīng)外部事件的請(qǐng)求,并能以足夠快的速度完成對(duì)事件的處理,而對(duì)系統(tǒng)資源的利用率要求不高,甚至為保證高可靠性而采用各種冗余設(shè)計(jì)。

實(shí)時(shí)操作系統(tǒng)也可連接多個(gè)終端,各終端用戶也可與系統(tǒng)發(fā)生交互作用,但它與分時(shí)操作系統(tǒng)不同,其差別主要體現(xiàn)在以下三個(gè)方面。

(1)目標(biāo)不同。分時(shí)操作系統(tǒng)是通用性較強(qiáng)的計(jì)算機(jī)系統(tǒng),用戶可以自由地使用并方便地開發(fā)自己的程序,修改、調(diào)試和運(yùn)行這些應(yīng)用程序。而實(shí)時(shí)操作系統(tǒng)的目標(biāo)是提供一種具有特殊用途的專用系統(tǒng),系統(tǒng)中要預(yù)先裝入處理各種外部事件的程序,當(dāng)接收到某種外部請(qǐng)求后,立即做出響應(yīng),從系統(tǒng)中選擇一個(gè)程序去執(zhí)行,它不允許用戶隨意開發(fā)程序或修改系統(tǒng)內(nèi)已存在的程序。

(2)交互能力不同。分時(shí)操作系統(tǒng)具有較強(qiáng)的交互作用和會(huì)話能力,系統(tǒng)可以運(yùn)行用戶的任意程序,可以應(yīng)用戶的各種不同請(qǐng)求給予響應(yīng)。但實(shí)時(shí)系統(tǒng)中的應(yīng)用程序是預(yù)先設(shè)計(jì)好的,它只響應(yīng)預(yù)先約定的用戶請(qǐng)求,所以用戶與系統(tǒng)的交互能力是有一定限制的。

(3)響應(yīng)時(shí)間不同。對(duì)于分時(shí)操作系統(tǒng),軟件的執(zhí)行在時(shí)間上并不嚴(yán)格要求,時(shí)間上的錯(cuò)誤一般不會(huì)造成災(zāi)難性的后果。而對(duì)于實(shí)時(shí)操作系統(tǒng),主要任務(wù)是對(duì)事件進(jìn)行實(shí)時(shí)的處理,雖然事件可能在無法預(yù)知的時(shí)刻發(fā)生,但是軟件必須在事件發(fā)生時(shí)能夠在嚴(yán)格的時(shí)限內(nèi)做出響應(yīng)(系統(tǒng)響應(yīng)時(shí)間),即使是在尖峰負(fù)荷下也應(yīng)如此,系統(tǒng)時(shí)間響應(yīng)的超時(shí)就意味著致命的失敗。實(shí)時(shí)系統(tǒng)主要是為聯(lián)機(jī)實(shí)時(shí)任務(wù)服務(wù)的,其特點(diǎn)如下:

(1)及時(shí)響應(yīng)。系統(tǒng)對(duì)外部實(shí)時(shí)信號(hào)必須能及時(shí)響應(yīng),響應(yīng)的時(shí)間間隔要滿足能夠控制發(fā)出實(shí)時(shí)信號(hào)的環(huán)境要求。

(2)高可靠性和安全性。實(shí)時(shí)系統(tǒng)要求有高可靠性和安全性,系統(tǒng)的效率則放在其次。

(3)交互會(huì)話功能較弱。實(shí)時(shí)系統(tǒng)的系統(tǒng)整體性強(qiáng),交互能力弱。通常不允許用戶通過實(shí)時(shí)終端設(shè)備去編寫新的程序或修改已有的程序。實(shí)時(shí)終端設(shè)備通常只是作為執(zhí)行裝置或詢問裝置,是為特殊的實(shí)時(shí)任務(wù)設(shè)計(jì)的專用系統(tǒng)。1.4.5通用操作系統(tǒng)

上面介紹的三類操作系統(tǒng),其主要差別在于用戶對(duì)使用系統(tǒng)的環(huán)境要求不同。因此這幾類操作系統(tǒng)都有不同的使用方式和不同的用途。往往為了能使一個(gè)計(jì)算機(jī)系統(tǒng)適應(yīng)不同的環(huán)境、不同的要求,又出現(xiàn)了通用操作系統(tǒng)。通用操作系統(tǒng)是在上述三類操作系統(tǒng)的基礎(chǔ)上發(fā)展起來的,它們往往是上述三種操作系統(tǒng)兩者或三者的組合,例如,批處理系統(tǒng)與分時(shí)系統(tǒng)相結(jié)合,當(dāng)系統(tǒng)有分時(shí)用戶時(shí),系統(tǒng)及時(shí)地做出響應(yīng);當(dāng)系統(tǒng)暫時(shí)沒有分時(shí)用戶或分時(shí)用戶較少時(shí),處理不太緊急的批處理作業(yè),以便提高系統(tǒng)的資源利用率。在這種系統(tǒng)中,把分時(shí)作業(yè)稱為前臺(tái)作業(yè),批處理作業(yè)稱為后臺(tái)作業(yè)。當(dāng)有實(shí)時(shí)或分時(shí)請(qǐng)求時(shí),系統(tǒng)及時(shí)對(duì)它們做出響應(yīng);否則系統(tǒng)就處理后臺(tái)批處理作業(yè)。類似地,批處理系統(tǒng)與實(shí)時(shí)系統(tǒng)相結(jié)合,有實(shí)時(shí)任務(wù)請(qǐng)求時(shí),進(jìn)行實(shí)時(shí)處理,沒有實(shí)時(shí)任務(wù)請(qǐng)求時(shí)運(yùn)行批處理作業(yè),這時(shí)把實(shí)時(shí)系統(tǒng)稱為前臺(tái),把批處理稱為后臺(tái)。

通用操作系統(tǒng)不僅滿足了用戶的特殊要求,而且使系統(tǒng)資源的利用率得到進(jìn)一步的提高,因此得到了非常廣泛的應(yīng)用。1.4.6網(wǎng)絡(luò)操作系統(tǒng)

隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,當(dāng)前還有專門提供網(wǎng)絡(luò)通信與網(wǎng)絡(luò)資源共享功能的網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。計(jì)算機(jī)網(wǎng)絡(luò)是把地理位置上分散的計(jì)算機(jī)聯(lián)合起來形成一個(gè)網(wǎng)絡(luò)系統(tǒng),其目的是實(shí)現(xiàn)計(jì)算機(jī)之間的通信和資源共享。網(wǎng)絡(luò)操作系統(tǒng)是使網(wǎng)絡(luò)上各計(jì)算機(jī)能方便而有效地共享網(wǎng)絡(luò)資源,為網(wǎng)絡(luò)用戶提供各種服務(wù)的軟件和有關(guān)規(guī)程(如協(xié)議)的集合。網(wǎng)絡(luò)操作系統(tǒng)提供網(wǎng)絡(luò)操作所需的最基本的核心功能,如網(wǎng)絡(luò)文件系統(tǒng)、內(nèi)存管理及進(jìn)程任務(wù)調(diào)度等。網(wǎng)絡(luò)服務(wù)程序運(yùn)行通過網(wǎng)絡(luò)操作系統(tǒng)軟件來實(shí)現(xiàn),各計(jì)算機(jī)通過通信軟件使網(wǎng)絡(luò)硬件與其他計(jì)算機(jī)建立通信。通信軟件還提供所支持的通信協(xié)議,以便通過網(wǎng)絡(luò)發(fā)送請(qǐng)求或響應(yīng)信息。網(wǎng)絡(luò)操作系統(tǒng)通常是指網(wǎng)絡(luò)中主機(jī)(通常稱為服務(wù)器)所配置的操作系統(tǒng)。它除了具備通常操作系統(tǒng)的五種管理功能外,為了實(shí)現(xiàn)網(wǎng)中各級(jí)通信協(xié)議,還應(yīng)配置完善的通信軟件和網(wǎng)絡(luò)控制軟件。計(jì)算機(jī)網(wǎng)絡(luò)是通過通信設(shè)施將物理上分散的具有自治功能的多個(gè)計(jì)算機(jī)系統(tǒng)互連起來的,從而實(shí)現(xiàn)信息交換、資源共享、可互操作和協(xié)作處理的系統(tǒng)。它具有以下特征:

(1)計(jì)算機(jī)網(wǎng)絡(luò)是一個(gè)互連的計(jì)算機(jī)系統(tǒng)的群體。這些計(jì)算機(jī)系統(tǒng)在物理上是分散的,可在一個(gè)房間里、一個(gè)單位里、一個(gè)城市或幾個(gè)城市里,甚至在全國或全球范圍內(nèi)。

(2)這些計(jì)算機(jī)是自治的,每臺(tái)計(jì)算機(jī)有自己的操作系統(tǒng),各自獨(dú)立工作。1.4.7分布式操作系統(tǒng)

隨著程序設(shè)計(jì)環(huán)境、人機(jī)接口和軟件工程等方面的不斷發(fā)展,出現(xiàn)了由高速局域網(wǎng)互連的若干計(jì)算機(jī)組成的分布式計(jì)算機(jī)系統(tǒng),它們需要配置相應(yīng)的操作系統(tǒng),即分布式操作系統(tǒng)。分布式操作系統(tǒng)是由多臺(tái)計(jì)算機(jī)組成的系統(tǒng),這些計(jì)算機(jī)系統(tǒng)資源可以分布在不同的地理位置,但在邏輯上它們是一個(gè)完整的計(jì)算機(jī)系統(tǒng)。與計(jì)算機(jī)網(wǎng)絡(luò)相似,分布式計(jì)算機(jī)系統(tǒng)通過通信網(wǎng)絡(luò)將獨(dú)立功能的數(shù)據(jù)處理系統(tǒng)或計(jì)算機(jī)系統(tǒng)互連起來,可實(shí)現(xiàn)信息交換、資源共享和協(xié)作完成任務(wù)等。分布式操作系統(tǒng)用于管理分布式的計(jì)算機(jī)系統(tǒng)資源,它不同于網(wǎng)絡(luò)操作系統(tǒng),分布式系統(tǒng)中各臺(tái)計(jì)算機(jī)無主次之分,系統(tǒng)中若干臺(tái)計(jì)算機(jī)可以同時(shí)運(yùn)行來共同完成一個(gè)任務(wù)。分布式操作系統(tǒng)具有以下特征:

(1)統(tǒng)一性。系統(tǒng)內(nèi)只有一個(gè)全局操作系統(tǒng),采用分布式控制的辦法,負(fù)責(zé)全系統(tǒng)的資源管理和運(yùn)行控制。

(2)共享性。系統(tǒng)內(nèi)包含有多個(gè)物理資源和邏輯資源,它們可以動(dòng)態(tài)地分配給各個(gè)任務(wù)。

(3)透明性。透明性是指用戶并不知道分布式系統(tǒng)是運(yùn)行在多臺(tái)計(jì)算機(jī)上,在用戶眼里整個(gè)分布式系統(tǒng)中的許多計(jì)算機(jī)就像是一臺(tái)計(jì)算機(jī),對(duì)用戶來講是透明的。

(4)自治性。處于分布式系統(tǒng)的多個(gè)主機(jī)處于平等地位,無主從關(guān)系,所有資源都必須高度自治而相互配合地工作,它們之間不存在層次控制或主從控制的關(guān)系。

(5)獨(dú)立性。獨(dú)立性是指分布式系統(tǒng)的多個(gè)主機(jī)都處于平等地位,在物理上獨(dú)立。

分布式系統(tǒng)的優(yōu)點(diǎn)是它的分布式,可以以較低的成本獲得較高的運(yùn)算性能。分布式系統(tǒng)的另一個(gè)優(yōu)點(diǎn)是它的可靠性。由于有多個(gè)獨(dú)立的CPU系統(tǒng),因此當(dāng)一個(gè)CPU系統(tǒng)發(fā)生故障時(shí),整個(gè)系統(tǒng)仍舊能夠工作。對(duì)于高可靠的環(huán)境,如核電站等,分布式系統(tǒng)是有其用武之地的。網(wǎng)絡(luò)操作系統(tǒng)與分布式操作系統(tǒng)在概念上的主要區(qū)別是,網(wǎng)絡(luò)操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,也就是說它可以在不同的本機(jī)操作系統(tǒng)上,通過網(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)行透明的訪問,即需要指明資源位置與類型,對(duì)本地資源和異地資源訪問區(qū)別對(duì)待。分布式比較強(qiáng)調(diào)單一性,它是由一種操作系統(tǒng)構(gòu)架的。在這種操作系統(tǒng)中,網(wǎng)絡(luò)的概念在應(yīng)用層被淡化了。所有資源(本地的資源和異地的資源)都用同一方式管理與訪問,用戶不必關(guān)心資源在哪里,或者資源是怎樣存儲(chǔ)的。

1.5操作系統(tǒng)的特征

目前,廣泛使用的計(jì)算機(jī)仍然是以順序計(jì)算為基礎(chǔ)的存儲(chǔ)程序式計(jì)算機(jī)。但是,為了充分利用計(jì)算機(jī)系統(tǒng)的資源,一般采用多個(gè)同時(shí)性用戶分用的策略。以順序計(jì)算為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)要完成并行處理的功能必然導(dǎo)致并發(fā)、共享間的矛盾,以多道程序設(shè)計(jì)為基礎(chǔ)的操作系統(tǒng)必然反映這一特征。另外,由于操作系統(tǒng)要隨時(shí)處理各種意外事件,因此它也包含著不確定性的特征。

1.并發(fā)性

計(jì)算機(jī)系統(tǒng)中存在若干個(gè)運(yùn)行的程序,系統(tǒng)中多個(gè)活動(dòng)同時(shí)進(jìn)行,I/O操作和計(jì)算操作重疊。從宏觀上看,這些程序在同時(shí)向前推進(jìn)。并行性和并發(fā)性這兩個(gè)概念有所區(qū)別:并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生(微觀概念),而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間的間隔內(nèi)發(fā)生(宏觀概念)。

程序的并發(fā)執(zhí)行,有效地改善了系統(tǒng)資源的利用率,提高了系統(tǒng)的吞吐量,但它使系統(tǒng)復(fù)雜化,操作系統(tǒng)必須具有控制和管理各種并發(fā)活動(dòng)的能力。

2.共享性

共享性是指多個(gè)計(jì)算任務(wù)對(duì)系統(tǒng)資源的共同享用。操作系統(tǒng)程序與多個(gè)用戶程序共用系統(tǒng)中的各種資源,如中央處理器、內(nèi)外存儲(chǔ)器、外部設(shè)備、文件等。共享有互斥共享和同時(shí)共享兩種形式。

并發(fā)和共享是操作系統(tǒng)兩個(gè)最基本的特征,這兩者之間又是互為存在條件的。資源共享是以程序的并發(fā)為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題。若系統(tǒng)不能對(duì)資源共享實(shí)施有效的管理,也必將影響到程序的并發(fā)執(zhí)行,甚至根本無法并發(fā)執(zhí)行。

3.不確定性

在多道程序環(huán)境下,操作系統(tǒng)的運(yùn)行是在隨機(jī)的環(huán)境下運(yùn)行的。這種隨機(jī)環(huán)境的含義是:操作系統(tǒng)不可能對(duì)所運(yùn)行的程序的行為以及硬件設(shè)備的情況做出任何事先的假定。也就是說,對(duì)于同一程序,提供相同的數(shù)據(jù),所期待的結(jié)果是相同的,但系統(tǒng)以什么樣的速度予以響應(yīng)卻是不確定的,它完全取決于共存于系統(tǒng)中的其他程序?qū)Y源的使用情況,獲得了所需資源就前進(jìn),否則就必須等待。對(duì)同一程序的同一執(zhí)行點(diǎn),今天運(yùn)行到該點(diǎn),可能很順利地獲取了資源繼續(xù)運(yùn)行,明天重新運(yùn)行到該程序的該點(diǎn),可能得不到資源而處于等待,完全是隨機(jī)的。

4.虛擬性

所謂虛擬,是指把一個(gè)物理上的實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。物理實(shí)體(前者)是實(shí)的,而后者是虛的,相應(yīng)地,用于實(shí)現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)。在操作系統(tǒng)中利用了多種虛擬技術(shù),分別用來實(shí)現(xiàn)虛擬處理機(jī)、虛擬內(nèi)存、虛擬外部設(shè)備和虛擬信道等。

1.6Linux?概述

Linux是20世紀(jì)90年代推出的一個(gè)多用戶多任務(wù)操作系統(tǒng)。它是UNIX操作系統(tǒng)的一種克隆系統(tǒng),與UNIX兼容,具有UNIX最新的全部功能。Linux功能強(qiáng)大、性能穩(wěn)定、便于使用。Linux系統(tǒng)的最大特點(diǎn)在于它是一個(gè)源代碼公開的免費(fèi)操作系統(tǒng),現(xiàn)已成為世界上使用最多的一種UNIX類操作系統(tǒng),并且使用人數(shù)還在迅猛增長(zhǎng)。

Linux最初由芬蘭人LinusTorvalds開發(fā),其源程序在Internet上公布以后,引起了全球計(jì)算機(jī)愛好者的開發(fā)熱情,許多人下載該源程序并按自己的意愿完善某一方面的功能,再發(fā)回到網(wǎng)上,Linux也因此被雕琢成為一個(gè)全球最穩(wěn)定的、最有發(fā)展前景的操作系統(tǒng)。Linux內(nèi)核發(fā)展的歷史進(jìn)程如表1-1所示。表1-1Linux發(fā)展歷史進(jìn)程1.6.1Linux的優(yōu)越性能

經(jīng)過十余年的發(fā)展,Linux已經(jīng)發(fā)展得相當(dāng)完善,并且在科研、教育、政府、商業(yè)以及個(gè)人方面擁有了相當(dāng)多的用戶。Linux的風(fēng)靡全球是因?yàn)樗哂性S多優(yōu)點(diǎn),其主要優(yōu)點(diǎn)如下:

(1)完全免費(fèi)。Linux是一款免費(fèi)的操作系統(tǒng),人們可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼,這是其他的商用操作系統(tǒng)所無法比擬的。

(2)完全兼容POSIX標(biāo)準(zhǔn)。系統(tǒng)遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國際標(biāo)準(zhǔn)。凡遵循國際標(biāo)準(zhǔn)所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實(shí)現(xiàn)互連。

(3)多用戶、多任務(wù)。Linux支持多用戶,各個(gè)用戶對(duì)于自己的文件、設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。

(4)良好的界面。Linux同時(shí)具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應(yīng)的指令來進(jìn)行操作。它同時(shí)也提供了類似Windows圖形界面的XWindow系統(tǒng),用戶可以使用鼠標(biāo)對(duì)其進(jìn)行操作。XWindow環(huán)境和Windows環(huán)境相似,可以說是一個(gè)Linux版的Windows。

(5)強(qiáng)大的網(wǎng)絡(luò)功能。完善的內(nèi)置網(wǎng)絡(luò)是Linux的一大特點(diǎn)。Linux在通信和網(wǎng)絡(luò)功能方面優(yōu)于其他操作系統(tǒng)。其他操作系統(tǒng)不包含如此緊密地和內(nèi)核結(jié)合在一起的連接網(wǎng)絡(luò)的能力,也沒有內(nèi)置這些聯(lián)網(wǎng)特性的靈活性,而Linux為用戶提供了完善的、強(qiáng)大的網(wǎng)絡(luò)功能。

支持Internet是Linux的網(wǎng)絡(luò)功能之一。Linux免費(fèi)提供了大量支持Internet的軟件,用戶能用Linux與世界上的其他人通過Internet進(jìn)行通信。文件傳輸是其網(wǎng)絡(luò)功能之二。用戶能通過一些Linux命令完成內(nèi)部信息或文件的傳輸。

遠(yuǎn)程訪問是其網(wǎng)絡(luò)功能之三。Linux不僅允許進(jìn)行文件和程序的傳輸,它還為系統(tǒng)管理員和技術(shù)人員提供了訪問其他系統(tǒng)的窗口。

(6)安全、穩(wěn)定的性能。Linux采取了許多安全技術(shù)措施,其中有對(duì)讀/寫進(jìn)行權(quán)限控制、審計(jì)跟蹤、核心授權(quán)等技術(shù),這些都為安全提供了保障。Linux由于需要應(yīng)用到網(wǎng)絡(luò)服務(wù)器,這對(duì)穩(wěn)定性也有比較高的要求,實(shí)際上Linux在這方面十分出色。

(7)可任意裁減的內(nèi)核。由于Linux程序的源代碼全部公開,因此十分便于裁減和改制。計(jì)算機(jī)技術(shù)人員可以根據(jù)應(yīng)用的需要只使用內(nèi)核的一部分功能,也可以在內(nèi)核中增加新功能。Linux系統(tǒng)最小可以裁減到只有1.4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論