在本篇筆記中,關(guān)于操作系統(tǒng)的很多術(shù)語目前不需要太了解,只要對操作系統(tǒng)的概念和認(rèn)識有個(gè)總體把握就可以了,在筆記的結(jié)尾以Windows2000個(gè)人計(jì)算機(jī)操作系統(tǒng)為例,使之對操作系統(tǒng)的功能、結(jié)構(gòu)有進(jìn)一步的認(rèn)識。
操作系統(tǒng)的概念
讓我們先從計(jì)算機(jī)系統(tǒng)開始,接著引入操作系統(tǒng)。
計(jì)算機(jī)系統(tǒng)是一種可以按用戶的要求接收和存儲信息、自動(dòng)進(jìn)行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng)。
計(jì)算機(jī)系統(tǒng)包括硬件子系統(tǒng)和軟件子系統(tǒng)。硬件系統(tǒng)是計(jì)算機(jī)賴以工作的實(shí)體,它包括中央處理器(CPU)、主存儲器、外存儲器以及各種類型的輸入輸出設(shè)備;軟件系統(tǒng)則保證了計(jì)算機(jī)系統(tǒng)按用戶指定的要求協(xié)調(diào)地工作,它包括各種程序和數(shù)據(jù);這兩個(gè)部分又構(gòu)成了計(jì)算機(jī)系統(tǒng)的資源,各個(gè)程序及各用戶對計(jì)算機(jī)資源的要求和使用是不同的,適當(dāng)?shù)目刂坪蛥f(xié)調(diào)計(jì)算機(jī)資源的分配是必要的。
由此,我們引入了操作系統(tǒng):在計(jì)算機(jī)系統(tǒng)中,集中了資源管理功能和控制程序執(zhí)行功能的一種軟件,稱為操作系統(tǒng)。
操作系統(tǒng)的特點(diǎn)
1. 并發(fā)性:計(jì)算機(jī)系統(tǒng)中存在若干個(gè)運(yùn)行的程序,從宏觀上看,這些程序在同時(shí)向前推進(jìn)。注意并行性和并發(fā)性這兩個(gè)概念的區(qū)別:并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生(微觀概念),而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間的間隔內(nèi)發(fā)生(宏觀概念)。
2. 共享性:操作系統(tǒng)程序與多個(gè)用戶程序共用系統(tǒng)中的各種資源:中央處理器,內(nèi)外存儲器,外部設(shè)備等。共享的兩種形式:互斥共享和同時(shí)共享。
3. 隨機(jī)性:操作系統(tǒng)的運(yùn)行是在隨機(jī)的環(huán)境下運(yùn)行的。這種隨機(jī)環(huán)境的含義是:操作系統(tǒng)不可能對所運(yùn)行的程序的行為以及硬件設(shè)備的情況作出任何事先的假定。
對操作系統(tǒng)本質(zhì)的不同觀點(diǎn)
由于對操作系統(tǒng)本質(zhì)的不同觀點(diǎn),將會(huì)影響操作系統(tǒng)的設(shè)計(jì)思想。對操作系統(tǒng)的幾種觀點(diǎn)如下:
1.軟件的觀點(diǎn),將操作系統(tǒng)以軟件的形式來學(xué)習(xí)和研究,但要注意的是它又具有一般應(yīng)用軟件不具備的特殊結(jié)構(gòu)。
2.資源管理的觀點(diǎn),操作系統(tǒng)就是要負(fù)責(zé)用戶和系統(tǒng)程序更有效的使用和協(xié)調(diào)計(jì)算機(jī)系統(tǒng)的各個(gè)資源(硬件和軟件資源)。
3.進(jìn)程的觀點(diǎn),可以簡單的認(rèn)為進(jìn)程是運(yùn)行中的程序,每個(gè)進(jìn)程都完成某一特定的任務(wù),可以是系統(tǒng)任務(wù),也可以來自用戶提交的作業(yè)任務(wù)。依據(jù)這種觀點(diǎn),主要側(cè)重于分析系統(tǒng)各部分的并行工作,并處理和管理任務(wù)相互之間的關(guān)系。
4.虛擬器的觀點(diǎn),在操作系統(tǒng)的支持下將原來的計(jì)算機(jī)(裸機(jī))擴(kuò)充為功能強(qiáng)的計(jì)算機(jī)系統(tǒng),我們把這種計(jì)算機(jī)系統(tǒng)稱為虛擬計(jì)算機(jī)。操作系統(tǒng)的全部功能,包括系統(tǒng)調(diào)用/命令/作業(yè)控制語言等,統(tǒng)稱為操作系統(tǒng)虛擬器。可以將操作系統(tǒng)再分解為若干層次,每個(gè)層次完成特定的功能,從而構(gòu)成一個(gè)虛機(jī)器,并為上層提供支持。通過逐個(gè)層次擴(kuò)充并最終完成整個(gè)操作系統(tǒng)虛擬器的構(gòu)造。
5.服務(wù)提供者的觀點(diǎn),操作系統(tǒng)提供了一系列的功能和便利的工作環(huán)境為用戶服務(wù),所以可以把操作系統(tǒng)看作是服務(wù)提供者。在嚴(yán)格時(shí)間范圍內(nèi),對外部請求做出反應(yīng),系統(tǒng)具有高度可靠性。
實(shí)時(shí)操作系統(tǒng)主要有兩大類:硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)。硬實(shí)時(shí)系統(tǒng)在事件處理時(shí)對時(shí)間有極嚴(yán)格要求,而軟實(shí)時(shí)系統(tǒng)在事件處理中僅是一定時(shí)間范圍的要求。
5.個(gè)人計(jì)算機(jī)操作系統(tǒng)(Personal Computer Operating System)
主要供個(gè)人使用,在某一時(shí)間內(nèi)為單個(gè)用戶服務(wù),采用圖形界面人機(jī)交互方式,界面友好,使用方便,用戶無需專門知識,也能熟練地操縱系統(tǒng)。
5. 網(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)設(shè)計(jì)開發(fā)的軟件,它包括網(wǎng)管理、通全、安全、資源共享和各種網(wǎng)絡(luò)應(yīng)用。
6. 分布式操作系統(tǒng)
將大量的計(jì)算機(jī)通過網(wǎng)絡(luò)連結(jié)在一起,以獲得極高的運(yùn)算能力及廣泛的數(shù)據(jù)共享。
與網(wǎng)絡(luò)操作系統(tǒng)一樣,同樣基于計(jì)算機(jī)網(wǎng)絡(luò),但與網(wǎng)絡(luò)操作系統(tǒng)不同在于:連結(jié)在網(wǎng)絡(luò)上的各計(jì)算機(jī)采用統(tǒng)一的操作系統(tǒng),且分布式操作系統(tǒng)淡化了所訪問資源的位置,即網(wǎng)絡(luò)的概念在應(yīng)用層被淡化了,而網(wǎng)絡(luò)操作系統(tǒng)對資源的訪問就必須顯示的指明資源的位置和類型。
學(xué)習(xí)體會(huì)
上文只是很簡單地對操作系統(tǒng)的功能、特點(diǎn)等作了一個(gè)小結(jié),讓我對操作系統(tǒng)似乎有點(diǎn)清楚了,不就是有組織的管理計(jì)算機(jī)系統(tǒng)資源的軟件嗎?好了好了,操作系統(tǒng)確實(shí)是軟件,但不要把它與平時(shí)應(yīng)用程序軟件相提并論哦,對操作系統(tǒng)不同的認(rèn)識產(chǎn)生了對操作系統(tǒng)設(shè)計(jì)思想的差異,上文已講得很清楚了。
讓我們看一下windows2000個(gè)人計(jì)算機(jī)操作系統(tǒng)(兼有分布式操作系統(tǒng)的功能),它對資源管理、進(jìn)程調(diào)度、虛擬器分層做得可是一點(diǎn)不差。
進(jìn)一步考察windows2000操作系統(tǒng)的分層,我也來劃分一下:用戶界面,應(yīng)用程序,作業(yè)管理,文件管理,輸入輸出(I/O)管理,進(jìn)程通信,存儲管理,處理器管理,到最后對各硬件設(shè)備的操作。
Windows2000操作系統(tǒng)在與用戶程序交互的同時(shí),比如你打開一個(gè)word處理程序,你是否想過系統(tǒng)作了些什么呢?開始時(shí)系統(tǒng)需要為word處理程序進(jìn)行存儲資源的分配,然后就是進(jìn)程的管理,還有要將你處理完成的結(jié)果輸出到各種各樣的外部設(shè)備,要知道我們的word處理程序隨時(shí)可能會(huì)崩潰,系統(tǒng)還需要有極強(qiáng)的容錯(cuò)性和穩(wěn)定性,能夠避免由于應(yīng)用程序的不穩(wěn)定,而影響整個(gè)應(yīng)用程序的不穩(wěn)定,Windows2000操作系統(tǒng)對上述問題都提供了相應(yīng)的解決方案。
操作系統(tǒng)的分類
1.批處理操作系統(tǒng)
基本工作方式:用戶將作業(yè)交給系統(tǒng)操作員,系統(tǒng)操作員收到作業(yè)后,并不立即將作業(yè)輸入計(jì)算機(jī),而是在收到一定數(shù)量的用戶作業(yè)后,組成一批作業(yè),再把這批作業(yè)輸入到計(jì)算機(jī)中進(jìn)行批處理。
早期的批處理監(jiān)控程序不具備并發(fā)功能,為了提高硬件資源利用率,主要通過假脫機(jī)(SPOOLing)技術(shù)實(shí)現(xiàn)了真正并發(fā)機(jī)制的多道批處理系統(tǒng):即在內(nèi)存中同時(shí)保持多個(gè)作業(yè),主機(jī)可以以交替的方式同時(shí)處理多個(gè)作業(yè)。
2.分時(shí)系統(tǒng)
為彌補(bǔ)批處理方式不能提供交互式快速服務(wù)的缺點(diǎn)而發(fā)展起來的。
基本工作方式:一臺計(jì)算機(jī)主機(jī)連接了若干個(gè)終端,每個(gè)終端可由一個(gè)用戶使用,用戶通過終端交互式地向系統(tǒng)提出命令請求,系統(tǒng)接受用戶命令后,采用時(shí)間片輪轉(zhuǎn)的方式處理服務(wù)請求,并通過交互方式在終端上向用戶顯示結(jié)果。用戶根據(jù)系統(tǒng)送回的處理結(jié)果發(fā)出下一道交互命令。
分時(shí)操作系統(tǒng)具有多路性、交互性、獨(dú)占性和及時(shí)性的特點(diǎn)。
典型的UNIX操作系統(tǒng)結(jié)合了分時(shí)系統(tǒng)和批處理系統(tǒng)的特點(diǎn)。
在通用操作系統(tǒng)中,對于分時(shí)與批處理的處理原則是:分時(shí)優(yōu)先,批處理在后。并且一般把系統(tǒng)的分時(shí)和批處理運(yùn)行狀態(tài)稱稱為前臺和后臺,前臺作業(yè)主要處理來自終端用戶的、交互式的、比較小的且需要及時(shí)處理的作業(yè);后臺作業(yè)主要處理運(yùn)行時(shí)間較長、要調(diào)用其他外部設(shè)備的、大型的無需終端用戶干預(yù)的,且不需要立即處理的作業(yè)。
3.實(shí)時(shí)操作系統(tǒng)(RTOS:Real Time Operating System)