2017年全國計算機等級考試四級復習綱要10

字號:


     第四章考試要點
     本章內(nèi)容主要是:操作系統(tǒng)的功能、類型,多用戶操作系統(tǒng);進程及線程的概念,進程間的通信,進程管理,作業(yè)調(diào)度,作業(yè)控制,死鎖;頁式、段式、段頁式存儲,虛擬存儲原理,地址轉(zhuǎn)換機制,頁面淘汰算法;文件和文件系統(tǒng)的概念,文件控制塊,文件目錄,文件分類與磁盤調(diào)度;輸入輸出控制方式,設(shè)備驅(qū)動程序,通道,中斷,緩沖技術(shù),SPOOLing系統(tǒng);操作系統(tǒng)結(jié)構(gòu)設(shè)計;網(wǎng)絡(luò)操作系統(tǒng);操作系統(tǒng)(DOS/Unix/Windows)的使用;操作系統(tǒng)技術(shù)發(fā)展。
     一、操作系統(tǒng)的基本概念
     1.引言
     現(xiàn)代計算機系統(tǒng)由硬件和軟件兩部分構(gòu)成。硬件指的是構(gòu)成計算機系統(tǒng)的物理設(shè)備。操作系統(tǒng)控制和管理所有的系統(tǒng)硬件(如處理器、存儲器、各種設(shè)備),也控制和管理系統(tǒng)中所有的軟件,操作系統(tǒng)對計算機使用者提供了一種良好的操作環(huán)境,也為各種應(yīng)用系統(tǒng)提供了基本的支持環(huán)境。操作系統(tǒng)在硬件之上建立了一個服務(wù)體系,為各種軟件提供強有力的支持,呈現(xiàn)在用戶面前的計算機是一個方便的、友好的環(huán)境界面?,F(xiàn)代計算機系統(tǒng)中硬件與軟件之間的關(guān)系可分成若干層次。硬件(*機)在最里層,是計算機系統(tǒng)工作的物質(zhì)基礎(chǔ),它的外面是操作系統(tǒng),通過系統(tǒng)程序?qū)τ嬎銠C系統(tǒng)中各類資源(處理器、存儲器、設(shè)備、數(shù)據(jù)等)進行管理和提供方便用戶使用的多種服務(wù)功能,隱蔽對硬件的復雜操作,把*機改造成功能更強,使用更方便的系統(tǒng)。來源:www.examda.com
     2.什么是操作系統(tǒng)
     有幾種不同的方法考察操作系統(tǒng)
     (1)用戶觀點操作系統(tǒng)是用戶與計算機之間的接口,有了操作系統(tǒng),用戶可以方便地使用計算機;在功能上,操作系統(tǒng)提供功能很強的系統(tǒng)調(diào)用,用戶軟件使用這些系統(tǒng)調(diào)用(也稱管態(tài))運行。
     (2)資源管理觀點操作系統(tǒng)是控制和管理計算機系統(tǒng)資源的程序,它的工作是當用戶程序和其他程序爭用這些資源時,提供有序的和可控的分配。
     (3)進程觀點操作系統(tǒng)環(huán)境中,常同時運行著多個程序(稱為并發(fā)),這些同時運行的程序稱為“進程”(process),或“任務(wù)”(task)。每個進程都完成各自的特定任務(wù)(如用戶程序的運行,處理某個設(shè)備的輸入輸出……)。操作系統(tǒng)則控制和協(xié)調(diào)這些進程的運行。它從系統(tǒng)各部分可以并行工作為出發(fā)點,考慮管理任務(wù)的分割和相互之間的關(guān)系,通過進程之間的通信解決共享資源時帶來的競爭問題。通常,進程可以分為用戶進程和系統(tǒng)進程兩大類。
     (4)分層觀點根據(jù)使用環(huán)境和對用戶作業(yè)處理方式,操作系統(tǒng)的基本類型可能分為3大類:?批處理操作系統(tǒng)(batch processing operating system);?分時操作系統(tǒng)(time sharing system);?實時操作系統(tǒng)(real time system)隨著網(wǎng)絡(luò)技術(shù)的發(fā)展與普遍使用,共享網(wǎng)絡(luò)資源的網(wǎng)絡(luò)環(huán)境下的操作系統(tǒng)也已流行。網(wǎng)絡(luò)環(huán)境下的操作系統(tǒng)又分成網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng),網(wǎng)絡(luò)操作系統(tǒng)是在各單機操作系統(tǒng)的基礎(chǔ)上,按照網(wǎng)絡(luò)體系結(jié)構(gòu)的各個協(xié)議、標準進行開發(fā),形成網(wǎng)絡(luò)軟件,包括網(wǎng)絡(luò)管理、通信、資源共享、系統(tǒng)安全和多種網(wǎng)絡(luò)應(yīng)用等;分布式操作系統(tǒng)要求一個統(tǒng)一的操作系統(tǒng),即廢棄(或改造)各單機的操作系統(tǒng),整個網(wǎng)絡(luò)設(shè)有單一的操作系統(tǒng)。分布式操作系統(tǒng)負責全系統(tǒng)的資源分配和調(diào)度,為用戶提供統(tǒng)一的界面。用戶據(jù)此使用系統(tǒng)資源、完成所需任務(wù)。至于設(shè)備在何處用戶是不必知道的,這稱為位置透明性。分布式操作系統(tǒng)是一個邏輯上緊密耦合的系統(tǒng)。
     3.操作系統(tǒng)的功能
     操作系統(tǒng)的職能是管理和控制計算機系統(tǒng)中的全部硬件、軟件資源,合理組織計算機工作流程,并為用戶提供一個良好的工作環(huán)境和友好的接口,系統(tǒng)資源管理和提供用戶界面是操作系統(tǒng)的功能要點。
     (1)處理器(處理機)管理處理器是計算機系統(tǒng)的心臟,在單用戶系統(tǒng)或單道系統(tǒng)中,處理器為一個用戶或一個作業(yè)服務(wù),其管理簡單。為提高系統(tǒng)資源利用率,引入多道程序技術(shù),即多個程序(作業(yè))同時運行,他們爭用處理器,就要解決對處理器分配調(diào)度策略、實施分配和回收資源。許多操作系統(tǒng)是以作業(yè)和進程的方式進行管理,實現(xiàn)作業(yè)和進程的調(diào)度,分配處理器,控制作業(yè)和進程的執(zhí)行?,F(xiàn)代的操作系統(tǒng)更引入線程(Thread)作為分配處理器的基本單位。基于操作系統(tǒng)對處理器管理策略的不同,其提供的作業(yè)處理方式也就不同,如簡單的批處理方式、分時處理方式、實時處理方式、多道成批處理方式和網(wǎng)絡(luò)環(huán)境下的處理方式。從而,呈現(xiàn)在用戶面前的就是不同的操作系統(tǒng)。
     (2)存儲管理計算機系統(tǒng)中,存儲器(一般稱為主存或內(nèi)存)是運行程序、存放工作數(shù)據(jù)的,存儲管理的工作主要是對主存儲器進行分配、擴充和保護。系統(tǒng)中有多個程序(操作系統(tǒng),實用程序和用戶程序)共享存儲器,它們彼此之間不能相互干擾和破壞,這就是存儲保護問題。當計算機系統(tǒng)中運行的程序所需要的主存容量超過系統(tǒng)所提供的主存容量時,如何利用外部存儲器作為主存的后援,為用戶提供一個容量比實存(實際內(nèi)存)大得多的虛存(虛擬存儲器),讓用戶可運行一個比實存大的用戶作業(yè),這就是內(nèi)存擴充問題。
     (3)設(shè)備管理現(xiàn)代計算機系統(tǒng)常常配置很多種類的輸入輸出設(shè)備,它們的輸入輸出速度差別很大,計算機系統(tǒng)常常采用通道、控制器、設(shè)備三級控制方法管理這些設(shè)備,設(shè)備管理的任務(wù)就是監(jiān)視這些資源的使用情況,根據(jù)一定的分配策略,把通道、控制器和設(shè)備分配給請求輸入輸出操作的程序,并啟動設(shè)備完成所需的操作。為了發(fā)揮設(shè)備和處理機的并行工作能力,常常采用緩沖技術(shù)和虛擬技術(shù)。
     (4)文件管理(信息管理)用戶使用計算機系統(tǒng)處理數(shù)據(jù)(信息),這些數(shù)據(jù)和程序作為文件儲存在外部存儲器(如磁盤、磁帶、光盤等)上,文件管理的任務(wù)是管理文件的存儲空間,提供信息的共享和保護,允許多個用戶協(xié)同工作又不引起混亂。
     (5)用戶接口(工作管理)上述四項功能是操作系統(tǒng)對硬、軟件資源的管理,操作系統(tǒng)也必須為用戶提供一個友好的用戶接口———命令接口和圖形接口。一般,用戶通過兩種命令接口請求操作系統(tǒng)的服務(wù)。一種接口是作業(yè)一級的接口,即提供一組操作命令,如UNIX和Linux的shell命令語言或作業(yè)控制語言(JCL)讓用戶組織和控制自己作業(yè)的運行。作業(yè)控制又分成兩類;聯(lián)機控制和脫機控制。另一種接口是編程接口,即提供一組系統(tǒng)調(diào)用命令(又稱進管指令SVC)供各種程序(實用程序,應(yīng)用程序和用戶程序等)調(diào)用,請求操作系統(tǒng)的服務(wù),這些服務(wù)??煞殖?處理器服務(wù)(作業(yè)、進程、線程管理),存儲服務(wù),設(shè)備服務(wù),文件服務(wù),用戶界面服務(wù),異常處理服務(wù),其他類型服務(wù)等。
     4.操作系統(tǒng)的工作原理
     操作系統(tǒng)的基本特征是并發(fā)和共享。并發(fā)的意思是存在許多同時的活動(或并行的活動);輸入輸出操作和處理器運行并行活動;在主存中同時駐留幾道用戶程序等都是并發(fā)的例子。并發(fā)活動會要求共享資源和信息,這就能提高資源的利用率。多道程序可以并發(fā)而共享資源,一個用戶的任務(wù)也可以組織成幾個子任務(wù)并發(fā)工作而提高運行效率。程序這樣運行時,不能使輸入設(shè)備,處理器和打印機并行工作,若忽略處理器加工數(shù)據(jù)的處理時間,則完成一批數(shù)據(jù)加工的時間為輸入輸出設(shè)備耗時的總和,若將這個計算任務(wù)分成3個子任務(wù),并引入緩沖技術(shù):輸入子任務(wù)從輸入設(shè)備讀一批數(shù)據(jù)到輸入緩沖區(qū),處理子任務(wù)則把輸入緩沖區(qū)中的數(shù)據(jù)處理后放入輸出緩沖區(qū),打印子任務(wù)則打印輸出緩沖區(qū)中的內(nèi)容,從而輸入子任務(wù)可以與打印子任務(wù)并發(fā)工作,使完成一批數(shù)據(jù)加工的時間近似于較慢的設(shè)備速度。程序的并發(fā)執(zhí)行,發(fā)揮了處理器與輸入輸出設(shè)備并發(fā)工作的能力,使系統(tǒng)的效率提高。多個計算程序同時駐留在主存儲器中并行執(zhí)行的程序設(shè)計方法稱為多道程序設(shè)計,這種系統(tǒng)稱為多道程序系統(tǒng)。多道程序系統(tǒng)能充分發(fā)揮處理器的利用效率,提高系統(tǒng)資源的利用效率。既然他們同處在一個系統(tǒng)中,一個任務(wù)(或子任務(wù))的執(zhí)行會受到其他任務(wù)(或子任務(wù))的影響(又稱為制約)。
     5.操作系統(tǒng)的硬件基礎(chǔ)
     現(xiàn)代計算機系統(tǒng)設(shè)備的發(fā)展異常迅速,導致了控制技術(shù)的發(fā)展,設(shè)備控制的基本技術(shù)是中斷。
     (1)中斷的基本概念在計算機系統(tǒng)中,中斷是改變處理器執(zhí)行指令順序的事件,被打斷的程序可以在將來某個時候(可能在中斷處理完成后立即或推遲,這是由操作系統(tǒng)控制的)恢復執(zhí)行。計算機系統(tǒng)的中斷既來自系統(tǒng)內(nèi)部,也來自系統(tǒng)外部,分別稱為內(nèi)部中斷和外部中斷。①內(nèi)部中斷是系統(tǒng)本身在工作過程中出現(xiàn)的各種需要緊急處理的事件:一種是由于運行程序發(fā)生意外而產(chǎn)生的,另一種是運行程序需要發(fā)生的。內(nèi)部中斷也稱為軟件中斷。②外部中斷是由于硬件方面的原因,故也稱為硬件中斷,硬件中斷往往是隨機發(fā)生的,不是由正在運行的程序所控制的。外部中斷和由于運行程序產(chǎn)生的例外中斷常常稱為強迫中斷,而運行程序主動要求而產(chǎn)生的中斷稱為自愿中斷。外部中斷可進一步分成可屏蔽中斷和不可屏蔽中斷。不可屏蔽的中斷是一些最緊急最重要的中斷,如掉電等。可屏蔽的中斷通過處理器內(nèi)部的中斷許可狀態(tài)確定響應(yīng)中斷的次序或者不響應(yīng)一些不重要(或不緊急)的中斷請求。
     (2)中斷的響應(yīng)與處理引起中斷的事件(即原因)稱為中斷源。目前,大多數(shù)系統(tǒng)都采用中斷向量的技術(shù),所謂中斷向量,實際上是一種指針,就是由硬件對不同的中斷源將控制轉(zhuǎn)移到不同的中斷處理程序入口地址。所有的中斷向量構(gòu)成一個中斷向量表,它們通常存放在一個專門的存儲區(qū)域中,這個區(qū)域的地址可以是固定的;相應(yīng)的處理程序的入口地址通常是在系統(tǒng)引導過程中,通過對系統(tǒng)配置的檢測,得到系統(tǒng)中設(shè)備配置的情況,在操作系統(tǒng)裝入過程中,填寫中斷向量表中的指針內(nèi)容。中斷處理程序?qū)χ袛嗍录奶幚矸謨刹竭M行。第一步是保護好被中斷程序的現(xiàn)場信息,即保存被中斷程序的寄存器以及PSW(程序狀態(tài)字)的內(nèi)容,以保證被中斷程序以后能繼續(xù)運行;第二步是具體處理中斷。中斷處理完成后,處理器分配給發(fā)生中斷時正在運行的進程,還是分配給另一進程,這取決于被中斷的進程是可剝奪的還是不可剝奪的。如果是不可剝奪的,它重新得到處理器,否則,可能被別的進程(如優(yōu)先級更高)奪得處理器。
     二、進程管理
     1.程序、進程和處理器
     程序是指令的集合,每一程序完成確定的任務(wù)。在只允許一個程序運行的系統(tǒng)(稱為單道系統(tǒng))中,這個程序獨占系統(tǒng)資源,而系統(tǒng)按程序的指令順序運行,程序的順序執(zhí)行有兩個基本特征,即程序的封閉性和程序的可再現(xiàn)性。封閉性是指程序運行時獨占系統(tǒng)資源,只有程序本身能改變系統(tǒng)的狀態(tài);可再現(xiàn)性是指程序運行不受外部因素影響,只要初始條件相同,運行結(jié)果就相同。多道程序系統(tǒng)讓多個程序在系統(tǒng)中輪流運行,當一個程序不用處理器時,另一個程序就使用。也就是說,處理器在程序間切換,從而獲得宏觀上的并行(微觀上的串行),以提高處理器的利用率。這種切換,通常是由中斷引起的。由于中斷是以不可預測的次序發(fā)生,即程序的指令序列也以不可預測的次序前進,這樣就會產(chǎn)生操作系統(tǒng)的另一特性:不確定性。即在多道程序系統(tǒng)中,順序程序的封閉性和可再現(xiàn)性消失了。需要采用一個新的概念———進程來描述程序的執(zhí)行,進程是運行中的程序。
     2.進程間的通信
     在操作系統(tǒng)中,進程是可以獨立運行的程序單位,系統(tǒng)中的各個進程并不是相互隔離的:一方面它們相互競爭使用有限的資源,如處理器、存儲器、設(shè)備或文件等;另一方面,它們可能相互協(xié)作以達到用戶作業(yè)預期的目的。因此,進程之間需要某種形式的通信。進程之間直接發(fā)生聯(lián)系的稱為相交進程(又稱相關(guān)進程),否則為不相交進程。相交進程需要協(xié)調(diào)彼此間的相對運行速度,存在著直接制約的關(guān)系。不相交進程之間的聯(lián)系將表現(xiàn)在資源使用上的間接制約關(guān)系。
     (1)互斥多道系統(tǒng)中,各進程可以共享各類資源,但有些資源卻一次只能供一個進程使用。這種資源常常稱為臨界資源,如打印機、公共變量、表格等?;コ馐且WC臨界資源在某一時刻只被一個進程訪問。
     (2)同步一般一個進程相對于另一個進程的速度是不可預測的,也就是說,進程之間是異步運行的。為了成功地協(xié)同工作,有關(guān)進程在某些確定的點上應(yīng)當同步它們的活動:一個進程到達了這些點后,除非另一進程已完成了某個活動,否則就停下來,以等待該活動結(jié)束。
     (3)死鎖當若干進程競爭使用資源時,可能產(chǎn)生下述情況:每個進程要求的資源都已被另一進程占用,于是也就沒有一個進程能繼續(xù)運行。這種情況稱為死鎖。
     3.信號量與P,V操作
     用順序程序設(shè)計技術(shù)處理同步與互斥是十分困難的,為此引入信號量概念:信號量是一種特殊的變量,它的表現(xiàn)形式是一個整型變量及相應(yīng)的隊列:除了設(shè)置初值外,對信號量只能施加特殊的操作:P操作和V操作,P操作和V操作都是不可分割的原子運行,也稱為原語(有時分別記為down()和up()或wait()和signal())。P操作的作用是將信號量S的值減1,若S的值成負數(shù),則調(diào)用P操作的進程暫停執(zhí)行,直到另一個進程對同一信號量作V操作。V操作的作用是將信號量S的值加1,若S的值小于等于0,從相應(yīng)隊列(關(guān)于S的隊列)中選一個進程,喚醒它。
     (1)互斥為了保護共享資源(如公共變量等),使它們不被多個進程同時訪問,就要阻止這些進程同時執(zhí)行訪問這些資源的代碼段,這些代碼段稱為臨界區(qū),這些資源稱為臨界資源。對臨界資源訪問的互斥要求可視作執(zhí)行臨界區(qū)的互斥要求。利用信號量可以方便地實現(xiàn)互斥臨界區(qū)的管理要求。例如,令信號量mutex的初值為1,于是臨界區(qū)就改寫成下列形式的代碼段。P(mutex);臨界區(qū)V(mutex);由于mutex初值為1,P、V是原子操作,確實可以實現(xiàn)互斥。
     (2)同步最簡單的同步形式是:進程A在另一個進程B已到達點L2以前,不應(yīng)前進到超過點L1。對此,可以令信號量proceed初值為0,實現(xiàn)這種同步的程序形式是: 進程A L1:P(proceed); … …進程B L2:V(proceed); … …更復雜一點的同步問題是單緩沖的生產(chǎn)者、消費者問題。
     4.高級通信原語
     P、V操作是用來協(xié)調(diào)進程間關(guān)系的,編程較困難而且沒有信息交換,故常稱為低級通信原語。此外,P、V操作必須有共享存儲器,而高級通信原語則提供兩種通信方式:有緩沖區(qū)的通信和無緩沖區(qū)的通信。
     (1)有緩沖區(qū)的通信方式中,有原語:
     Write(Buffer_Name,Variable) 等緩沖區(qū)空再存入
     Read(Buffer_Name,Variable) 等緩沖區(qū)滿再取出
     (2)無緩沖區(qū)的通信,又稱為消息傳遞,有原語:
     Send(Who,Message) 發(fā)送消息給指定進程或一組進程
     Receive(Who,Message) 從約定進程接收消息有的系統(tǒng)還提供帶標記的發(fā)送,有Send(Who,Message,Tag)用Tag可指定發(fā)送進程是否要等待接收進程取到內(nèi)容以后再繼續(xù)運行。一般接收者總是要等待消息到達后才繼續(xù)運行。