系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通_第1頁
系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通_第2頁
系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通_第3頁
系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通_第4頁
系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、系統(tǒng)架構(gòu)設計師考試考點突破、案例分析、試題實戰(zhàn)一本通第 1 章 操作系統(tǒng)根據(jù)考試大綱,本章要求考生掌握以下幾個方面的知識點: 操作系統(tǒng)的類型和結(jié)構(gòu)。 操作系統(tǒng)基本原理。 網(wǎng)絡操作系統(tǒng)及網(wǎng)絡管理。1.1   考點突破從歷年的考試情況來看,本章主要考查操作系統(tǒng)的概念及特點、進程管理、存儲管理、文件管理。1.1.1   歷年考試情況分析在歷年的考試試題中,有關(guān)操作系統(tǒng)知識的試題如表1-1所示。表1-1  操作系統(tǒng)知識試題分布表按照知識點進行總結(jié)和歸類的試題分布情況如表1-

2、2所示。表1-2  操作系統(tǒng)知識歸類表從表1-2中可以看出,操作系統(tǒng)知識方面的內(nèi)容在歷年的考試中分值非常穩(wěn)定,一直穩(wěn)定維持在4分。所占分數(shù)比例的趨勢如圖1-1所示。圖1-1  操作系統(tǒng)知識歷年試題比例趨勢圖1.1.2   操作系統(tǒng)概論操作系統(tǒng)的定義、功能、類型和層次結(jié)構(gòu)是理解操作系統(tǒng)的工作機制的基礎,需要深入理解和掌握。1操作系統(tǒng)的定義任何一個計算機系統(tǒng)都是由兩個部分組成的:計算機硬件系統(tǒng)和計算機軟件系統(tǒng)。操作系統(tǒng)(Operating System,OS)是計算機系統(tǒng)中的核心系統(tǒng)軟件,負責管理和控制計算機系統(tǒng)中硬件和軟件資源,合理地組織計算機工

3、作流程和有效利用資源,在計算機與用戶之間起接口的作用,如圖1-2所示。圖1-2  操作系統(tǒng)與硬件/軟件的關(guān)系其中,其他系統(tǒng)軟件包含但不僅限于:語言處理程序、中間件。在計算機系統(tǒng)中引入操作系統(tǒng)的目的可以從4個方面來理解。(1)用戶觀點操作系統(tǒng)是用戶與計算機之間的接口。一方面,用戶可以透明地使用計算機軟/硬件資源;另一方面,操作系統(tǒng)提供了一些功能強大的系統(tǒng)調(diào)用,用戶軟件可以使用這些系統(tǒng)調(diào)用請求操作系統(tǒng)服務。(2)資源管理觀點操作系統(tǒng)是計算機資源的管理者,它管理和分配計算機系統(tǒng)硬件和軟件資源,合理地組織計算機的工作流程,使資源能為多個用戶共享,當用戶程序和其他程序爭用這些資源時,提供有序的

4、和可控的分配。(3)進程觀點操作系統(tǒng)由一個系統(tǒng)核心和若干并發(fā)運行的程序組成。這些運行的程序稱為“進程”,進程可以分為用戶進程和系統(tǒng)進程兩大類。每個進程完成特定的任務,系統(tǒng)核心則控制和協(xié)調(diào)這些進程的運行。(4)分層觀點操作系統(tǒng)通常采用分層結(jié)構(gòu)實現(xiàn),各層次的程序按照一定的結(jié)構(gòu)組織并協(xié)調(diào)工作。2操作系統(tǒng)的分類操作系統(tǒng)的基本類型有:批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網(wǎng)絡操作系統(tǒng)、分布式操作系統(tǒng)、嵌入式操作系統(tǒng)、微內(nèi)核操作系統(tǒng)。(1)批處理操作系統(tǒng)(Batch Processing Operating System)批處理操作系統(tǒng)也稱為作業(yè)處理系統(tǒng)。在批處理操作系統(tǒng)中,作業(yè)成批地裝入計算機中,

5、由操作系統(tǒng)在計算機的輸入并將其組織好,按一定的算法選擇其中的一個或多個作業(yè),將其調(diào)入內(nèi)存使其運行。運行結(jié)束后,把結(jié)果放入磁盤輸出井,由計算機統(tǒng)一輸出后交給用戶。批處理操作系統(tǒng)中配置了一個監(jiān)督程序,在該監(jiān)督程序控制下,系統(tǒng)能夠?qū)σ慌鳂I(yè)自動進行處理。其基本特征是“批量”,把作業(yè)的吞吐量作為主要目標,同時兼顧作業(yè)的周轉(zhuǎn)時間。批處理操作系統(tǒng)又分為單道批處理和多道批處理系統(tǒng)。單道批處理系統(tǒng)在內(nèi)存中只能存放一道作業(yè),大大減少了人工操作的時間,提高了機器的利用率。但是,對于某些作業(yè)來說,當它發(fā)出I/O請求后,CPU(Central Processing Unit,中央處理單元)必須等待I/O的完成,而由于

6、I/O設備的低速性,從而使CPU的利用率很低。為了改善CPU的利用率,引入了多道程序設計技術(shù),就形成了多道批處理操作系統(tǒng)。在多道批處理操作系統(tǒng)中,不僅在內(nèi)存中可同時有多道作業(yè)在運行,而且作業(yè)可隨時被調(diào)入系統(tǒng),并存放在外存中形成作業(yè)隊列。然后,由操作系統(tǒng)按一定的原則,從作業(yè)隊列中調(diào)入一個或多個作業(yè)進入內(nèi)存運行。多道批處理系統(tǒng)具有資源利用率高和系統(tǒng)吞吐量大的優(yōu)點,但它將用戶和計算機操作員分開,使用戶無法直接與自己的作業(yè)進行交互。另外,作業(yè)要進行排隊,依次處理,因此,作業(yè)的平均周轉(zhuǎn)時間較長。(2)分時操作系統(tǒng)(Time Share Operating System)為了解決批處理系統(tǒng)無法進行人機交互

7、的問題,并使多個用戶能同時通過自己的終端以交互方式使用計算機,共享主機中的資源,為此,系統(tǒng)中采用了分時技術(shù),即把CPU的時間劃分成很短的時間片,輪流地分配給各個終端作業(yè)使用。這種操作系統(tǒng)稱為分時操作系統(tǒng),簡稱分時系統(tǒng)。對于某個作業(yè)而言,若在分配給它的時間片內(nèi),作業(yè)沒有執(zhí)行完畢,也必須將CPU交給下一個作業(yè)使用,并等下一輪得到CPU時再繼續(xù)執(zhí)行。這樣,系統(tǒng)便能及時地響應每個用戶的請求,從而使每個用戶都能及時地與自己的作業(yè)交互。分時系統(tǒng)具有多路性、獨立性、及時性、交互性和同時性等特征。(3)實時操作系統(tǒng)(Real Time Operating System)實時操作系統(tǒng)是指當外界事件或數(shù)據(jù)產(chǎn)生時,

8、能夠接收并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應,并控制所有實時任務協(xié)調(diào)一致運行的操作系統(tǒng)。因而,提供及時響應和高可靠性是其主要特點。實時操作系統(tǒng)有硬實時和軟實時之分,硬實時要求在規(guī)定的時間內(nèi)必須完成操作,這是在操作系統(tǒng)設計時保證的;軟實時則只要按照任務的優(yōu)先級,盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實時操作系統(tǒng)。(4)網(wǎng)絡操作系統(tǒng)(Network Operating System)網(wǎng)絡操作系統(tǒng)是指在計算機網(wǎng)絡環(huán)境下,具有網(wǎng)絡功能的操作系統(tǒng)。計算機網(wǎng)絡是一個數(shù)據(jù)通信系統(tǒng),它把地理上分散的計算機和終端設備連

9、接起來,達到數(shù)據(jù)通信和資源共享的目的。網(wǎng)絡操作系統(tǒng)最主要的特點是網(wǎng)絡中各種資源的共享,以及各臺計算機之間的通信。有關(guān)數(shù)據(jù)通信與計算機網(wǎng)絡方面的詳細知識,將在第4章中介紹。(5)分布式操作系統(tǒng)(Distributed Operating System)分布式系統(tǒng)是由多臺計算機組成的系統(tǒng),系統(tǒng)中若干臺計算機可以相互合作,共同完成同一個任務。在分布式系統(tǒng)中,任意兩臺計算機之間都可以利用通信來交換信息,系統(tǒng)中的資源為所有用戶共享。分布式系統(tǒng)的優(yōu)點是各節(jié)點的自治性好、資源共享的透明性強、各節(jié)點具有協(xié)同性,其主要缺點是系統(tǒng)狀態(tài)不精確、控制機構(gòu)復雜、通信開銷會引起性能的下降。分布式操作系統(tǒng)是網(wǎng)絡操作系統(tǒng)的更

10、高級形式,它保持了網(wǎng)絡操作系統(tǒng)所擁有的全部功能,與網(wǎng)絡操作系統(tǒng)的主要區(qū)別在于任務的分布性,即把一個大任務分為若干個子任務,分派到不同的CPU上執(zhí)行。(6)嵌入式操作系統(tǒng)(Embedded Operation System)嵌入式操作系統(tǒng)運行在嵌入式智能芯片環(huán)境中,對整個智能芯片和它所操作、控制的各種部件裝置等資源進行統(tǒng)一協(xié)調(diào)、處理、指揮和控制。嵌入式操作系統(tǒng)具有微型化、可定制、實時性、可靠性、易移植性等特點。嵌入式實時操作系統(tǒng)是指系統(tǒng)能及時響應外部事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務協(xié)調(diào)一致地運行。嵌入式實時操作系統(tǒng)的特點是及時性、支持多道程序設計、高可靠性和較強的

11、過載防護能力。(7)微內(nèi)核操作系統(tǒng)(Microkernel Operating System)微內(nèi)核操作系統(tǒng)結(jié)構(gòu)是20世紀80年代后期發(fā)展起來的,其基本思想是將操作系統(tǒng)中最基本的部分放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的一組服務器中實現(xiàn)。這樣使得操作系統(tǒng)內(nèi)核變得非常小,自然提高了系統(tǒng)的可擴展性,增強了系統(tǒng)的可靠性和可移植性,同時微內(nèi)核操作系統(tǒng)提供了對分布式系統(tǒng)的支持,融入了面向?qū)ο蠹夹g(shù)。雖然微內(nèi)操作系統(tǒng)具有諸多優(yōu)點,但它非常完美無缺,在運行效率方面它就不如以前傳統(tǒng)的操作系統(tǒng)。當前比較流行的、能支持多處理機運行的操作系統(tǒng),幾乎全部都采用了微內(nèi)核結(jié)構(gòu),如卡耐基梅隆大學研制的Mac

12、h OS,便屬于微內(nèi)核結(jié)構(gòu)操作系統(tǒng);又如當前廣泛使用的Windows操作系統(tǒng),也采用了微內(nèi)核結(jié)構(gòu)。3操作系統(tǒng)的功能從資源管理的觀點看,操作系統(tǒng)的功能分成五大部分,即進程管理(處理機管理)、存儲管理、文件管理、作業(yè)管理和設備管理。這五大部分相互配合,協(xié)調(diào)工作,實現(xiàn)對計算機系統(tǒng)的資源管理和控制程序的執(zhí)行,為用戶提供方便的使用接口和良好的運行環(huán)境。4操作系統(tǒng)的結(jié)構(gòu)設計模式(1)模塊化結(jié)構(gòu)操作系統(tǒng)由許多標準的、可兼容的基本單位構(gòu)成(稱為模塊),各模塊相對獨立,模塊之間通過規(guī)定的接口相互調(diào)用。模塊化設計方法的優(yōu)點是縮短了系統(tǒng)的開發(fā)周期,缺點是模塊之間調(diào)用關(guān)系復雜、相互依賴,從而使分析、移植和維護系統(tǒng)較易

13、出錯。(2)層次化結(jié)構(gòu)層次化結(jié)構(gòu)是指操作系統(tǒng)由若干模塊按照某種邏輯關(guān)系進行分層組合而成,各層之間只能單向依賴。優(yōu)點是大大地簡化了接口的設計,整個系統(tǒng)的正確性由各層次的正確性來保證,易于保證可靠性,也便于維護和移植。(3)客戶/服務器結(jié)構(gòu)操作系統(tǒng)中只包括一個最小的核心,操作系統(tǒng)的其他功能(如文件服務、進程服務等)由用戶進程來實現(xiàn)。優(yōu)點是服務器以用戶進程的形式運行而不是運行于核心態(tài),它們不直接訪問硬件,單個服務器的崩潰不會導致整個系統(tǒng)的崩潰,它適用于分布式系統(tǒng)。(4)對象模式面向?qū)ο蟮牟僮飨到y(tǒng)是按照面向?qū)ο笏枷朐O計的,具有數(shù)據(jù)隱藏及消息激活對象等特征。其中,對象是對操作系統(tǒng)管理的信息和資源的抽象,

14、可以被視為受保護的信息或資源的總稱。優(yōu)點是適用于網(wǎng)絡操作系統(tǒng)和分布式操作系統(tǒng)中,如Windows NT、Windows Server 2003、Windows Server 2008都被稱為對象操作系統(tǒng)。(5)對稱多處理模式如果一個操作系統(tǒng)在系統(tǒng)中的所有處理機運行且共享同一內(nèi)存,這樣的系統(tǒng)就是一個對稱多處理系統(tǒng)。優(yōu)點是適合共享存儲器結(jié)構(gòu)的多處理機系統(tǒng),即緊耦合的多處理機系統(tǒng)。1.1.3   進程管理進程管理也稱為處理機管理,該部分功能是操作系統(tǒng)最為重要的部分,所以也是整個操作系統(tǒng)部分的考查重點,其主要知識點有:進程狀態(tài)轉(zhuǎn)換圖、信號量與PV操作、死鎖問題、銀行家算法

15、。1進程狀態(tài)轉(zhuǎn)換圖進程狀態(tài)轉(zhuǎn)換圖用于展現(xiàn)進程的狀態(tài),以及各種狀態(tài)之間的轉(zhuǎn)換。最為常見的有:三態(tài)模型和五態(tài)模型,其后又提出了七態(tài)模型。在考試中,要求考生掌握三態(tài)模型與五態(tài)模型。五態(tài)模型是對三態(tài)模型的擴展(即五態(tài)模型已經(jīng)包含了三態(tài)模型)。標準的五態(tài)模型如圖1-3所示。圖1-3  進程狀態(tài)轉(zhuǎn)換五態(tài)模型從圖1-3中可以看出,五態(tài)模型中的五態(tài)為:執(zhí)行狀態(tài)(運行狀態(tài))、活躍就緒狀態(tài)、活躍阻塞狀態(tài)、掛起就緒狀態(tài)、掛起阻塞狀態(tài)。其中,前三種狀態(tài)組成了三態(tài)模型。  執(zhí)行狀態(tài):指進程占有處理機正在CPU上執(zhí)行的狀態(tài)。在單CPU系統(tǒng)中,每一時刻只有一個進程處于執(zhí)行狀態(tài)。  活躍就緒狀態(tài)

16、:指進程分配到除處理機以外的必需的資源(已經(jīng)具備了執(zhí)行的條件)的狀態(tài)。進程被創(chuàng)建后處于就緒狀態(tài),處于就緒狀態(tài)的進程可以有多個。  活躍阻塞狀態(tài):指進程因等待某個事件的發(fā)生而放棄處理機進入等待狀態(tài)。系統(tǒng)中處于這種狀態(tài)的進程可以有多個。在三態(tài)模型中,總是假設所有的進程都在內(nèi)存中。事實上,可能出現(xiàn)這樣一些情況,例如,由于進程的不斷創(chuàng)建,系統(tǒng)的資源已經(jīng)不能滿足進程運行的要求,這個時候就必須把某些進程掛起,對換到磁盤鏡像區(qū)中,暫時不參與進程調(diào)度,起到平滑系統(tǒng)操作負荷的目的。這就形成了掛起就緒狀態(tài)和掛起阻塞狀態(tài)。  掛起就緒狀態(tài):指進程被移至磁盤鏡像區(qū)中,此時進程只缺處理機資源。

17、60; 掛起阻塞狀態(tài):指進程被移至磁盤鏡像區(qū)中,此時進程除了缺處理機資源,還缺其他資源。2信號量與PV操作在操作系統(tǒng)中,進程之間經(jīng)常會存在互斥(都需要共享獨占性資源時)和同步(完成異步的兩個進程的協(xié)作)兩種關(guān)系。為了有效地處理這兩種情況,W. Dijkstra在 1965年提出信號量和PV操作。信號量是一種特殊的變量,表現(xiàn)形式是一個整型S和一個隊列。  P操作:也稱為down()、wait()操作,使S=S-1,若S<0,進程暫停執(zhí)行,放入信號量的等待隊列。  V操作:也稱為up()、signal()操作,使S=S+1,若S0,喚醒等待隊列中的一個進程。(1)完成互斥

18、控制為了保護共享資源,不讓多個進程同時訪問這個共享資源,換句話說,就是阻止多個進程同時進入訪問這些資源的代碼段,這個代碼段稱為臨界區(qū)(也稱為管程),這種一次只允許一個進程訪問的資源稱為臨界資源。為了實現(xiàn)進程互斥地進入自己的臨界區(qū),代碼可以如下所示:P(信號量)臨界區(qū)V(信號量)由于只允許一個進程進入,因此信號量中整型值的初始應該為1。該值表示可以允許多少個進程進入,當該值<0時,其絕對值就是等待使用的進程數(shù),也就是等待隊列中的進程數(shù)。而當一個進程從臨界區(qū)出來時,就會將整型值加1,如果等待隊列中還有進程,則調(diào)入一個新的進程進入(喚醒)。(2)完成同步控制最簡單的同步形式是:進程A在另一個進

19、程B到達L2以前,不應前進到超過L1,這樣就可以使用程序,如下所示:進程A    進程B L1:P(信號量)     L2:V(信號量) 因此,要確保進程B執(zhí)行V操作之前,不讓進程A的運行超過L1,因此信號量的初值就應該為0。這樣,如果進程A先執(zhí)行到L1,那么執(zhí)行P操作后,信號量的整型值就會小于1,也就停止執(zhí)行。直到進程B執(zhí)行到L2時,將信號量的整型值加1,并喚醒它以繼續(xù)執(zhí)行。在考試中,該知識點出題形式主要是給出一系列操作,讓考生在適當位置填充P操作或V操作。例如,某工廠倉庫有一名保管員,該倉庫可存放n箱零件。該工廠生產(chǎn)車間有m名工人,只要倉庫空閑,工人

20、將生產(chǎn)好的整箱零件放入倉庫,并由保管員登記入庫數(shù)量;該工廠銷售部有k名銷售員,只要倉庫庫存數(shù)能滿足客戶要求,便可提貨,并由保管員登記出庫數(shù)量。規(guī)定工人和銷售員不能同時進入倉庫,但是工人和工人,銷售員和銷售員可以同時進入倉庫,其工作流程如圖1-4所示。圖1-4  倉庫管理系統(tǒng)流程為了利用PV操作正確地協(xié)調(diào)工人和銷售員進程之間的工作,設置了信號量S1、S2和S3,它們的初值分別為n、0和1。則圖1-4中的ah應分別填寫什么操作呢?根據(jù)問題給出的條件,我們可以判斷出,信號量S1表示倉庫空閑位置個數(shù),初值為n;S2表示倉庫中零件箱數(shù),初值為0;S3用于實現(xiàn)對保管員的互斥訪問,初值為1。對于工

21、人進程,首先應執(zhí)行P(S1),看倉庫中是否有空閑位置,若有,則將零件送入倉庫,然后執(zhí)行V(S2),表明倉庫中已有一箱零件,通知銷售員可以提貨。然后執(zhí)行P(S3),看保管員是否空閑,若空閑,則登記入庫數(shù),然后執(zhí)行V(S3),使保管員處于空閑狀態(tài)。對于銷售員進程,首先執(zhí)行P(S2),看倉庫中是否有貨物,若有,則可以提貨,然后執(zhí)行V(S1),表明已經(jīng)提走一箱零件,空閑出一個位置,工人進程可以放置貨物;然后執(zhí)行P(S3),看保管員是否空閑,若空閑,則登記出庫數(shù),然后執(zhí)行V(S3),使保管員處于空閑狀態(tài)。3前趨圖前趨圖是一個由節(jié)點和有向邊構(gòu)成的有向無循環(huán)圖。該圖通常用于表現(xiàn)事務之間先后順序的制約關(guān)系。圖

22、中的每個節(jié)點可以表示一個語句、一個程序段或是一個進程,節(jié)點間的有向邊表示兩個節(jié)點之間存在的前趨關(guān)系。例:在計算機中,經(jīng)常采用流水線方式執(zhí)行指令,若每一條指令都可以分解為取指、分析和執(zhí)行3步。取指操作為Ai,分析操作為Bi和執(zhí)行操作為Ci (i=1,2,3)。如圖1-5所示為3個任務各程序段并發(fā)執(zhí)行的前驅(qū)圖。圖中A1沒有前趨節(jié)點,稱為開始節(jié)點,它不受任何制約,可以直接執(zhí)行;而B1與A2只能在A1執(zhí)行完成之后才能開始,而B2必須在B1與A2完成之后才能開始;C3沒有后繼節(jié)點,稱為終止節(jié)點。圖1-5  前趨圖在前趨圖中,執(zhí)行優(yōu)后順序的制約關(guān)系可分為兩種:直接制約和間接制約。直接制約通常是指

23、一個操作中,多個步驟之間的制約關(guān)系,也可以說是“同步的進程之間的制約關(guān)系”。例如,在圖1-5中,A1、B1、C1是一條指令的取指、分析、執(zhí)行3個步驟,所以它們之間的關(guān)系是直接制約。間接制約通常是指多個操作之間相同步驟的制約關(guān)系,也可以說是“互斥的進程之間的制約關(guān)系”。例如,在圖1-5中,A1、A2、A3之間就存在間接制約的關(guān)系。前趨圖的應用廣泛,在項目開發(fā)中,可用前趨圖來分析哪些活動可以并行完成。同時,項目管理工具:Pert圖、單(雙)代號網(wǎng)絡圖等都融入了前趨圖的思想。4死鎖問題死鎖是指各并發(fā)進程彼此互相等待對方所擁有的資源,且這些并發(fā)進程在得到對方的資源之前不會釋放自己所擁有的資源。從而造成

24、大家都想得到資源而又都得不到資源,各并發(fā)進程不能繼續(xù)向前推進的狀態(tài)。產(chǎn)生死鎖的根本原因在于系統(tǒng)提供的資源個數(shù)少于并發(fā)進程所要求的該類資源數(shù)。產(chǎn)生死鎖有4個必要條件?;コ鈼l件:即一個資源每次只能被一個進程使用,在操作系統(tǒng)中這是真實存在的情況。保持和等待條件:有一個進程已獲得了一些資源,但因請求其他資源被阻塞時,對已獲得的資源保持不放。不剝奪條件:有些系統(tǒng)資源是不可剝奪的,當某個進程已獲得這種資源后,系統(tǒng)不能強行收回,只能由進程使用完時自己釋放。環(huán)路等待條件:若干個進程形成環(huán)形鏈,每個進程都占用對方要申請的下一個資源。對待死鎖的策略主要有以下4種。死鎖的預防。不讓任一產(chǎn)生死鎖的必要條件發(fā)生就可以預

25、防死鎖。死鎖的避免。這種策略不對用戶進程的推進順序加以限制,在進程申請資源時先判斷這次分配安全否,只有安全才實施分配,典型的算法是銀行家算法。死鎖的檢測。這種策略采用資源請求分配圖的化簡方法來判斷是否發(fā)生了不安全狀態(tài)。資源請求分配圖是一種有向圖,表示進程與資源之間的關(guān)系。死鎖的檢測是在需要的時刻執(zhí)行的,當發(fā)現(xiàn)系統(tǒng)處于不安全狀態(tài)時,即執(zhí)行死鎖的解除策略。死鎖的解除。解除死鎖的基本方法是剝奪。一種方法是把資源從一些進程處剝奪分給別的進程,被剝奪資源的進程則需回退到請求資源處重新等待執(zhí)行;另一種方法是終止一個進程,剝奪其全部資源,以后再重新運行被終止的進程。5銀行家算法銀行家算法是一種經(jīng)典的死鎖避免

26、方法。銀行家算法的基本思想是:當某個進程提出申請時,必須判斷將資源分配給該進程后,會不會引起死鎖。若不會,則進行分配;否則就不分配。這樣做能保證在任何時刻至少有一個進程可以得到所需的全部資源而執(zhí)行結(jié)束,并將歸還資源加入到系統(tǒng)的剩余資源中,這些資源又至少可以滿足一個進程的最大需求,于是保證所有進程都能在有限的時間內(nèi)得到需求的全部資源。按照銀行家算法的思想,當進程請求資源時,系統(tǒng)將按如下原則分配資源:當一個進程對資源的最大需求量不超過系統(tǒng)中的資源數(shù)時,可以接納該進程。進程可以分期請求資源,但請求的總數(shù)不能超過最大需求量。當系統(tǒng)現(xiàn)有的資源不能滿足進程尚需資源數(shù)時,對進程的請求可以推遲分配,但總能使進

27、程在有限的時間里得到資源。當系統(tǒng)現(xiàn)有的資源能滿足進程尚需資源數(shù)時,必須測試系統(tǒng)現(xiàn)存的資源能否滿足該進程尚需的最大資源數(shù),若能滿足,則按當前的申請量分配資源,否則,推遲分配。1.1.4   存儲管理存儲管理是操作系統(tǒng)的重要職能之一,它的主要任務是對內(nèi)存空間進行分配與回收。由于計算機內(nèi)存容量有限,故在此基礎之上發(fā)展產(chǎn)生了虛擬存儲系統(tǒng)。虛擬存儲系統(tǒng)的基本思想是用外存來換取內(nèi)存。它通過將運行進程訪問的位置(邏輯位置、虛擬位置)與主存的物理位置(實位置)分開,從而使得提供大于物理位置的邏輯位置空間成為可能。建立虛擬位置和實位置之間的對應關(guān)系、實現(xiàn)轉(zhuǎn)換的工作就稱為“虛存管理”

28、。在本節(jié)中,主要介紹虛存的組織結(jié)構(gòu)及管理。1頁式存儲組織頁式存儲組織的基本原理是將各進程的虛擬空間劃分為若干個長度相等的頁,把內(nèi)存空間以與頁相等的大小劃分為大小相等的片或頁面,采用請求調(diào)頁或預調(diào)頁技術(shù)實現(xiàn)內(nèi)、外存的統(tǒng)一管理。頁式存儲組織的主要優(yōu)點是利用率高,產(chǎn)生的內(nèi)存碎片小,內(nèi)存空間分配及管理簡單。主要缺點是要有相應的硬件支持,增加了系統(tǒng)開銷;請求調(diào)頁的算法如選擇不當,有可能產(chǎn)生“抖動”(又稱Belady)現(xiàn)象。2段式存儲組織一個作業(yè)是由若干個具有邏輯意義的段(如主程序、子程序、數(shù)據(jù)段等)組成的。在分段系統(tǒng)中,允許程序(作業(yè))占據(jù)內(nèi)存中若干分離的分區(qū)。分段系統(tǒng)中的虛位置是一個有序?qū)Γǘ翁?,段?nèi)

29、位移)。系統(tǒng)為每一個作業(yè)建立一個段表,其內(nèi)容包括段號與內(nèi)存起始位置的對應關(guān)系、段長和狀態(tài)等。狀態(tài)指出這個段是否已調(diào)入內(nèi)存,若已調(diào)入內(nèi)存,則指出這個段的起始位置位置,狀態(tài)同時也指出這個段的訪問權(quán)限。如果該段尚未調(diào)入內(nèi)存,則產(chǎn)生缺段中斷,以便裝入所需要的段。段式存儲組織的主要優(yōu)點有:便于多道程序共享內(nèi)存、便于對存儲器的保護、各段程序修改互不影響。其缺點是內(nèi)存利用率低、內(nèi)存碎片浪費大。3段頁式存儲組織段頁式存儲組織是分段式和分頁式結(jié)合的存儲組織方法,這樣可充分利用分段管理和分頁管理的優(yōu)點。在段頁式管理的存儲器中,程序按邏輯單位分成基本獨立的段,再把每段分成固定大小的頁。內(nèi)存則等分成與上述頁大小相等的

30、頁。程序?qū)?nèi)存的調(diào)入或調(diào)出是按頁進行的。但它又可按段實現(xiàn)共享和保護。在多道程序環(huán)境中,每道程序都有一張段表和一個作為用戶標志的基號。一個邏輯位置中,除了基號x、段號s和頁號p外,還有一個頁內(nèi)位置d。每個邏輯位置變換成實位置的過程如下:根據(jù)基號找到相應的基址寄存器,由該基址寄存器內(nèi)容找到該程序?qū)亩伪硎嘉恢?,再由段號找到該段表中相應行位置,該行位置中的?nèi)容為頁表起始位置,再由頁號找到物理頁號的位置(已是內(nèi)存中的某頁),它與頁內(nèi)位置拼接后即得物理位置??梢姸雾撌焦芾碇行枰啻尾楸聿拍茏罱K獲得物理位置。該過程可簡單地用一個式子來示意,即其中,(x)表示基寄存器中位置為x的單元內(nèi)容,n為頁內(nèi)位置的位

31、數(shù)。段頁式管理將段式存儲管理和頁式存儲管理兩種方式相結(jié)合,互相取長補短,充分發(fā)揮了它們的優(yōu)點。使段頁式虛擬存儲器管理方案具有空間浪費小、存儲共享容易、存儲保護容易、能動態(tài)連接的特點。但由于管理軟件的增加,復雜性和開銷也隨之增加,需要的硬件及占用的內(nèi)存也有所增加,使得執(zhí)行速度大大下降。4頁面置換算法由于實際主存是小于虛存的,因此可能會發(fā)生內(nèi)存中已滿,但需要使用的頁不在主存中這一情況。這時就需要進行置換,即將一些主存中的頁淘汰到外存,騰出空間給要使用的頁,這個過程也稱為Swapping。其工作原理與Cache調(diào)入相類似。常見的頁面置換算法有以下幾種。(1)最優(yōu)算法(OPT)淘汰不用的或最遠的、將來

32、才用的頁。這是一種理想算法,不可能實現(xiàn),只是用來作為衡量算法效率的參照物。(2)隨機算法(RAND)隨機淘汰,這種算法開銷小,但性能不穩(wěn)定。(3)先進先出算法(FIFO)淘汰最早調(diào)入(也是駐留時間最長)的頁。實現(xiàn)FIFO算法需要把各個已分配頁面按頁面分配時間順序鏈接起來,組成FIFO隊列,并設置一個置換指針,指向FIFO隊列的隊首頁面。FIFO算法忽略了一種現(xiàn)象的存在,那就是在內(nèi)存中停留時間最長的頁往往也是經(jīng)常要訪問的頁。將這些頁淘汰,很可能剛置換出去,又請求調(diào)用該頁,致使缺頁中斷太頻繁,嚴重降低內(nèi)存的利用率。FIFO的另一個缺點是它可能會產(chǎn)生一種異?,F(xiàn)象。一般來說,對于任一作業(yè)或進程,如果給

33、它分配的內(nèi)存頁面數(shù)越接近于它所要求的頁面數(shù),則發(fā)生缺頁的次數(shù)會越少。但使用FIFO算法時,有時會出現(xiàn)分配的頁面數(shù)增多,缺頁次數(shù)反而增加的現(xiàn)象,稱為“抖動”(又稱Belady)現(xiàn)象。(4)最近最久未使用算法(LRU)淘汰離當前時刻最近的一段時間內(nèi)使用得最少的頁。例如,考慮一個僅460個字節(jié)的程序的內(nèi)存訪問序列(10,11,104,170,73,309,185,245,246,434,458,364),頁面的大小為100個字節(jié),則460個字節(jié)應占5頁,編號為04,第0頁字節(jié)為099,第1頁為100199,依此類推。得到頁面的訪問序列是(0,0,1,1,0,3,1,2,2,4,4,3),可簡化為(0

34、,1,0,3,1,2,4,3)。如果內(nèi)存中有200個字節(jié)可供程序使用,則內(nèi)存提供2個頁幀供程序使用。按照FIFO算法,共產(chǎn)生6次缺頁中斷,如表1-3所示。表1-3  FIFO算法缺頁中斷按照LRU算法,共產(chǎn)生7次缺頁中斷,如表1-4所示。表1-4  LRU算法缺頁中斷(5)最近沒有使用頁面置換算法(NUR)在需要置換某一頁時,從那些最近的一個時期內(nèi)未被訪問的頁任選一頁置換。只要在頁表中增設一個訪問位即可實現(xiàn)。當某頁被訪問時,訪問位置為1,否則訪問位置為0。系統(tǒng)周期性地對所有引用位清0。當需淘汰一頁時,從那些訪問位為零的頁中選一頁進行淘汰。(6)時鐘頁面替換算法(Clock)

35、使用頁表中的引用位,將作業(yè)已調(diào)入內(nèi)存的頁面連成循環(huán)隊列,用一個指針指向循環(huán)隊列中的下一個將被替換的頁面。其實現(xiàn)方法如下:一個頁面首次裝入內(nèi)存時,其引用位置1;在內(nèi)存中的任何一個頁面被訪問時,其引用位置1;淘汰頁面時,存儲管理從指針當前指向的頁面開始掃描循環(huán)隊列,把所遇到的引用位是1的頁面的引用位清0,并跳過這個頁面;把所遇到的引用位是0的頁面淘汰掉,指針推進一步;掃描循環(huán)隊列時,如果遇到的所有頁面的引用位均為1,則指針就會繞整個循環(huán)隊列一圈,將碰到的所有頁面的引用位清0;指針停在起始位置,并淘汰掉這一頁,然后指針推進一步。5局部性原理存儲管理策略的基礎是局部性原理,即進程往往會不均勻地、高度局

36、部化地訪問內(nèi)存。局部性分為時間局部性和空間局部性。時間局部性是指最近訪問存儲位置,很可能在不久的將來還要訪問;空間局部性是指存儲訪問有聚集的傾向,當訪問了某個位置后,很可能也要訪問其附近的位置。根據(jù)局部性原理的特征性,Denning闡述了程序性能的工作集理論。工作集是進程頻繁訪問的頁面的集合。工作集理論指出,為使進程有效地運行,它的頁面工作集應駐留內(nèi)存中。否則,由于進程頻繁地從外存請求頁面,而出現(xiàn)稱為“抖動”(又稱Belady)的過度的頁面調(diào)度活動。此時,處理頁面調(diào)度的時間超過了程序的執(zhí)行時間。顯然,此時CPU的有效利用率會急速下降。工作集的大小依賴于工作集窗口(進程在定長時間間隔中涉及的頁面

37、的集合)的大小,在進程執(zhí)行時,工作集會發(fā)生變化。有時,當進程進入另一個完全不同的執(zhí)行階段時,工作集會出現(xiàn)顯著的變化。不過在一個進程的執(zhí)行過程中,工作集的大小處于穩(wěn)定狀態(tài)的時間基本上占絕大多數(shù)。另一種控制“抖動”的技術(shù)是控制缺頁率。操作系統(tǒng)規(guī)定缺頁率的上下限,當一個進程的缺頁率高于上限時,表明該進程需要更大的內(nèi)存空間,則分配較多的內(nèi)存頁面給它。當進程的缺頁率低于下限時,表明該進程占用的內(nèi)存空間過大,可以適當?shù)厥栈厝舾蓛?nèi)存頁面。1.1.5   文件管理對文件管理部分的考查主要集中于位示圖、樹形目錄結(jié)構(gòu)及索引文件結(jié)構(gòu)。1樹形目錄結(jié)構(gòu)在計算機的文件系統(tǒng)中,一般采用樹形目錄

38、結(jié)構(gòu)。在樹形目錄結(jié)構(gòu)中,樹的根節(jié)點為根目錄,數(shù)據(jù)文件作為樹葉,其他所有目錄均作為樹的節(jié)點。根目錄隱含于一個硬盤的一個分區(qū)中,根目錄在最頂層。它包含的子目錄是一級子目錄。每一個一級子目錄又可以包含若干二級子目錄,這樣的組織結(jié)構(gòu)就叫做目錄樹。當前盤和當前目錄是系統(tǒng)默認的操作對象。如果用戶沒有指明操作對象,系統(tǒng)就將用戶命令指向當前盤和當前目錄。路徑是指從根目錄或者當前目錄開始到訪問對象(目錄或者文件),在目錄樹中經(jīng)過的所有目錄的序列。例如,“c:doslmousemouse”就是Windows系統(tǒng)中的一條路徑。在樹形目錄結(jié)構(gòu)中,從根目錄到任何數(shù)據(jù)文件之間,只有一條唯一的通路,從樹根開始,把全部目錄文

39、件名與數(shù)據(jù)文件名,依次用“/”(UNIX/Linux系統(tǒng))或“”(Windows系統(tǒng))連接起來,構(gòu)成該數(shù)據(jù)文件的路徑名,且每個數(shù)據(jù)文件的路徑名是唯一的。這樣,可以解決文件重名問題。從樹根開始的路徑為絕對路徑,如果文件系統(tǒng)有很多級時,使用不是很方便,所以引入相對路徑,即是從當前目錄開始,再逐級通過中間的目錄文件,最后到達所要訪問的數(shù)據(jù)文件。絕對路徑給出文件或目錄位置的完全的描述,通常由層次結(jié)構(gòu)的頂端開始(根目錄),通常第一個字符是“/”(UNIX/Linux系統(tǒng))或者是盤符(Windows系統(tǒng))。相對路徑通常由目錄結(jié)構(gòu)中的當前的位置開始,一般都比絕對路徑要短。父目錄是指當前路徑的上一層目錄。每個

40、目錄下都有代表當前目錄的“.”文件和代表當前目錄父目錄的“.”文件,相對路徑名一般就是從“.”開始的。 2位示圖位示圖法是為管理磁盤空閑存儲空間而提出的一種方法。該方法是在外存上建立一張位示圖(Bitmap),記錄文件存儲器的使用情況。每一位僅對應文件存儲器上的一個物理塊,取值0和1分別表示空閑和占用。文件存儲器上的物理塊依次編號為:0、1、2、。假如系統(tǒng)中字長為32位,有4096個物理塊,那么在位示圖中的第1個字對應文件存儲器上的0、1、2、31號物理塊;第2個字對應文件存儲器上的32、33、34、63號物理塊;第32字對應文件存儲器上的4064、4065、4095號物理塊。這樣位

41、示圖的大小為32字。位示圖是利用二進制的一位來表示磁盤中一個盤塊的使用情況,如圖1-6所示。當其值為“0”時,表示對應的盤塊空閑;為“1”時表示已分配。由所有盤塊對應的位構(gòu)成一個集合,稱為位示圖。位示圖也可描述為一個二維數(shù)組map:Var map:array1.m,1.nof bit;圖1-6  位示圖3索引文件索引文件是一種對文件存儲不連續(xù)分配的方法。為每個文件建立一張索引表,索引表中的每一表項指出文件信息所在的邏輯塊號和與之對應的物理塊號。索引文件既可以滿足文件動態(tài)增長的要求,又可以方便而迅速地實現(xiàn)隨機存取。對一些大的文件,當索引表的大小超過一個物理塊時,會發(fā)生索引表的分配問題。

42、一般采用多級(間接索引)技術(shù),這時,在由索引表指出的物理塊中存放的不是文件存放處而是存放文件信息的物理塊位置。這樣,如果一個物理塊能存儲n個位置,則一級間接索引將使可尋址的文件長度變成n2塊,對于更大的文件可以采用二級甚至三級間接索引(例如,UNIX操作系統(tǒng)采用三級索引結(jié)構(gòu),如圖1-7所示)。圖1-7  索引結(jié)構(gòu)圖索引文件的優(yōu)點是既適用于順序存取,又適用于隨機存取;缺點是索引表增加了存儲空間的開銷。另外,在存取文件時需要訪問兩次磁盤,一次是訪問索引表,另一次是根據(jù)索引表提供的物理塊號訪問文件信息。為了提高效率,一種改進的方法是,在對某個文件進行操作之前,預先把索引表調(diào)入內(nèi)存。這樣,文

43、件的存取就能直接從在內(nèi)存的索引表中確定相應的物理塊號,從而只需要訪問一次磁盤。1.2   典型試題分析1.2.1   試題1(1)  不是操作系統(tǒng)關(guān)心的主要問題。(1) A管理計算機裸機        B設計、提供用戶程序與計算機硬件系統(tǒng)的界面        C管理計算機系統(tǒng)資源   D高級程序設計語言的編譯器試題分析操作系統(tǒng)有2個重要的功能,一是通過資源管理,提高計算機系統(tǒng)的效率;二是改善人機界面,向用戶提供友好的工作環(huán)境。因此,在所

44、給的選項中,顯然只有D不是操作系統(tǒng)關(guān)心的主要問題。試題答案(1)D1.2.2   試題2某書店有一個收銀員,該書店最多允許n個購書者進入。將收銀員和購書者看做不同的進程,其工作流程如圖1-8所示。利用PV操作實現(xiàn)該過程,設置信號量S1、S2和Sn,初值分別為0、0、n。則圖1-8中a1和a2應填入  (2)  , b1和b2應填入  (3)  。圖1-8  購書工作流程(2)AV(S1)、P(S2)       BV(Sn)、P(Sn)    &

45、#160;  CP(S1)、V(S2)      DP(S2)、V(S1)(3)AP(Sn)、V(S2)      BV(Sn)、P(S2)      CP(S1)、V(S2)      DP(S2)、V(S1)試題分析根據(jù)試題描述,在本題中,Sn顯然是代表允許進入書店的購書者的人數(shù),初值為n,表示可以進入n個購書者。S2用于實現(xiàn)對收銀員的互斥訪問,初值為0,表示收銀員空閑,可以付款。S1代表有多少顧客等待付款,初值為0,表示沒有顧客付款。整個工作流程描述如下:首先

46、是收銀員上班,執(zhí)行P(S1),看是否有顧客付款,如果沒有,則阻塞。否則,開始收費,收費完畢后,再執(zhí)行V(S2),表示收銀員空閑。購書者進入書店后,執(zhí)行P(Sn),然后購書,當要付款時,執(zhí)行V(S1),表示多了一個顧客在等待付款,然后執(zhí)行P(S2),看收銀員是否忙,如果忙,則阻塞。否則,開始付款。顧客離開書店時,執(zhí)行V(Sn)。試題答案(2)A(3)C1.2.3   試題3影響文件系統(tǒng)可靠性因素之一是文件系統(tǒng)的一致性問題,如果讀取  (4)  的某磁盤塊,修改后在寫回磁盤前系統(tǒng)崩潰,則對系統(tǒng)的影響相對較大。通常的解決方案是采用文件系統(tǒng)的

47、一致性檢查,一致性檢查包括塊的一致性檢查和文件的一致性檢查。在塊的一致性檢查時,檢測程序構(gòu)造一張表,表中為每個塊設立兩個計數(shù)器,一個跟蹤該塊在文件中出現(xiàn)的次數(shù),一個跟蹤該塊在空閑表中出現(xiàn)的次數(shù)。若系統(tǒng)有16個塊,檢測程序通過檢測發(fā)現(xiàn)表  (5)  狀態(tài)下的文件系統(tǒng)是一致的。(4)A用戶文件的某磁盤塊    B空閑表磁盤塊       C用戶目錄文件           D系統(tǒng)目錄文件(5)試題分析影響文件系統(tǒng)可靠性因素之一是文件系統(tǒng)的一致性問題,如果讀取系

48、統(tǒng)目錄文件的某磁盤塊,修改后在寫回磁盤前系統(tǒng)崩潰,則對系統(tǒng)的影響相對較大。因為很多文件系統(tǒng)是先讀取磁盤塊到主存,在主存進行修改,然后寫回磁盤。但如果讀取某磁盤塊,修改后再將信息寫回磁盤前系統(tǒng)崩潰,則文件系統(tǒng)就可能會出現(xiàn)不一致性狀態(tài)。如果這些未被寫回的磁盤塊是系統(tǒng)目錄文件,如索引節(jié)點塊、目錄塊或空閑管理塊等,那么后果是很嚴重的。通常的解決方案是采用文件系統(tǒng)的一致性檢查,一致性檢查包括塊的一致性檢查和文件的一致性檢查。在塊的一致性檢查時,檢測程序構(gòu)造一張表,表中為每個塊設立兩個計數(shù)器,一個跟蹤該塊在文件中出現(xiàn)的次數(shù),一個跟蹤該塊在空閑表中出現(xiàn)的次數(shù)。若系統(tǒng)有16個塊,當進行文件的一致性檢查時發(fā)現(xiàn),

49、選項A的第3塊在計數(shù)器1中為0,這意味著沒有文件使用這個塊,但在計數(shù)器2中也為0,這意味著這個塊不空閑。因此,文件系統(tǒng)進行一致性檢查時發(fā)現(xiàn)出了問題。選項C的第6塊在計數(shù)器1中為3,說明這個塊被重復分配了3次,因此文件系統(tǒng)進行一致性檢查時發(fā)現(xiàn)出了問題。選項D的第8塊在計數(shù)器2中為2,說明這個塊被重復釋放了2次,因此文件系統(tǒng)進行一致性檢查時發(fā)現(xiàn)出了問題。選項B的某個塊在計數(shù)器1中為1,在計數(shù)器2為0;而某個塊在計數(shù)器1中為0,在計數(shù)器2中為1。這說明文件系統(tǒng)的一致性檢查是正確的。試題答案(4)D  (5)B1.2.4   試題4如圖1-9(a)所示是某一個時

50、刻J1、J2、J3、J4四個作業(yè)在內(nèi)存中的分配情況,若此時操作系統(tǒng)先為J5分配5KB空間,接著又為J6分配10KB空間,那么操作系統(tǒng)采用分區(qū)管理中的  (6)  算法,使得分配內(nèi)存后的情況如圖1-9(b)所示。圖1-9  作業(yè)在內(nèi)存中的分配情況(6)A最先適應      B最佳適應      C最后適應       D最差適應試題分析根據(jù)圖1-9(a),為J1、J2、J3、J4分配了內(nèi)存后,內(nèi)存剩余空間為J1與J2之間的15KB、J2和J3之間的10KB、

51、J3和J4之間的30KB。當為任務J5分配5KB空間時,系統(tǒng)選擇了分配在J2和J3之間的10KB,然后為任務J6分配10KB空間時,系統(tǒng)選擇了分配在J1和J2之間的15KB,因此采用的是最佳適應算法。試題答案(6)B1.2.5   試題5系統(tǒng)中有R類資源m個,現(xiàn)有n個進程互斥使用。若每個進程對R資源的最大需求為w,那么當m、n、w取如表1-5所示的值時,對于表1-5中的ae這5種情況,  (7)  可能會發(fā)生死鎖。表1-5  進程和資源表(7)Aa和b      Bb和c     &#

52、160; Cc和d      Dc和e試題分析本題考查死鎖的基本知識,給出系統(tǒng)資源情況,判斷死鎖是否可能發(fā)生是一種典型的出題方式。當給定資源情況,如何進行死鎖判斷呢?在此給出一個簡單的公式:進程數(shù)×(每個進程所需資源數(shù)-1)+1得到當前條件下,保證不產(chǎn)生死鎖所需要的最少資源數(shù)。這個公式的原理為:最壞的情況下,系統(tǒng)的資源是平均分配,這種情況下,若每個進程分到了(所需資源數(shù)-1)個資源,則再來一個資源,即可完成進程操作。在這種情況下若系統(tǒng)還有1個資源,則無論這個資源分配給誰,都能保障其順序執(zhí)行完。當一個進程執(zhí)行完以后,將釋放其占用的所有資源,所以就

53、不會產(chǎn)生死鎖。利用該方法可以計算出c與e兩種情況都有可能產(chǎn)生死鎖。試題答案(7)D1.2.6   試題6在一個單CPU的計算機系統(tǒng)中,有3臺不同的外部設備R1、R2、R3 和3個進程P1、P2、P3。系統(tǒng)CPU調(diào)度采用可剝奪式優(yōu)先級的進程調(diào)度方案,3個進程的優(yōu)先級、使用設備的先后順序和占用設備時間如表1-6所示。表1-6  進程占用設備情況假設操作系統(tǒng)的開銷忽略不計,從3個進程同時投入運行到全部完成,CPU 的利用率約為 (8)  %;R3 的利用率約為  (9)  %(設備的利用率指該設備的使用時間與進

54、程組全部完成所占用時間的比率)。(8)A.66.7      B.75      C.83.3D.91.7 (9)A.66        B.50      C.33D.17 試題分析根據(jù)表1-6畫出系統(tǒng)的時空圖,如圖1-10所示。從圖1-10中可以看出,P1從投入運行到完成需要60ms,P2運行時間為90ms,P3由于等待資源,運行時間延長為120ms。CPU在80ms100ms共20ms時間內(nèi)沒有利用,所以利用率為100/120=83.3%,

55、同樣計算得R3的利用率為60/120=50%。試題答案(8)C    (9)B1.2.7   試題7在如圖1-11所示的樹形文件系統(tǒng)中,方框表示目錄,圓圈表示文件,“/”表示路徑中的分隔符,“/”在路徑之首時表示根目錄。圖1-10  系統(tǒng)時空圖                      圖1-11  樹形文件系統(tǒng)假設當前目錄是D2,進程A以如下兩種方式打開文件f2:方式 fd1=open(  (10) &#

56、160;/f2 ,O_RDONLY); 方式 fd1=open( /D2/W2/f2 , O_RDONLY); 其中,方式的工作效率比方式的工作效率高,因為采用方式,文件系統(tǒng)是從  (11)  。(10)A/D2/W2      BD2/W2      CW2      D/W2 (11)A根目錄開始查找文件f2,系統(tǒng)查找時間少,讀取f2文件次數(shù)不變       B當前路徑開始查找文件f2,系統(tǒng)查找時間少,

57、讀取f2文件次數(shù)少       C根目錄開始查找文件f2,系統(tǒng)查找時間少,讀取f2文件次數(shù)少       D當前路徑開始查找文件f2,系統(tǒng)查找時間少,讀取f2文件次數(shù)不變 試題分析在樹形目錄結(jié)構(gòu)中,樹的根節(jié)點為根目錄,數(shù)據(jù)文件作為樹葉,其他所有目錄均作為樹的節(jié)點。在樹形目錄結(jié)構(gòu)中,從根目錄到任何數(shù)據(jù)文件之間,只有一條唯一的通路。從樹根開始,把全部目錄文件名與數(shù)據(jù)文件名依次用“/”連接起來,構(gòu)成該數(shù)據(jù)文件的路徑名,且每個數(shù)據(jù)文件的路徑名是唯一的。這樣可以解決文件重名問題,所以,對于第(10)空,雖然數(shù)據(jù)文件

58、名均為f2,但不一定是相同的文件。從樹根開始的路徑名為絕對路徑名,如果文件系統(tǒng)沒有很多級時,使用不是很方便,所以引入相對路徑名,即從當前目錄開始,逐級通過中間的目錄文件,最后到達所要訪問的數(shù)據(jù)文件。同樣,從當前目錄開始,采用相對路徑名,較之采用絕對路徑名,可以減少系統(tǒng)訪問目錄文件的次數(shù),但是訪問文件f2的次數(shù)是不變的。試題答案(10)C(11)D1.2.8   試題8虛擬內(nèi)存是基于程序的局部性原理而設計的。下面關(guān)于局部性原理的描述正確的是  (12)  。(12)A程序代碼順序執(zhí)行       

59、   B程序按照非一致性方式訪問內(nèi)存       C程序連續(xù)地訪問許多變量      D程序在一段時間內(nèi)訪問相對小的一段位置空間 試題分析程序的局部性原理,即程序的位置訪問流很強的時序相關(guān)性,未來的訪問模式與最近已發(fā)生的訪問模式相似。虛擬內(nèi)存操作是基于程序執(zhí)行的局部性原理,程序的局部性包括時間局部性和空間局部性,其中空間局部性是指程序在一段時間內(nèi)訪問相對小的一段位置空間。試題答案(12)D1.2.9   試題9(13)  操作需要特權(quán)指令執(zhí)行。 (13)A

60、讀取當前時鐘        B清除一塊內(nèi)存        C關(guān)閉中斷             D從用戶態(tài)切換到管態(tài) 試題分析多任務的計算機系統(tǒng)中,特權(quán)指令主要用于系統(tǒng)資源的分配和管理,包括改變系統(tǒng)的工作方式、修改虛擬存儲器管理的段表和頁表、I/O指令、設置時鐘、設置控制寄存器和關(guān)閉中斷等。簡言之,不允許用用戶程序中直接使用的指令稱為“特權(quán)指令”。這里,A、B、D選項可以由用戶程序直接使用,而C是不可以直接使用的。試題答案(13)C1.2.10&#

61、160;  試題10關(guān)于分頁式虛擬存儲器的論述,正確的是  (14)  。(14)A根據(jù)程序的模塊性,確定頁面大小      B可以將程序放置在頁面內(nèi)的任意位置      C可以從邏輯上極大地擴充內(nèi)存容量,并且使內(nèi)存分配方便、利用率高      D將正在運行的程序全部裝入內(nèi)存試題分析由于內(nèi)存的大小總是有限的,如果都采用“實存管理”,那么大于總物理內(nèi)存的作業(yè)就無法運行。為了解決這一問題,可行的方法就是用外存來換取內(nèi)存,這也就是虛擬存儲系統(tǒng)。它通過將

62、運行進程訪問的位置(邏輯位置、虛擬位置)與主存的物理位置(實位置)分開,從而就使得提供大于物理位置的邏輯位置空間成為可能。而建立虛擬位置和實位置之間的對應關(guān)系、實現(xiàn)轉(zhuǎn)換的工作就稱為“虛存管理”。設置虛擬存儲器的目的就是要從邏輯上極大地擴充內(nèi)存容量,并且使內(nèi)存分配方便、利用率高。虛擬存儲可以分為分區(qū)式、分頁式、分段式、段頁式等方法。分頁的基本思想是把程序的邏輯空間和內(nèi)存的物理空間按照同樣的大小劃分成若干頁面,以頁面為單位進行分配。在頁式存儲管理中,系統(tǒng)中虛位置是一個有序?qū)Γ撎?,位移)。系統(tǒng)為每一個進程建立一個頁表,其內(nèi)容包括進程的邏輯頁號與物理頁號的對應關(guān)系、狀態(tài)等。試題答案(14)C1.2.

63、11   試題11通常將“C:Windowsmyprogram.exe”文件設置成只讀和隱藏屬性,以便控制用戶對該文件的訪問,這一級安全管理稱為  (15)  安全管理。(15)A文件級      B目錄級      C用戶級      D系統(tǒng)級試題分析系統(tǒng)級安全管理的主要任務是不允許未經(jīng)核準的用戶進入系統(tǒng)。用戶級安全管理是為了給用戶分配文件訪問權(quán)而設計的,包括對所有用戶進行分類、為指定用戶分配文件訪問權(quán)。目錄級安全管理是為保護系統(tǒng)中的各種目錄而設計的,它與用戶權(quán)限無關(guān)。為保證目錄的安全,規(guī)定只有系統(tǒng)核心才具有寫目錄的權(quán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論