命題要點(diǎn)
操作系統(tǒng)的基本概念:操作系統(tǒng)的功能及分類(批處理、分時(shí)、實(shí)時(shí)、網(wǎng)絡(luò)、分布式、嵌入式)、多道程序、內(nèi)核和中斷控制、進(jìn)程和線程。
處理機(jī)管理:進(jìn)程的狀態(tài)及轉(zhuǎn)換、進(jìn)程調(diào)度算法(分時(shí)輪轉(zhuǎn)、優(yōu)先級、抱占〕、死鎖。
存儲管理:分段與分頁、虛擬存儲器、頁面置換算法。
設(shè)備管理:DMA與緩沖技術(shù)、Spooling系統(tǒng)。
文件管理:文件目錄、存取方法和存取控制、文件的安全。
作業(yè)管理:作業(yè)調(diào)度算法〔先來先服務(wù)、短作北優(yōu)先、高響應(yīng)比優(yōu)先。
提示:
本章不是重點(diǎn)內(nèi)容,在歷年真題中分值所占比例不高,一般2分左右。
操作系統(tǒng)中的進(jìn)程狀態(tài)及轉(zhuǎn)換、死鎖、存儲管理方案、文件管理要重點(diǎn)掌握。
【考點(diǎn)2.1】操作系統(tǒng)的基本概念
計(jì)算機(jī)系統(tǒng)中的軟件通常可以分為系統(tǒng)軟件和應(yīng)用軟件。應(yīng)用軟件是指為某一專門的應(yīng)用目 的而開發(fā)的軟件。系統(tǒng)軟件是計(jì)算機(jī)系統(tǒng)的一部分,由它支持應(yīng)用軟件的運(yùn)行,并為用戶開發(fā)應(yīng)用系統(tǒng)提供了一個平臺。常用的系統(tǒng)軟件有操作系統(tǒng)、語言處理程序、連接程序、診斷程序、數(shù)據(jù)庫 管理系統(tǒng)等,操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的核心軟件,其他軟件均建立在操作系統(tǒng)的基礎(chǔ)上,并在操作系統(tǒng)的統(tǒng)一管理和支持下運(yùn)行。
一、操作系統(tǒng)的定義
操作系統(tǒng)Operating Sytem,OS)是計(jì)算機(jī)系統(tǒng)中的一個系統(tǒng)軟件,它能有效地組織和管理系統(tǒng)中的各種硬件和軟件資源,合理地―計(jì)算系統(tǒng)工作流程,控制程序的執(zhí)行,并向用戶提供一個良好的工作環(huán)境和友好的接口。
操作系統(tǒng)的兩個重要作用是資源管理和提供用戶界面。
通過資源管理,提高計(jì)算機(jī)系統(tǒng)的鈇率。
改善人機(jī)界面,為用戶提供友好的工作環(huán)境。
二、操作系統(tǒng)的特征
操作系統(tǒng)主要有并發(fā)性(concurrency)、共享性(sharing)虛擬性(virtual)和不確定性 (non-determinacy)等4個基本特征。
(1)并發(fā)性:是指在計(jì)算機(jī)系統(tǒng)中存在著許多同時(shí)進(jìn)行的活動。對計(jì)算機(jī)系統(tǒng)而言,并發(fā)是指宏觀上看系統(tǒng)內(nèi)有多道程序同時(shí)運(yùn)行,而微觀上實(shí)際是串行運(yùn)行。
(2)共享性:是指系統(tǒng)中各個并發(fā)活動要共享計(jì)算機(jī)系統(tǒng)中的各種軟、硬件資源,因此操作 系統(tǒng)必須解決在多道程序間合理地分配和使用資源問題。
(3)虛擬性:是操作系統(tǒng)中的重要特征,它是指把物理上的一臺設(shè)備變成邏輯上的多臺設(shè)備。
(4)不確定性:通常一個程序的初始條件相同時(shí),無論何時(shí)運(yùn)行,結(jié)果都應(yīng)該相同。但由于操作系統(tǒng)并發(fā)執(zhí)行系統(tǒng)內(nèi)的各種進(jìn)程,與這些進(jìn)程有關(guān)的事件如:從外部設(shè)備來的中斷、輸入輸出 請求、各種運(yùn)行故障等,發(fā)生的時(shí)間都不可預(yù)測,如果處理不當(dāng),將導(dǎo)致系統(tǒng)出錯,這種不確定性 所帶來的錯誤是很難查找的。
三、操作系統(tǒng)的功能
(1)進(jìn)程管理:包括進(jìn)程控制、進(jìn)程通信和進(jìn)程調(diào)度。
(2)存儲管理:包括存儲分配和回收、存儲保護(hù)、地址映射和主存擴(kuò)充。
(3)設(shè)備管理:包括對輸入輸出設(shè)備的分配、啟動、完成和回收。
(4)文件管理:包括文件存儲空間管理、目錄管理、文件的讀寫管理和存取控制。
(5)作業(yè)管理:包括任務(wù)、界面管理、人機(jī)交互、圖形界面、語音控制和虛擬現(xiàn)實(shí)等。
四、操作系統(tǒng)的分類
根據(jù)操作系統(tǒng)的使用環(huán)境和對作業(yè)的處理方式來劃分,操作系統(tǒng)的基本類型有:批處理操作系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)、微機(jī)操作系統(tǒng)、嵌入式操作系統(tǒng)。
【考點(diǎn)2.2】 處理機(jī)管理
―、進(jìn)程的基本概念
進(jìn)程是一個程序在一個數(shù)裾集合上的一次執(zhí)行,是操作系統(tǒng)中可以并行工作的墓本單也 是核心調(diào)度及資源分配的最小單位,它由程序、數(shù)據(jù)、進(jìn)程控制塊PCB組成。進(jìn)程與程序的重賽區(qū) 別之一是:進(jìn)程是有狀態(tài)的,而程序沒有,程序是靜態(tài)的。
進(jìn)程的基本特征有:動態(tài)性、并發(fā)性、獨(dú)立性、異步性、結(jié)構(gòu)特征。
傳統(tǒng)上,每個進(jìn)程在任何時(shí)刻總是處予三種基本狀態(tài)X即運(yùn)行、就緒、阻塞)的某一種基本 狀態(tài)。在不少系統(tǒng)中,還增加了兩種基本狀態(tài):
新建態(tài)、終止態(tài)。狀態(tài)之間轉(zhuǎn)換如圖2-1所示。
或等待的事件冥生 圖2-1進(jìn)程狀態(tài)轉(zhuǎn)換圖
二、線程
在SMP系統(tǒng)中,操作系統(tǒng)還提供了線程機(jī)制。
線程是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位I它是處理器分配的最小單位。
進(jìn)程是資源分配的基本單位,而線程與資源 分配無關(guān),它屬于某一個進(jìn)程,并與進(jìn)程內(nèi)的其他線程一起共享進(jìn)程的資源。線程也有就緒、阻塞 和執(zhí)行三種基本狀態(tài)。
三、進(jìn)程間通信
1.同步與互斥
(1)進(jìn)程闖的同步
一個港程相對于另一個進(jìn)程的運(yùn)行速度是不確定的,也就是說進(jìn)程是在異步環(huán)境下運(yùn)行的。 每個進(jìn)程都以各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。但相互合作的進(jìn)程需要在某些確定點(diǎn)上協(xié)調(diào)它們的工作,當(dāng)一個進(jìn)程到達(dá)了這些點(diǎn)后,除非另一進(jìn)程已經(jīng)完成了某些操作,否則就不得不停下來等待這些操作結(jié)束。
(2)進(jìn)程間的互斥
在多道程序系統(tǒng)中,各進(jìn)程可以共享各類資源,但有些資源一次只能供一個進(jìn)程使用,稱為臨界資源(critical resource,CR)例如打印機(jī)、公共變量和表格等。同步是進(jìn)程間的直接制約問題,互斥是進(jìn)程間的間接制約問題。
臨界區(qū)是進(jìn)程中對臨界資源實(shí)施操作的那段程序,對互斥臨界區(qū)管理的原則是:
有空即進(jìn):無進(jìn)程處于臨界區(qū)時(shí),允許進(jìn)程進(jìn)入臨界區(qū),并且只能在臨界區(qū)運(yùn)行有限的時(shí)間。
無空則等。臨界區(qū)中有進(jìn)程時(shí),其他欲進(jìn)入臨界區(qū)的進(jìn)程必須等待,以保證進(jìn)程互斥地訪問臨界資源。
有限等待:對要求訪問臨界資源的進(jìn)程,應(yīng)保證進(jìn)程能在有限時(shí)間進(jìn)入臨界區(qū),以免陷入“饑餓”狀態(tài)。
讓權(quán)等待。當(dāng)進(jìn)程不能進(jìn)入自己的臨界區(qū)時(shí),應(yīng)立即釋放處理機(jī)。
2.信號量機(jī)制
信號量是一種解決進(jìn)程同步與互斥的工具,主要有整型信號量、記錄型信號量、信號量集機(jī) 制。最常用的信號量是整型變量。
信號量可分為兩類:一類是公用信號量,用于實(shí)現(xiàn)進(jìn)程間的互斥,初值等于1或資源的數(shù)目。 另一類是私用信號量,用于實(shí)現(xiàn)進(jìn)程間的同步,初值=0或某個正整數(shù)。信號量S的物理意義是:當(dāng) S≥0時(shí),奉示某資源的可用數(shù);當(dāng)S<0時(shí),其絕對值表示阻塞隊(duì)列中等待該資源的進(jìn)程數(shù)。
3.P、V操作
PV操作是實(shí)現(xiàn)進(jìn)程同步與互斥的常用方法,PV操作是低級通信原語,在執(zhí)行期間不可分割。 其中,P操作表示申請一個資源,V操作表示釋放一個資源。
P操作定義:S:=S-1,若S≥0,則執(zhí)行P操作的進(jìn)程繼續(xù)執(zhí)行;否則,若S<0,則置該進(jìn)程為阻塞狀態(tài)(因?yàn)闊o可用資源),并將其插入阻塞隊(duì)列。
V操作定義:S:=S+1,若S>0,則執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行;否則,若S≤0,則從阻塞狀態(tài)喚醒一個進(jìn)程,并將其插入就緒隊(duì)列,執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行。
利用PV操作實(shí)現(xiàn)進(jìn)程互斥的方法:令信號量mutex的初值為1,當(dāng)進(jìn)程進(jìn)入臨界區(qū)時(shí)執(zhí)行P操作,退出臨界區(qū)時(shí)執(zhí)行V操作。
利用PV操作實(shí)現(xiàn)進(jìn)程同步的方法:用一個信號量與消息聯(lián)系起來。當(dāng)信號量的值為“0”時(shí)表示希望的消息未產(chǎn)生,當(dāng)信號量的值為非“0”時(shí)表示希望的消息己經(jīng)存在。假定用信號量S表示某條消息,進(jìn)程可以通過調(diào)用P操作測試消息是否到達(dá),調(diào)用V操作通知消息已準(zhǔn)備好。最典型的就是單緩沖區(qū)的生產(chǎn)者和消費(fèi)者的同步問題。
四、進(jìn)程調(diào)度算法
(1)先來先服務(wù)調(diào)度算法:按進(jìn)程進(jìn)入就緒隊(duì)的先后次序選擇可以占用處理器的進(jìn)程。
(2)優(yōu)先數(shù)調(diào)度算法:對每個進(jìn)程確定一個優(yōu)先數(shù),進(jìn)程調(diào)度總是讓具有最高優(yōu)先數(shù)的進(jìn)程 先使用處理器。如果進(jìn)程具有相同的優(yōu)先數(shù),則對這些有相同優(yōu)先數(shù)的進(jìn)程再按先來先服務(wù)的次序分配處理器。
(3)時(shí)間片輪轉(zhuǎn)調(diào)度算法:把規(guī)定進(jìn)程一次使用處理器的最長時(shí)間稱為“時(shí)間片”。讓就緒進(jìn)程按就緒的先后次序排成隊(duì)列,每次總是選擇就緒隊(duì)列中的第一個進(jìn)程占用處理器,但規(guī)定只能使用一個“時(shí)間片”。如果一個時(shí)間片用完,進(jìn)程工作尚未結(jié)束,則它也必須讓出處理器給其他進(jìn) 程使用,自己被重新排到就緒隊(duì)列的末尾,等待再次運(yùn)行。時(shí)間片輪轉(zhuǎn)調(diào)度算法經(jīng)常用在分時(shí)操作系統(tǒng)中。
(4)分級調(diào)度算法:由系統(tǒng)設(shè)置多個就緒隊(duì)列,每個就緒隊(duì)列中的進(jìn)程按時(shí)間片輪轉(zhuǎn)法占用 處理器。
五、死鎖
1.產(chǎn)生死鎖的原因
若系統(tǒng)中存在一組進(jìn)程,它們中的每個進(jìn)程都占用了某種資源,而又都在等待其中另一個進(jìn) 程所占用的資源,這種等待永遠(yuǎn)不能結(jié)束,則說明系統(tǒng)出現(xiàn)了死鎖。只要下面4個條件中有一個不具備,系統(tǒng)就不會出現(xiàn)死鎖。
(1)互斥條件:某個資源在一段時(shí)間內(nèi)只能由一個進(jìn)程占有,不能同時(shí)被兩個或兩個以上的進(jìn)程占有。
(2)不可搶占條件。進(jìn)程所獲得的資源在未使用完畢之前,資源申請者不能強(qiáng)行地從資嬋占 有者手中奪取資源,而只能由該資源的占有者進(jìn)程自行釋放。
(3)占有且申請條件。進(jìn)程至少己經(jīng)占有一個資源,但又申請新的資源;由于該資源巳被另 外進(jìn)程占有,此時(shí)該進(jìn)程阻塞;但是,它在等待新資源之時(shí),仍繼續(xù)占用已占有的資源。(注:也稱為保持與等待條件。)
(4)循環(huán)等待條件。存在一組進(jìn)程等待序列{P1,P2,…,Pn},其中P1等待P2所占有的某一資源,P2等待P3所占有的某一資源,……,而Pn等待P1所占有的某一資源,形成一個進(jìn)程循環(huán)等待環(huán)。
2.死鎖的預(yù)防方法
①打破互斥條件;
②打破不可搶占條件;
③打破占有且申請條件。
【試題2-1】2013年5月真題10
假設(shè)某分時(shí)系統(tǒng)采用簡單時(shí)間片輪轉(zhuǎn),當(dāng)系統(tǒng)中的用戶數(shù)為n,時(shí)間片為q時(shí),系統(tǒng)對每個用戶的響應(yīng)時(shí)間T為(1)。
A.n B.q C.n * q D.n+q
解析:采用簡單時(shí)間片輪轉(zhuǎn)發(fā),當(dāng)系統(tǒng)中的用戶數(shù)為n,時(shí)間片為q時(shí),系統(tǒng)對每個用戶的響應(yīng)時(shí)間T為n*q【答案:(10)C】
【試題2-2】 2012年11月真題9
某企業(yè)有生產(chǎn)部和銷售部,生產(chǎn)部負(fù)責(zé)生產(chǎn)產(chǎn)品并送入倉庫,銷售部從倉庫取出產(chǎn)品銷售。假設(shè)倉庫可存放n件產(chǎn)品。利用PV操作實(shí)現(xiàn)他們之間的同步過程,如圖2-2所示。
圖中信號量S1和S2為同步信號量,初值分別為n和0;s是一個互斥信號量,初值為(9)。
A.D B.1 C.n D.-1
解析:信號量可分為兩類:一類是公用信號量,用于實(shí)現(xiàn)進(jìn)程間的互斥,初值等于1或資源的數(shù)目;另 一類是私用信號量,用于實(shí)現(xiàn)進(jìn)程間的同步,初值等于0或某個正整數(shù)。
【答案:(9)B】
【試題2-3】 2010年5月真題6
若在系統(tǒng)中有若干個互斥資源R,6個并發(fā)進(jìn)程,每個進(jìn)程都需要2個資源R,那么使系統(tǒng)不發(fā)生死鎖的資源R的最少數(shù)目為(6)。
A. 6 B.7 C. 9 D.12
解析:在極端情況下,假設(shè)6個并發(fā)進(jìn)程都獲得了一個資源。要避免死鎖,則至少需要再增加一個資源。【答案:(6)B】
【試題2-4】 2010年11月真題9
假設(shè)系統(tǒng)中進(jìn)程的三態(tài)模型如圖2-3所示,圖中的a、b和c的狀態(tài)分別為(9)。
A.就緒、運(yùn)行、阻塞 B.運(yùn)行、阻塞、就緒
C.就緒、阻塞、運(yùn)行 D.阻塞、就緒、運(yùn)行
解析:在三態(tài)模型中,進(jìn)程有運(yùn)行、就緒和阻塞三種基本狀態(tài)。一個進(jìn)程正在等待某一事件而暫時(shí)停止,該進(jìn)程處于阻塞狀態(tài)。等待的事件發(fā)生時(shí),阻塞狀態(tài)的進(jìn)程被喚醒并轉(zhuǎn)換為就緒狀態(tài)。進(jìn)程由就緒態(tài) 到運(yùn)行狀態(tài)是由調(diào)度程序的調(diào)度引起的,當(dāng)進(jìn)程的時(shí)間片用完后進(jìn)入就緒狀態(tài),等待下一次的調(diào)度。【答案:(9)A】
【考點(diǎn)2.3】
一、基本概念
1.絕對地址和邏輯地址
絕對地址:主存儲器以字節(jié)為編址單位,每個字節(jié)都有一個地址與其對應(yīng)。這些地址成為主存儲器的“絕對地址”,由絕對地址對應(yīng)的主存儲空間稱為“物理地址空間”。
邏輯地址:用戶程序中使用的地址稱為“邏輯地址”,由邏輯地址對應(yīng)的存銬窆同贊導(dǎo)“邏 輯地址空間”。邏輯地址從0開始編址。
2.地址重定位
將程序地址空間中使用的邏輯地址變換成主存中的地址的過程稱為地址重定位。重定位分為靜態(tài)重定位和動態(tài)重定位。
靜態(tài)重定位:在作業(yè)程序鏈接裝入過程中隨即進(jìn)行的地址變換方式稱為靜態(tài)重定位或靜態(tài)地址映射。
動態(tài)重定位:指在程序執(zhí)行期間,隨著每條指令和數(shù)據(jù)的訪問自動連續(xù)地進(jìn)行映射。
二、分頁存儲管理
1.分頁原理
將一個進(jìn)程的地址空間劃分成若干大小相等的區(qū)域稱為頁。相應(yīng)地,將主存空間劃分成與頁相同大小的若干物理塊,稱為塊或頁框架。在為進(jìn)程分配主存時(shí),將進(jìn)程中若干頁分別裝入多個不鄰接的塊中。
2.地址結(jié)構(gòu)
地址結(jié)構(gòu)由兩部分組成:前一部分為頁號P;后一部分為偏移量W,即頁內(nèi)地址。圖2-4中的地址長度為32位,其中0?11位為頁內(nèi)地址(每頁的大小為4KB),12?31位為頁號,所以允許地址空間的大小最多為1MB個頁。
3.地址變換
系統(tǒng)為每個進(jìn)程建立了一張頁面映射表,簡稱頁表,如圖2-5所示。 第個頁表中占一個表項(xiàng),記錄該頁在內(nèi)存中對應(yīng)的物理塊號。進(jìn)程在執(zhí)行時(shí),通過查找頁表,物理塊號。可見,頁表的作用是實(shí)現(xiàn)從頁號到物理塊號的地址映射。
三、分段存儲管理
1.分段基本原理
作業(yè)的地址空間被劃分為若干段,每個段定義了一組邏輯信息。每個段都有自己的名字,都是從零開始編址的一段連續(xù)的地址空間,段的長度由相應(yīng)邏輯信息組的長度決定,因而各段長度不等,整 傘作業(yè)的地址空間是二維的。分段系統(tǒng)中地址結(jié)構(gòu)如圖2-6所示,其邏輯地址由段號(名)和段內(nèi)地址兩部分組成,在該地址結(jié)構(gòu)中,允許一個作業(yè)最多能有256個段,每個段的最大長度為64K。
2.地址變換機(jī)構(gòu)
在分段式存儲管理系統(tǒng)中,為每個段分配一個連續(xù)的分區(qū),而進(jìn)程中的各個段可以離散地分配到內(nèi)存中不同的分區(qū)中。在系統(tǒng)中為每個進(jìn)程建立一張段映射表廠簡稱為“段表”,如圖2-7所示。進(jìn)程在執(zhí)行中,通過查段表來找到每個段所對應(yīng)的內(nèi)存區(qū)。所以說,段表實(shí)現(xiàn)了從邏輯段到物理內(nèi)存區(qū)的映射。
3.分頁和分段的主要區(qū)別
分頁對用戶是不透明的,分段對用戶是透明的。頁是信息的物理單位,分頁僅僅是由于系統(tǒng)管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組具有相對完整意義的信息,是出于用戶的需要。
分段的大小任意,分頁固定。分頁的長度固定,分頁系統(tǒng)把邏輯地址劃分為頁號和頁內(nèi)地 址兩部分的功能,由機(jī)器硬件實(shí)現(xiàn);而段的長度卻不固定,由用戶在編程時(shí)確定,或由編譯程序在對源程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來劃分。
分頁地址空間是一維的,而分段是二維的。分段存儲管理有利于模塊的動態(tài)鏈接、裝入和分段共享。
四、虛擬存儲管理
1.局部性原理
它是虛擬存儲技術(shù)的理論基礎(chǔ),是指程序的執(zhí)行往往呈現(xiàn)出高度的局限性,即程序執(zhí)時(shí)往往 會不均勻地訪問內(nèi)存儲器。程序的局限性表現(xiàn)為以下幾個方面。
時(shí)間局部性:若一條指令被執(zhí)行,則在不久的將來,它可能再被執(zhí)行。
空間局部性:一旦一個存儲單元被訪問,那它附近的單元也將很快被訪問。
2.虛擬存儲器的定義
利用大容量的外存(通常是高速硬盤)來擴(kuò)充內(nèi)存,產(chǎn)生一個比有限的實(shí)際內(nèi)存空間大得多的、邏輯的虛擬內(nèi)存空間,以便能夠有效地支持多道程序系統(tǒng)的實(shí)現(xiàn)和大型作業(yè)運(yùn)行的需要,從而 增強(qiáng)系統(tǒng)的處理能力。當(dāng)進(jìn)程要求運(yùn)行時(shí),不是將它的全部信息裝入內(nèi)存,而是將其一部分先裝入 內(nèi)存,另一部分暫時(shí)留在外存。進(jìn)程在運(yùn)行過程中,要使用的信息不在內(nèi)存時(shí),發(fā)生中斷,由操作系統(tǒng)將它們調(diào)入內(nèi)存,以保證進(jìn)程的正常運(yùn)行。從用戶角度看,該系統(tǒng)所具有的主存容量,將比實(shí)際主存容量大得多,人們把這樣的存儲器稱為虛擬存儲器。
虛擬存儲器不僅是解決主存容量和存取速度矛盾的一種方法,而且也是管理存儲設(shè)備的有效方法。
3.虛擬存儲器的實(shí)現(xiàn)
在分頁系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)頁功能和頁面置換功能所形成的頁式虛擬存儲系統(tǒng),即請求分頁系統(tǒng)。請求分頁機(jī)制是在純分頁的頁表機(jī)制上形成的,由于只將應(yīng)用程序的一部分調(diào)入主存,還有一部分仍在磁盤上,故需在頁表中再增加若干項(xiàng),如狀態(tài)位、訪問字段、輔存地址等供程序(數(shù)據(jù))在換進(jìn)、換出時(shí)引用。在請求分頁系統(tǒng)中,每當(dāng)所要訪問的頁面不在主存時(shí),便要產(chǎn)生一個缺頁中斷, 請求操作系統(tǒng)將所缺頁調(diào)入主存。與一般中斷的主要區(qū)別在于:缺頁中斷在指令執(zhí)行期間產(chǎn)生和處理 中斷信號,而一般中斷在一條指令執(zhí)行完后檢查和處理中斷信號。缺頁中斷返回到該指令的開始重新 執(zhí)行該指令,而一般中斷返回到該指令的下一條指令執(zhí)行。
在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段和分段置換功能所形成的段式虛擬存儲系統(tǒng),即請求分段系統(tǒng)。
4.替換算法
(1)最佳置換算法OPT
OPT是一種理論化的算法。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在最長時(shí)間內(nèi)不再訪問的頁。這樣,淘汰掉的頁將不會造成因需要訪問該頁而又需要把它調(diào)入的現(xiàn)象。這種最佳策略本身不是一種實(shí)際的方法,它的理論價(jià)值在于:用OPT算法的缺頁率去評價(jià)其他算法的優(yōu)劣。
(2)先進(jìn)先出算法FIFO
FIFO總是選擇作業(yè)中在主存駐留時(shí)間最長(即最老)的一頁淘汰,即先進(jìn)入主存的頁先退出 主存。其理由是,最早調(diào)入主存的頁,其不再被使用的可能性比最近調(diào)入主存的頁要大。
(3)最近最久未使用置換算法LUR
LUR選擇在最近一段時(shí)間內(nèi)最久不用的頁予以淘汰。這是最常用的頁面置換算法。^
(4)最近未用置換算法NRU
NRU是將最近一段時(shí)間未弓丨用過的頁面換出,它是一種011:的近似算法。
【考點(diǎn)2.4】設(shè)備管理
―、設(shè)備分類
(1)按工作特性分類
存儲設(shè)備:輔助存儲器,用來存儲信息的設(shè)備。在物理上往往是按字符塊組織的,因此也稱塊設(shè)備。
輸入/輸出設(shè)備:輸入設(shè)備計(jì)算機(jī)用來接收來自外部世界信息的設(shè)備,如鍵盤、卡片輸入 機(jī)等。輸出設(shè)備是將計(jì)算機(jī)加工處理好的信息送向外部世界的設(shè)備,例如屏幕、打印機(jī)、卡片輸出機(jī)等。由于輸入/輸出設(shè)備上的信息往往是以字符為單位組織的,所以也稱字符設(shè)備。
(2)按使用性質(zhì)分類
獨(dú)占設(shè)備:在一段時(shí)詞內(nèi),該設(shè)備只允許一個進(jìn)程獨(dú)占,如行式打印機(jī)、讀卡機(jī)、磁帶機(jī)。
共享設(shè)備:可由若干個進(jìn)程同時(shí)共享的設(shè)備,例如磁盤機(jī)。
虛擬設(shè)備:利用某種養(yǎng)術(shù)耙獨(dú)占設(shè)備改造成可由多:個進(jìn)程共享的設(shè)備。
(3)按數(shù)據(jù)傳輸率分類 :
低速設(shè)備:指傳輸速率為每秒鐘凡個字節(jié)到數(shù)頁個字節(jié)的設(shè)備。典型的設(shè)備有鍵盤、鼠標(biāo)、 語音的輸入等。
中速設(shè)備:指傳輸速率在每秒鐘數(shù)千字節(jié)至數(shù)萬字節(jié)的設(shè)備。典型的設(shè)備有行式打印機(jī)、 激光打印機(jī)等。
高速設(shè)備:指傳輸速率在數(shù)十萬個字節(jié)至數(shù)兆字節(jié)的設(shè)備。典型的設(shè)備有磁帶機(jī)、磁盤機(jī)、 光盤機(jī)等。
二、DMA與緩沖技術(shù)
1. DMA技術(shù)
DMA(Directed Memory Access)的基本思想是:在外圍設(shè)備和主存之間開辟直接的數(shù)據(jù)交換通路。在內(nèi)存與輸入輸出設(shè)備間傳送一個數(shù)據(jù)塊的過程中,不需要CPU的任何干涉,只需要CPU在過程開始啟動與過程結(jié)束時(shí)的處理,實(shí)際操作由DMA硬件直接執(zhí)行完成。
2.緩沖技術(shù)
引入緩沖技術(shù)的目的是:緩和CPU和I/O設(shè)備間速度不匹配的矛盾;提高它們之間的并行性;減少對CPU的中斷次數(shù),放寬CPU對中斷響應(yīng)時(shí)間的要求。
緩沖技術(shù)可以采用硬件緩沖和軟件緩沖兩種。硬袢緩沖是利用專門的硬件寄存器作為緩沖區(qū);軟件緩沖是利用操作系統(tǒng)的管理,用主存中的一個或多個區(qū)域作為緩沖區(qū),進(jìn)而可以形成緩沖池。
三、Spooling系統(tǒng)
(1) Spooling技術(shù):用一類物理設(shè)備模擬另一類物理設(shè)備的技術(shù),可以將低速的獨(dú)占設(shè)備改造 成一種可共享的設(shè)備,而且一臺物理設(shè)備可以對應(yīng)若干臺虛擬的同類設(shè)備。Spooling系統(tǒng)的引入緩和CPU與設(shè)備速度的不均勻性,提高了CPU與設(shè)備的并行程度。
(2) Spooling系統(tǒng)的組成:“預(yù)輸入程序”、緩輸出程序”和“井管理程序”以及輸入和輸出井,如圖2-8所示。
(3)Spooling系統(tǒng)的工作過程:Spooling系統(tǒng)將一個作業(yè)從進(jìn)入系統(tǒng)到完成后撤離系統(tǒng)的全過程,劃分成輸入、處理和輸出3個并發(fā)執(zhí)行的過程。當(dāng)用戶作業(yè)要進(jìn)入系統(tǒng)時(shí),由Spooling系統(tǒng)的預(yù)輸入程序?qū)⒆鳂I(yè)信息從物理輸入設(shè)備上送到磁盤上指定區(qū)域(稱為輸入井〕。輸入井中的作業(yè)有4種狀態(tài):
輸入狀態(tài)。作業(yè)的信息正從輸入設(shè)備上預(yù)輸入。
收容狀態(tài)。作業(yè)預(yù)輸入結(jié)束但未被選中執(zhí)
執(zhí)行狀態(tài)。作業(yè)已被選中運(yùn)行過程中,它可從輸入井中讀取數(shù)據(jù)信息,也可向輸出井寫信息。
完成狀態(tài)。作業(yè)已經(jīng)撤離,該作業(yè)的執(zhí)行結(jié)果等待緩輸出。
【考點(diǎn)2.5】文件管理
一、文件和文件系統(tǒng)
文件是信息的一種組織形式,是存儲在輔助存儲器上的具有標(biāo)識名的一組集合。操系統(tǒng)中 由文件系統(tǒng)來管理文件的存儲、檢索、更新、共享和保護(hù)。文件系統(tǒng)包括兩方面:一方面是負(fù)責(zé)管理文件的一組系統(tǒng)軟件,另一方面是文件本身。
二、文件類型
根據(jù)文件的性質(zhì)和用途,文件有多種分類方法:
按文件的用途,可以分為系統(tǒng)文件、’庫文件和'用戶文件等。
按信息保存期限分為臨時(shí)文件、檔案文件和永久文件。
UNIX系統(tǒng)將支件分為普遍文件、目錄文件和設(shè)備文件(特殊文件)等。
按文件的保護(hù)方式可分為只讀文件、讀寫文件、可執(zhí)行文件和不保護(hù)文件等。
目前常用的文件系統(tǒng)類型有:FAT、VFAT、NTFS、Ext2、HPFS等。
三、文件的結(jié)構(gòu)
文件的結(jié)構(gòu)是指文件的組織形式,從用戶觀點(diǎn)所看到的文件組織形式,稱為文件的邏輯結(jié)構(gòu);從實(shí)現(xiàn)觀點(diǎn)考查文件在輔助存儲器上的存放方式,常稱為文件的物理結(jié)構(gòu)。
(1)邏輯結(jié)構(gòu)分為兩種:無結(jié)構(gòu)的字符流文件和有結(jié)構(gòu)的記錄文件。記錄文件由記錄組成, 即文件內(nèi)的信息劃分成多個記錄,以記錄為單位組織和使用信息。記錄文件有順序文件、索引順序文件、索引文件和直接文件。
(2)物理結(jié)構(gòu)是文件在存儲設(shè)備上的存放方法。物理塊是分配和傳輸信息的基本單位。常用的文件物理結(jié)構(gòu)有:連續(xù)結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)。
四、文件目錄
文件控制塊的集合,通常文件目錄也被組織成文件,稱為目錄文件。文件系統(tǒng)一般采用一級目錄結(jié)構(gòu)、二級目錄結(jié)構(gòu)和多級目錄結(jié)構(gòu)。DOS、UNIX、WIN都是采用多級目錄結(jié)構(gòu)。
工作目錄也稱當(dāng)前目錄。在多級目錄結(jié)構(gòu)的文件系統(tǒng)中,文件的全路徑名可能較長,也會涉及多次磁盤訪問,為了提高效率,操作系統(tǒng)提供設(shè)置工作目錄的機(jī)制,每個用戶都有自己的工作目錄,任 一目錄節(jié)點(diǎn)都可以被設(shè)置為工作目錄。一旦某個目錄節(jié)點(diǎn)被設(shè)置成工作目錄,相應(yīng)的目錄文件有關(guān)內(nèi)容就會被調(diào)入主存,這樣,對以工作目錄為根的子樹內(nèi)任一文件的查找時(shí)間會縮短,從工作目錄出發(fā) 的文件路徑名稱為文件的相對路徑名。文件系統(tǒng)允許用戶隨時(shí)改變自己的工作目錄。
五、存取方法和存取控制
1.文件的存取方法
文件的存取方法是指讀寫文件存儲器上的一個物理塊的方法。通常有順序存取、隨機(jī)存取和按鍵存取等。
2.文件存儲空間的管理
文件存儲空間的管理實(shí)質(zhì)是對空閑塊的組織和管理問題,它包括空閑塊的組織、分配和回收等。常用的空間管理方法有位示圖、空閑塊表和空閑塊鏈3種。
(1)空閑塊表
將外存空間上一個連續(xù)未分配區(qū)域稱為“空閑區(qū)”。操作系統(tǒng)為磁盤外存上所有空閑區(qū)建立一張空閑表,每個表項(xiàng)對應(yīng)一個空閑區(qū),空閑表中包含序號、空閑區(qū)的第一塊號、空閑塊的塊數(shù)等信息。它適用于連續(xù)文件結(jié)構(gòu)。
(2)位示圖
在外存上建立一張位示圖(bitmap),記錄文件存儲器的使用情況。每一位對應(yīng)文件存儲器上的一個物理塊,取值0和1分別表示空閑和占用。文件存儲器上的物理塊依次編號為0,1,2,…, 假如系統(tǒng)中字長為32位,那么在位示圖中的第一個字對應(yīng)文件存儲器上的0,1,2’…,31號物理塊;第二個字對應(yīng)文件存儲器上的32,33,34,…,63號物理塊;以此類推。這種方法的主要特點(diǎn) 是位示圖的大小由磁盤耷間的大小(物理塊總數(shù)〉決定,位示圖的描述能力強(qiáng),適合各種物理結(jié)構(gòu)。
(3)空閑塊鏈
每個空閑物理塊中有指向下一個空閑物理塊的指針,所有空閑物理塊構(gòu)成一個鏈表,鏈表的頭指針放在文件存儲器的特定位置上(如管理塊中〉。
(4)成組鏈接法
在UNIX系統(tǒng)中,將空閑塊分成若干組,每100個空閑塊為一組,每組的第一個空閑塊登記了下一組空閑塊的物理盤塊號和空閑塊總數(shù),假如一個組的第一個空閑塊號等于0的話,意味著該組是最后一組,即無下一組空閑塊。
六、文件使用
一般文件系統(tǒng)提供一組專門用于文件、目錄的管理。如目錄管理、文件控制和文件存取等命令。
(1)目錄管理命令:如建立目錄、顯示工作目錄、改變目錄、刪除目錄(一般只可刪除空目錄)。
(2)文件控制命令:如建立文件、刪除文件、打開女件、關(guān)扇文件、改文件名、改變文件屬性。
(3)文件存取命令:如讀寫文件、顯示文件內(nèi)容、復(fù)制文梓等。
七、文件的共享和保護(hù)
1.文件的共享
文件共享是指不同的用戶使用同一文件。文件的共享可以采用文件的絕對路徑名(或相對路徑名)共享同一支件。、
2.文件的保護(hù)
保護(hù)是指避免文件擁有者或其他用戶有意或無意地使文件受到破壞。這兩個問題涉及用戶對 文件訪問權(quán)限,即文件的訪問控制。常見的文件訪問控制方式有訪問控制矩陣、訪問控制表、用戶權(quán)限表、口令和密碼。
3.文件的安全
文件的安全是指文件的保密和保護(hù),即限制未授權(quán)用戶使用或破壞文件。常常在系統(tǒng)級、用戶級、目錄級和文件級上實(shí)施。
系統(tǒng)級:用戶需注冊登記并配有口令,每次使用系統(tǒng)時(shí),都需要進(jìn)行登錄(login),然后輸入用戶口令(password)方能進(jìn)入系統(tǒng)。
用戶級:系統(tǒng)對用戶分類并限定各類用戶對目錄和文件的訪問權(quán)限。
目錄級:系統(tǒng)對目錄的操作權(quán)限作限定,如讀(R)、寫(W)、查找(X)等。
文件級:系統(tǒng)設(shè)置文件屬性來控制用戶對文件的訪問,如只讀(RO)、執(zhí)行(X)、讀寫 (RW)、共享(Sha)、隱藏(H)等。
對目錄和文件的訪問權(quán)限可以由建立者設(shè)置。除了限定訪問權(quán)限,還可以通過加密等方式進(jìn)行保護(hù)。
【試題2-5】 2012年11月真題8
設(shè)文件索引節(jié)點(diǎn)中有8個地址項(xiàng),每個地址項(xiàng)的大小為4字節(jié),其中5個地址項(xiàng)為直接地址索引,2個地址 項(xiàng)是一級間接地址索引,1個地址項(xiàng)是二級間接地址索引,磁盤索引塊和磁盤數(shù)據(jù)塊的大小均為1KB字節(jié)。若要訪問的文件邏輯塊號分別為5和518,則系統(tǒng)應(yīng)分別采用(8)。
A.直接地#索引和二級間接地址索引 B.直接地址索引和二級間接地址索引
C.一級間接地址索引和二級間接地址索引 D. —級間接地址索引和一級間接地址索引 【答案:(8) C】
【試題2-6】 2010年11月真題8
在操作系統(tǒng)文件管理中,通常采用 (8) 來組織和管理外存中的信息。
A.字處理程序 B.設(shè)備驅(qū)動程序 C.文件目錄 D.語言翻譯程序
解析:在操作系統(tǒng)中,由文件管理系統(tǒng)實(shí)現(xiàn);件的統(tǒng)一管理。文件系統(tǒng)采用按名存取,為了實(shí)現(xiàn)按名存取,系統(tǒng)采用文件目錄為每個文件設(shè)置用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu),對外存中的文件進(jìn)行組織和管理。 【答案:(8)C】
【考點(diǎn)2.6】作業(yè)管理
―、基本概念
作業(yè)是用戶在一次上機(jī)過程中,要求計(jì)算機(jī)所做的工作的集合。作業(yè)由程序、數(shù)據(jù)作業(yè)說明書3部分組成。其中作業(yè)說明書包括作業(yè)基本情況、作業(yè)控制、作業(yè)資源要求的描述,它體現(xiàn)用戶的控制意圖。
作業(yè)控制塊JCB是記錄該作業(yè)的有關(guān)信息。JCB是作業(yè)存在的唯一標(biāo)志,主要包括作業(yè)名、作業(yè)狀態(tài)、資源要求、作業(yè)控制方式、作業(yè)類型及作業(yè)優(yōu)先組。
二、作業(yè)狀態(tài)
作業(yè)的狀態(tài)分為4種:提交、后備、執(zhí)行和完成。
提交狀態(tài):用戶向系統(tǒng)提交一個作業(yè)時(shí),該作業(yè)所處的狀態(tài)。
后備狀態(tài):用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機(jī))送入輸入井(磁盤〉中存放,等待進(jìn)入內(nèi)存時(shí)所處的狀況。此時(shí),該作業(yè)的數(shù)據(jù)已轉(zhuǎn)換成內(nèi)部的機(jī)器可讀的形式,并且作業(yè)請求資源等信息也交給了操作系統(tǒng)。
執(zhí)行狀態(tài):作業(yè)分配到所需的資源,被調(diào)入內(nèi)存,并且在處理機(jī)(CPU)上執(zhí)行相應(yīng)的程序時(shí)所處的狀況。此時(shí)該作業(yè)真正處于活動狀況。
完成狀態(tài):作業(yè)完成了計(jì)算任務(wù),結(jié)果由打印機(jī)輸出,最后由系統(tǒng)回收分配給它的全部資源,準(zhǔn)備退出系統(tǒng)時(shí)的作業(yè)狀況。
作業(yè)的狀態(tài)及轉(zhuǎn)換如圖2-9所示。
圖2-9作業(yè)調(diào)度與進(jìn)程調(diào)度
三、作業(yè)調(diào)度算法
先來先服務(wù)(FCFS):最簡單的算法,它按照作業(yè)到達(dá)先后次序來挑選作業(yè),先進(jìn)入的作業(yè)優(yōu)先被挑選。
短作業(yè)優(yōu)先(SJF):作業(yè)的長短是以要求運(yùn)行的時(shí)間來衡量的。最短作業(yè)優(yōu)先算法總是 優(yōu)先調(diào)度要求運(yùn)行時(shí)間最短的作業(yè),把它作為下一次服務(wù)的對象。
響應(yīng)比高優(yōu)先(HRN):響應(yīng)比高的作業(yè)優(yōu)先啟動。定義響應(yīng)比為
其中,作業(yè)響應(yīng)時(shí)間為作業(yè)進(jìn)入系統(tǒng)后的等候時(shí)間與作業(yè)的執(zhí)行時(shí)間之和,因此
優(yōu)先級調(diào)度算法:為每個作業(yè)確定一個優(yōu)先數(shù),資源能滿足且優(yōu)先數(shù)高的作業(yè)優(yōu)先被選取, 當(dāng)幾個作業(yè)有相同優(yōu)先數(shù)時(shí),對這些具有相同優(yōu)先數(shù)的作業(yè)再按照先來先服務(wù)算法進(jìn)行調(diào)度。
均衡調(diào)度算法:根據(jù)作業(yè)對資溽的要求進(jìn)贊分類,從各類作業(yè)中去挑選,盡可能地使得使用不同資源的作業(yè)同時(shí)執(zhí)行。