操作系統(tǒng)(2017版)課后習題答案_第1頁
操作系統(tǒng)(2017版)課后習題答案_第2頁
操作系統(tǒng)(2017版)課后習題答案_第3頁
操作系統(tǒng)(2017版)課后習題答案_第4頁
操作系統(tǒng)(2017版)課后習題答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章操作系統(tǒng)概論

1.什么是操作系統(tǒng)?請說明操作系統(tǒng)在計算機系統(tǒng)中的作用和地位。

操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊的集合,他們能夠有

效地組織和管理計算機中的硬件和軟件資源,合理地控制計算機工作流程,控制程序的執(zhí)行,

并向用戶提供各種服務功能,使用戶能夠靈活、方便、有效的使用計算機,并使整個計算機

系統(tǒng)能高效運行。

2.操作系統(tǒng)管理計算機系統(tǒng)的哪些資源?

硬件和軟件資源。

3.請從資源管理角度說明操作系統(tǒng)的主要功能。

進程管理(處理器管理)、存儲管理、文件管理、作業(yè)管理、設備管理

4.操作系統(tǒng)有哪些基本特征?

并發(fā)性:計算機系統(tǒng)中同時存在若干個正在運行著的程序。

共享性:操作系統(tǒng)程序和多個用戶程序共享系統(tǒng)中的各種資源。

隨機性:操作系統(tǒng)的運行是在一種隨機的環(huán)境下進行的。

5.比較Windows、UNIX、Linux操作系統(tǒng)的體系結構,有什么異同?

Windows體系結構是分成的模塊系統(tǒng),主要層次有硬件抽象層HAL、內核、執(zhí)行體和大

量的子系統(tǒng)結合

UNIX操作系統(tǒng)的系統(tǒng)架構圖,其最里層是硬件,作為整個系統(tǒng)的基礎;其次是操作系

統(tǒng)內核,包括進程管理、存儲器管理、設備管理和文件管理四個資源管理功能;往外一

層是系統(tǒng)調用接口,及操作系統(tǒng)與用戶的接口shell以及編譯程序等;最外層是應用程

Linux系統(tǒng)有四個主要部分,及內核、sheik文件系統(tǒng)和應用程序

6.Android操作系統(tǒng)有什么特點?

Android操作系統(tǒng)分為四層,從高層到低層分別是應用程序層、應用框架層、系統(tǒng)運行

庫層和Linux內核層。

以Linux為核心的手機操作平臺,是一款開放式操作系統(tǒng)。

7.手機操作系統(tǒng)通常提供哪些功能?

實時性、可靠性、易于鏈接

8.請敘述各種類型操作系統(tǒng)的工作方式及特點。

一般把操作系統(tǒng)分為三種基本類型:批處理操作系統(tǒng),分時系統(tǒng)和實時系統(tǒng)

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

批處理操縱系統(tǒng)分為簡單批處理系統(tǒng)和多道批處理系統(tǒng)兩種類型。

用戶將作業(yè)交給系統(tǒng)操作員,系統(tǒng)操作員在收到作業(yè)后并不立即將作業(yè)輸入計算機,

而是在收到一定數(shù)量的作業(yè)后,組成-?批作業(yè),再把這批作業(yè)輸入到計算機中。這批作

業(yè)可在系統(tǒng)中形成一個連續(xù)的、自動轉接的作業(yè)流。系統(tǒng)操作員然后啟動操作系統(tǒng),系

統(tǒng)自動、依次執(zhí)行每個作業(yè)。最后由操作員將執(zhí)行完畢的作業(yè)結果交給用戶。

批處理操作系統(tǒng)的特點是成批處理。

(2)分時系統(tǒng)

分時操作系統(tǒng)是為了彌補批處理系統(tǒng)不能提供交互式快速服務的缺點而發(fā)展起來

的。一臺計算機主機鏈接了若干個終端,每個終端可由一個用戶使用。用戶通過終端交

互式的向系統(tǒng)提出命令請求,系統(tǒng)接受用戶的命令后,采用時間片輪轉方式處理服務請

求,并通過交互方式在終端上向用戶顯示結果。用戶根據(jù)系統(tǒng)送回的處理結果發(fā)出下一

道交互指令。

分時操作系統(tǒng)具有多路性、交互性、獨占性、及時性的特點

(3)實時系統(tǒng)

使計算機能在規(guī)定的時間內,及時響應外部事件的請求,同時完成對該事件的處理,

并能控制所有實時設備和實時任務協(xié)調一致地工作的操作系統(tǒng)。目標是,在嚴格地時間

范圍內,對外部請求做出反應,系統(tǒng)具有高度可靠性。

實時系統(tǒng)主要有兩類:硬實時系統(tǒng),軟實時系統(tǒng)

(4)嵌入式操作系統(tǒng)

嵌入式操作系統(tǒng)就是運行在嵌入式芯片環(huán)境中,對整個芯片以及它所操作、控制的

各種部件裝置等資源進行統(tǒng)一協(xié)調、調度、指揮和控制的系統(tǒng)軟件。

嵌入式操作系統(tǒng)具有可靠性、實時性、占有資源少、智能化能源管理、易于連接、

低成本等優(yōu)點。

(5)個人計算機操作系統(tǒng)

個人計算機操作系統(tǒng)是一種單用戶多任務的操作系統(tǒng)。其主要特點是:為單個用戶

服務;采用圖形界面人機交互的工作方式,界面友好;使用方便,用戶無須具備專門知

識,也能熟練地操作系統(tǒng)。

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

為計算機網(wǎng)絡配置地操作系統(tǒng)稱為網(wǎng)絡操作系統(tǒng)。網(wǎng)絡操作系統(tǒng)是基于計算機網(wǎng)絡

地、在各種計算機操作系統(tǒng)之上按照網(wǎng)絡體系結構協(xié)議標準設計開發(fā)的軟件,包括網(wǎng)絡

管理、通信、安全、資源共享和各種網(wǎng)絡應用。

計算機網(wǎng)絡有:集中式模式、分布式模式

(7)分布式操作系統(tǒng)

分布式操作系統(tǒng)是網(wǎng)絡操作系統(tǒng)的更高級形式,除了有網(wǎng)絡操作系統(tǒng)的功能之外,

其特征是,系統(tǒng)中所有主機使用同一個操作系統(tǒng)、資源深度共享、透明性、自治性

9.請比較批處理系統(tǒng)、分時系統(tǒng)以及實時系統(tǒng)之間的相同點和不同點。

相同點:這三類操作系統(tǒng)均為現(xiàn)代計算機系統(tǒng)中普遍使用的操作系統(tǒng),操作系統(tǒng)本身以

及它所管理的對象都是并發(fā)的系統(tǒng),是一個極其復雜和龐大的軟件系統(tǒng)。

不同點:批處理操作系統(tǒng)的特點是成批處理,用戶不能干預自己作業(yè)的遠行;分時系統(tǒng)

的特點是多路性、交互性、獨占性和及時性;實時操作系統(tǒng)的特點是能在嚴格的時間

范圍內對外部請求做出反應,以及具有高度可靠性。

10.請描述分時系統(tǒng)下響應時間的含義。

分時系統(tǒng)中,常把用戶從終端發(fā)出命令到系統(tǒng)給予回答的時間定義為響應時間。

11.在什么情況下應該采用批處理方式?在什么情況下應該考慮分時系統(tǒng)策略?

批處理系統(tǒng)適用于追求系統(tǒng)資源利用率高、作業(yè)吞吐率高的計算機系統(tǒng)。

分時系統(tǒng)適用于需要提供交互式快速服務的計算機系統(tǒng)。

12.現(xiàn)代的通用操作系統(tǒng)把批處理方式和分時方式二者結合起來,為什么要這樣做?這樣的

結合有什么特點?

這樣的操作系統(tǒng)結合了批處理和分時兩種系統(tǒng)的特點,該系統(tǒng)把處理終端用戶的、交互

式的、比較小的但需要及時處理的作業(yè)作為'前臺作業(yè)’予以優(yōu)先處理:把需要較長運行時

間、要調用其他外部設備、比較大型但無須終端用戶干預的且不需要立即處理的作業(yè)作為‘后

臺作業(yè)'進行批處理。這樣,使整個計算機系統(tǒng)忙閑結合,能更有效地利用計算機系統(tǒng)地資

源。

13.實時操作系統(tǒng)有什么主要特征?

在嚴格的時間范圍內,對外部請求做出反應,系統(tǒng)具有高度可靠性。

14.在如下的應用場合中,應該選用什么類型的操作系統(tǒng)?并請說明為什么。

導彈控制:實時操作系統(tǒng)

國家統(tǒng)計局:通用的分時/批處理操作系統(tǒng)

汽車發(fā)動機點火控制:實時操作系統(tǒng)

火車訂票系統(tǒng):網(wǎng)絡操作系統(tǒng)

互聯(lián)網(wǎng)電子游戲:網(wǎng)絡操作系統(tǒng)

15.請說明什么是SPOOLing技術?在現(xiàn)代操作系統(tǒng)中有沒有使用SPOOLing技術?

SPOOLing技術的全稱是‘同時的外部設備聯(lián)機操作該技術是用磁盤設備作為主機的

直接輸入輸出設備,主機直接從磁盤上選取作業(yè)運行,作業(yè)的執(zhí)行結果也存在磁盤上,通道

負責將用戶作業(yè)從外設動態(tài)寫入磁盤,并使這一操作與主機并行。從而大大提高了處理器和

各種外部設備的利用效率。由于SPOOLing技術需要通道技術,所以一般用于大型計算機系

統(tǒng)和那些對I/。處理能力要求比較嚴格的系統(tǒng)中,一般低檔微型計算機中,不使用此技術

16.網(wǎng)絡操作系統(tǒng)和分布式操作系統(tǒng)都是配置在計算機網(wǎng)絡上的操作系統(tǒng),他們之間有什么

本質上的不同?

網(wǎng)絡操作系統(tǒng)使基于計算機網(wǎng)絡的,是在各種計算機操作系統(tǒng)之上按網(wǎng)絡體系結構協(xié)

議標準設計開發(fā)的軟件,它包括網(wǎng)絡管理、通信、安全、資源共享和各種網(wǎng)絡應用。分布式

操作系統(tǒng)使網(wǎng)絡操作系統(tǒng)的更高級形式,除了有網(wǎng)絡操作系統(tǒng)的功能之外,其特征是系統(tǒng)中

所有主機使用同一個操作系統(tǒng)、資源的深度共享、透明性和自治性

17.操作系統(tǒng)設計的過程包括哪些方面?在每個方面都要考慮什么問題?

操作系統(tǒng)的設計過程包括功能設計、算法設計、結構設計。在每個方面均應考慮使操作

系統(tǒng)具有可靠性、高效性、易維護性、可移植性、安全性和簡明性等問題。

18.操作系統(tǒng)的設計目標是什么?

目標有三條:系統(tǒng)模塊化、模塊標準化、通信規(guī)范化

19.影響操作系統(tǒng)正確性的因素有哪些?

影響操作系統(tǒng)正確性的因素包括操作系統(tǒng)的功能成分多、各種外部設備的接口復雜、參

與開發(fā)的人員較多

20.在進行操作系統(tǒng)結構設計時應考慮哪些問題?

應考慮組成操作系統(tǒng)的各部分的劃分原則以及它們之間的關系(即通信),簡言之,即

操作系統(tǒng)的構成法和組成方法。

21.請說明模塊組合法、層次式結構和客戶/服務器結構的基本思想以及優(yōu)缺點。

整體式結構(模塊組合法)的基本思想是首先確定操作系統(tǒng)的總體功能,然后將總功能

分解成若干子功能,實現(xiàn)每個子功能的程序稱為模塊,再通過接口將所有模塊鏈接起來形成

一個操作系統(tǒng)的整體。

優(yōu)點:結構緊密、接口簡單直接、系統(tǒng)效率高。

缺點:模塊間轉接隨便,各模塊互相牽連,獨立性差,系統(tǒng)結構不清晰;數(shù)據(jù)基本上作

為全程量處理,模塊的修改和維護較困難;由于模塊組合結構常以大型表格為中心,限制了

系統(tǒng)的并發(fā)性。

層次式結構的基本思想式為克服模塊結構的缺點、減少各模塊之間無規(guī)則的相互調用、

相互依賴關系,力求將模塊間的調用的無序性變?yōu)橛行蛐裕瑢⒉僮飨到y(tǒng)的所有功能模塊按功

能流程圖的調用次序,將模塊分成若干層,各層之間的模塊只能是單向依賴或單向調用關系

優(yōu)點:既具有模塊法把整體府題分解成局部化的優(yōu)點,使各模塊自己的組織結構和依賴

關系清晰明了,增加了系統(tǒng)的可讀性和可適應性,增加了系統(tǒng)的可靠性,易于調試、易于修

改、易于擴充、易于維護等。

微內核(客戶/服務器)結構適宜于應用在網(wǎng)絡環(huán)境下分布式處理的計算機環(huán)境中

優(yōu)點:將系統(tǒng)的分成若干個小的并且自包含的服務進程分支,每個分支運行在獨立的用

戶進程中,相互之間通過規(guī)范一致的方式接受發(fā)送消息而聯(lián)系起來。優(yōu)點:可靠、靈活、適

宜于分布式處理的計算環(huán)境

缺點:效率較低

第二章操作系統(tǒng)運行環(huán)境

1.請簡述處理器的組成和工作原理。你認為哪些部分和操作系統(tǒng)密切相關,為什么?

處理器一般由運算器、控制器、一系列的寄存器以及告訴緩存構成。其中,運算器實現(xiàn)

指令中的算數(shù)和邏輯運算,是計算機的核心??刂破髫撠熆刂瞥绦蜻\行的流程。寄存器是一

種暫時存儲器件,用于CPU執(zhí)行指令的過程中暫存數(shù)據(jù)、地址及指令信。CPU本身提供了

一定的存儲能力,但容量很小。處理器中的運算器、控制器、寄存器都與操作系統(tǒng)密切相關、

操作系統(tǒng)就是通過對處理器中的這些部件來實現(xiàn)程序的運算和程序流程的控制的。

2.為了支持操作系統(tǒng),現(xiàn)代處理器一般都提供哪幾種工作狀態(tài),以隔離操作系統(tǒng)和普通程序?

每種狀態(tài)各有什么特點?

現(xiàn)代處理器一般都提供管態(tài)和目態(tài)等兩種工作狀態(tài)。用戶在目態(tài)下運行,只能使用非特

權指令,具有較低的特權級別;操作系統(tǒng)在管態(tài)下運行,可以使用特權指令和非特權指令,

具有較高的特權級別。

3.計算機系統(tǒng)中既有操作系統(tǒng)程序,又有用戶程序,什么情況下操作系統(tǒng)程序才能占用中央

處理器?

當用戶程序占用CPU時,CPU在目態(tài)下運行,只能使用非特權指令:當需要使用特權

指令時,將引起一次處理器狀態(tài)的切換,此時處理器通過中斷機制,將目態(tài)轉換為管態(tài),然

后將處理權移交給操作系統(tǒng)中的一段代碼,操作系統(tǒng)才能占用CPU。從目態(tài)變?yōu)楣軕B(tài)其轉換

的唯一途徑是通過中斷。

4.為什么要把“啟動I/O"等指令定義為特權指令?

因為如果允許用戶隨便使用這些指令,就有可能使系統(tǒng)陷入混亂。

5.怎樣限制用戶程序中使用特權指令?

當用戶程序占用CPU時,CPU在目態(tài)下運行,只能使用非特權指令;若此刻CPU取到

了一條特權指令,形成“非法操作”事件,CPU就拒絕執(zhí)行該只能怪。中斷機制識別到該事

件,運行狀態(tài)就從目態(tài)變?yōu)楣軕B(tài),將控制權轉給操作系統(tǒng),通過操作系統(tǒng)通知用戶修改。

6.什么是分級的存儲體系結構?它主要解決了什么問題?

計算機存儲系統(tǒng)的設計主要考慮容量、速度和成本三個問題。容量是存儲系統(tǒng)的基礎,

都希望配置盡可能大的存儲系統(tǒng);同時要求存儲系統(tǒng)的讀寫速度能與處理器的速度相匹配;

此外成本也應該在一個合適的范圍之內。但這三個目標不可能同時達到最優(yōu)。一般情況下,

存儲設備讀寫速度越快,平均單位容量的價格越高,存儲容量越??;反之,存儲設備讀寫速

度越慢,平均單位容量的價格越低,存儲容量越大。為了在這三者之間取得平衡,就采用分

級的存儲體系結構,由寄存器、高速緩存、主內存、硬盤存儲器、磁帶機和光盤存儲器等構

成。操作系統(tǒng)經(jīng)常訪問較小、較貴而快速的存儲設備,以較大、較便宜而讀寫速度較慢的

存儲設備作后盾。在整體上通過對訪問頻率的控制來提高存儲系統(tǒng)的效能。

7.請簡述程序局部性原理。

是指程序在執(zhí)行時呈現(xiàn)出局部性規(guī)律,即在一段時間內,整個程序的執(zhí)行僅限于程序

中的某一部分。相應地,執(zhí)行所訪問的存儲空間也局限于某個內存區(qū)域。

8.什么是存儲保護,由哪些方法實現(xiàn)存儲保護?

存儲在內存中的用戶程序和操作系統(tǒng)以及他們的數(shù)據(jù),有可能受到正在CPU上運行的

某用戶程序的有意或無意的破壞,這會造成十分嚴重的后果。一旦有程序向操作系統(tǒng)寫入了

數(shù)據(jù),將有可能造成系統(tǒng)崩潰。對內存中的信息加以嚴格的保護,使操作系統(tǒng)及其他程序布

被破壞,使其正確運行的基本條件之一。

界地址寄存器使被廣泛使用的一種存儲保護技術。其方法是在處理器中設置一對界限寄

存器來存儲該用戶作業(yè)在內存中的上限和下限地址,分別稱為下限寄存器和上限寄存器。也

可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器(指示存儲區(qū)長度)的方法

來指出程序在內存中的存儲區(qū)域。每當處理器要訪問內存時,硬件自動將被訪問的內存地址

與界限寄存器的內容進行比較,以判斷是否越界。如果未越界,則按此地址訪問內存,否則

將產(chǎn)生程序中斷--越界中斷或稱為存儲保護中斷。

9.操作系統(tǒng)與硬件如何配合來實現(xiàn)存儲保護的?

操作系統(tǒng)通過與硬件中的界地址寄存器實現(xiàn)存儲保護。其方法是在CPU中設置一對界

限寄存器來存放某個作業(yè)在內存中的下限和上限地址,或者一個寄存器作為基址寄存器,另

一個作為限長寄存器。每當CPU訪問內存時,硬件自動將被訪問的內存地址與界限寄存器

的內容進行比較,以判斷是否越界。如果未越界,則按此地址訪問內存,否則將產(chǎn)生越界中

斷。

10.常見的I/O控制技術有哪些?各有什么特點?

(1)通道

通道是獨立于中央處理器的,專門負責數(shù)據(jù)I/O傳輸工作的處理單元。代替處理器對

外部設備實行統(tǒng)一的管理,從而使處理器與外部設備并行工作,提高了多道程序處理的

效率。

(2)DMA技術

DMA技術由DMA控制器自動控制成塊數(shù)據(jù)在內存I/O單元之間的傳送,提高了處理

I/O的能力。

11.緩沖技術在計算機系統(tǒng)中起著什么樣的作用,它是如何工作的?

緩沖技術是用在外部設備與其他硬件部分之間的一種數(shù)據(jù)暫存技術。用以緩解處理器處

理數(shù)據(jù)速度與設備傳輸數(shù)據(jù)速度之間不匹配矛盾的一種數(shù)據(jù)暫存技術。

12.時鐘對操作系統(tǒng)有什么重要作用?

計算機系統(tǒng)中的時鐘可分為硬件時鐘和軟件時鐘,以及絕對時鐘和相對時鐘。時鐘可以

防止系統(tǒng)陷入死循環(huán),實現(xiàn)作業(yè)按時間片輪轉進行,給出正確的時間信號,定時喚醒事先按

確定時間執(zhí)行的時間,記錄事項等。

13.硬件時鐘怎樣實現(xiàn),其作用是什么?

硬件時鐘的工作原理是,在電路中的晶體振蕩器,每隔一定間隔產(chǎn)生固定的脈沖頻率,

時鐘電路中的時鐘寄存器依據(jù)時鐘電路所產(chǎn)生的脈沖數(shù),對時鐘寄存器進行加1的工作。

14.軟件時鐘怎樣實現(xiàn),其作用是什么?

軟件時鐘,常用作相對時鐘,它的工作原理主要是利用內存單元模擬時鐘寄存器,并采

用一段程序來計算響應的脈沖數(shù),對內存時鐘寄存器進行加1或減1的工作,從而模擬了時

鐘的功能。

15.什么是中斷,為什么說中斷對現(xiàn)代計算機很重要?

中斷是指處理器對系統(tǒng)外所發(fā)生的異步事件的響應。異步事件是指無一定時序關系的隨

機發(fā)生的事件。中斷時所有要打斷CPU的正常工作次序,并要求其去處理某一事件的一種

常用手段。中斷技術解決了主機和外設并行工作的問題,消除了因外設的慢速而使得主機等

待的現(xiàn)象,為多機操作和實時處理提供的硬件基礎。

16.中斷的作用是什么?

能充分發(fā)揮處理器的使用效率。因為輸入輸出設備可以用中斷的方式同處理器通信,

報告其完成處理器所要求的數(shù)據(jù)傳輸?shù)那闆r和問題,這樣可以免除處理器不斷地查詢和等待,

從而大大提高處理器的效率。

提高系統(tǒng)的實時能力。因為具有較高實時處理要求的設備,可以通過中斷方式請求及時

處理,從而使處理器立即運行該設備的處理程序(也是該中斷的中斷處理程序)。

”.中斷的向量是什么,其作用是什么?

引起中斷的事件稱為中斷事件或中斷源,計算機系統(tǒng)提供的中斷源的有序集合稱為中斷

字。處理某一種中斷事件的程序稱為中斷處理程序。為了使中斷裝置便于找到所需的中斷處

理程序,專門設計了中斷處理程序入口地址映射表,稱為中斷向量表,表中的每一項稱為中

斷向量,主要由程序狀態(tài)字PSW和程序計數(shù)器PC的值組成。中斷向量的作用是通過它可以

找到中斷處理程序在內存種的存儲位置。

18.中斷響應主要做哪些工作?

處理器接收中斷信號;

保護現(xiàn)場,將中斷斷點的程序狀態(tài)字PSW和程序計數(shù)器PC值存入系統(tǒng)堆棧;

分析中斷向量,取得中斷處理程序的入口地址;

將處理器的PC值置為中斷處理程序的入口地址;

調用中斷處理程序。

19.中斷處理的主要步驟是什么?

中斷處理指中斷信號已經(jīng)被中斷系統(tǒng)的硬件中斷裝置接收和響應之后,相應的中斷處理

程序進行中斷處理的步驟。包括檢查I/。相關的狀態(tài)信息,操縱I/O設備或者在設備和內存

之間傳送數(shù)據(jù)。在中斷處理程序結束工作之后,處理器會檢測到一條中斷返回指令,處理器

執(zhí)行此指令,把恢復中斷時所保護的中斷斷點現(xiàn)場,處理器也恢復成被中斷時的狀態(tài),整個

中斷處理結束。

20.為什么要對中斷進行屏蔽?

如果沒有中斷屏蔽,當中斷裝置響應了某個中斷后中斷處理程序在進行處理時,中斷裝

置也可能去響應另一個中斷事件,就會出現(xiàn)優(yōu)先級低的中斷事件的處理打斷優(yōu)先級高的中斷

事件的處理,使得中斷事件的處理順序與響應順序不一致,而且會形成多重嵌套處理,使多

現(xiàn)場保護、程序返回等工作變得復雜。因此設置中斷屏蔽。

21.多個中斷同時發(fā)生時,系統(tǒng)是怎樣處理的?

同時又多個中斷請求時,系統(tǒng)接收只能高端優(yōu)先級最高的中斷而忽略其中中斷優(yōu)先級較

低的中斷。如果同一中斷級中的多個設備接口都有中斷請求,則按照固定的優(yōu)先數(shù)或者輪轉

法確定響應的順序。

對多個中斷的處理策略一般有兩種:

(1)正當處理一個中斷時,此時系統(tǒng)將對任何新發(fā)生的中斷置之不理。在這期間發(fā)生

的中斷將保持掛起狀態(tài)。當處理滯再次允許中斷時,這個新的中斷信號會被處理器檢測到,

并作出處理。

(2)中斷嵌套。即按照優(yōu)先度分級,允許優(yōu)先級較高的中斷打斷優(yōu)先級較低的中斷處

理過程,于是引起中斷處理的嵌套。

22.闡述硬件中的中斷裝置的左右。

硬件的中斷裝置負責捕獲中斷源發(fā)出的中斷請求,并以一定的方式響應中斷源(將中斷

現(xiàn)場的程序狀態(tài)字PSW,指令計數(shù)器PC的值和其他重要現(xiàn)場信息壓入系統(tǒng)堆棧),然后將

處理器的控制權交給與中斷源相應的中斷處理程序。

硬件中斷裝置接收中斷信號,并把中斷信號寄存在中斷寄存器中。

23.哪些中斷時間一定會引起進程狀態(tài)的變化,哪些中斷事件可能引起進程狀態(tài)的變化,有

不引起進程狀態(tài)變化的中斷事件嗎?

一定會引起進程狀態(tài)變化的中斷事件:硬件故障中斷、輸入輸出中斷、自愿中斷;

可能會引起變化的中斷事件:外部性中斷事件、程序性中斷事件。

進程在執(zhí)行中狀態(tài)會不斷地改變,每個進程在任何時刻總是處于三種基本狀態(tài)之一:等

待態(tài)、就緒態(tài)、運行態(tài)。中斷事件是否引起進程狀態(tài)的變化,還要看該中斷事件的中斷優(yōu)先

級和進程PSW的中斷屏蔽位。硬釁故障中斷和自愿中斷是一定會引起進程狀態(tài)變化的,而

其他中斷則可能引起進程狀態(tài)變化。

24.操作系統(tǒng)為什么要提供‘系統(tǒng)調用'?

系統(tǒng)調用時操作系統(tǒng)為用戶程序提供的一種服務界面,也可以說是操作系統(tǒng)保證程序設

計語言能正常工作的一種支持。在源程序一級,用戶用程序設計語言描述算題任務的邏輯要

求,比如讀文件、寫文件、請求主資源等。這些要求的實現(xiàn)只有通過操作系統(tǒng)的系統(tǒng)調用才

能完成,其中有些要求還必須執(zhí)行硬件的特權指令才能達到目的。

為了從操作系統(tǒng)中獲得服務,用戶程序必須使用系統(tǒng)調用,系統(tǒng)調用陷入內核并調用操

作系統(tǒng)。系統(tǒng)調用是操作系統(tǒng)提供給編程人員的唯一接口。

25.在操作系統(tǒng)中實現(xiàn)系統(tǒng)調用機制應該解決哪些問題?

進程控制、文件操作、進程通信、設備管理、信息維護等等。

26.當應用程序執(zhí)行到系統(tǒng)調用時,系統(tǒng)時如何處理的?

當用戶使用操作系統(tǒng)調用時,產(chǎn)生一條相應的指令(異常指令),處理器在執(zhí)行到該指

令時發(fā)生相應的中斷,并發(fā)出有關信號給該處理機構(異常處理機構);該處理機構在收到

了處理器發(fā)生的信號后,啟動相關的處理程序去完成該系統(tǒng)調用所要求的功能。

當用戶使用操作系統(tǒng)調用時,通過使用訪管指令產(chǎn)生中斷,把目態(tài)切換成管態(tài),并啟用

操作系統(tǒng)。訪管指令包含對應系統(tǒng)調用的功能號。

第三章線程與進程

1.什么是多道程序設計?

允許多個程序同時進入內存并運行。

2.多道程序設計怎樣提高系統(tǒng)效率?多道程序設計一定能提高系統(tǒng)效率嗎?

采用多道程序設計能改善資源使用情況,提高系統(tǒng)效率。但是,采用多道程序設計也存

在一些問題。

(1)可能延長程序的執(zhí)行時間

(2)系統(tǒng)效率的提高有一定限度

3.操作系統(tǒng)為什么要引入“進程”?進程和程序有什么區(qū)別?

為了更好的描述程序的并發(fā)執(zhí)行,實現(xiàn)操作系統(tǒng)的并發(fā)性和共享性,引入進程的概念。

進程和程序既有聯(lián)系又有區(qū)別。

(1)進程和程序的聯(lián)系

程序是構成進程的組成部分之一,一個進程的運行目標是執(zhí)行它所對應的程序,

如果沒有程序,進程就失去了其存在的意義。從靜態(tài)的角度看,進程是由程序、數(shù)據(jù)和

進程控制塊PCB三部分組成的。

(2)進程和程序的區(qū)別

程序是靜態(tài)的,而進程是動態(tài)的。進程的程序的一個執(zhí)行過程。程序的存在是永

久的。而進程是為了程序的一次執(zhí)行而暫時存在的。進程有生命周期,有誕生,亦有消

亡。一個進程可以包括若干程序的執(zhí)行,而一個程序亦可以產(chǎn)生多個進程。

4.程序的并發(fā)執(zhí)行有什么特點?并發(fā)和并行有什么區(qū)別?

程序的并發(fā)執(zhí)行的特點有:

(1)在執(zhí)行期間并發(fā)程序相互制約

(2)程序與計算不再一一對應

(3)并發(fā)程序的執(zhí)行結果不再可現(xiàn)

程序的并行執(zhí)行和并發(fā)執(zhí)行存在差別。前者是指不論從宏觀的時間周期上看,還是從微

觀上看,若干程序確實在同時運行;而程序的并發(fā)執(zhí)行,如果在單處理器系統(tǒng)中,它們

在宏觀上是同時進行的,但在微觀上,這些程序仍然是順序執(zhí)行的。

5.可再入程序有什么特性?

能夠被多個用戶同時調用的程序稱作是可再入的程序??稍偃氤绦虮仨毷羌兇a的程

序,程序在執(zhí)行中不會修改自身的代碼??稍偃氤绦虻牟僮鲗ο螅磾?shù)據(jù),是與程序相分離

的。

6.進程有哪些基本狀態(tài)?它們的變化關系是怎樣的?

進程有三種基本狀態(tài):等待狀態(tài)、就緒狀態(tài)、運行狀態(tài)

等待狀態(tài):也稱阻塞狀態(tài)或封鎖狀態(tài)。是指進程因等待某種事件發(fā)生而暫時不能運行的

狀態(tài)。等待狀態(tài)一一>等待的事件已發(fā)生一一>就緒態(tài)

就緒狀態(tài):是指一個進程已經(jīng)具備運行條件,但由于沒有獲得處理器而不能運行所處的

狀態(tài)。就緒狀態(tài)---->進程調度--->運行態(tài)

運行狀態(tài):指進程已獲得處理器,并且在處理器上執(zhí)行的狀態(tài)。運行態(tài)一一>等待某一

事件發(fā)生一一>等待態(tài)。運行態(tài)一一>時間片已用完——>就緒態(tài)

7.系統(tǒng)中有n(n>l)個進程,在任一時刻,處于運行、就緒和等待狀態(tài)的進程最多、最少各有

多少個?

在單處理器系統(tǒng)中,任一時刻,處于運行狀態(tài)的進程最多只有一個,最少。個;處于就

緒狀態(tài)的進程最多有N-1個,最少為。個;處于等待狀態(tài)的進程最多有n個,最少有。個

8.進程控制塊的作用是什么?其主要內容有哪些?

進程控制塊是用來描述進程的基本情況以及進程的運行變化過程。進程控制塊PCB是

進程存在的唯一標志。

進程控制塊的內容可以分成調度信息和現(xiàn)場信息兩大部分。

調度信息供進程調度時使用,描述了進程當前所處的狀況,它包括進程名、進程號、地

址空間信息、優(yōu)先級、當前狀態(tài)、資源清單、家族關系、消息隊列指針、進程隊列指針和當

前打開文件等。

現(xiàn)場信息刻畫了進程的運行情況,只記錄了哪些可能會被其他進程改變的寄存器,如程

序狀態(tài)字、時鐘、界地址寄存器等。

9.進程能否修改訪問自己的進程控制塊內容?

進程控制塊是系統(tǒng)為程序建立的用于標志進程,記錄各進程執(zhí)行情況的。進程本身不能

訪問或者修改自己的進程控制塊的內容,但父進程可以訪問或修改其子孫進程的進程控制塊

內容,以便對它的子孫進程進行必要的管理和控制。

10.當進程調度選中一個進程后,怎樣才能讓它占用處理器?

當進程調度選中一個進程后,把選中進程的進程控制塊中有關的現(xiàn)場信息,如通用寄

存器、控制寄存器和程序狀態(tài)字寄存器的內容送入處理器相應的寄存器中,處理器就按該進

程的要求工作,達到了進程占用處理器的目的。

11.為什么要引入線程?線程和進程之間的區(qū)別和聯(lián)系是什么?

為了減少程序并發(fā)執(zhí)行時所付出的時間和空間開銷,使操作系統(tǒng)具有更好的并發(fā)性。

線程是進程中的一個實體,是處理器調度和分派的基本單位。進程是擁有資源的獨立單

位。

線程具有許多傳統(tǒng)進程的特征,故稱為輕量級進程或進程元。

12.為什么說線程間的狀態(tài)切換比進程間的狀態(tài)切換開銷更低?同一個進程中的兩個線程切

換的開銷是否也比不同進程中兩個線程切換的開銷少?

線程不擁有自己的系統(tǒng)資源,切換狀態(tài)時只需要保存少量的寄存器內容,不涉及存儲器

管理方面的操作:而進程擁有自己的系統(tǒng)資源,創(chuàng)建和撤箱時都需要進行資源分配或回收,

切換狀態(tài)時需要對整個當前進程的處理器環(huán)境進行保存,并對新的被調度的進程處理器環(huán)境

進行設置,這些操作都需要占用消耗系統(tǒng)資源。

同一進程間的線程具有相同的地址空間,共享相同的系統(tǒng)資源,切換方便,而不同進程

之間線程切換時則需要進行進程切換,所以同一進程間的線程切換時開銷也要小于不同進程

中的兩個線程切換的開銷。

13.進程調度的作用是什么?引起進程調度的因素有哪些?

進程調度的作用時:記錄系統(tǒng)中所有進程的執(zhí)行狀況;根據(jù)一定的調度算法,就就緒隊

列中選出一個進程,準備把處理器分配給它;把處理器分配給進程。

引起進程調度的因素有:

(1)正在執(zhí)行的進程運行完畢。

(2)正在執(zhí)行的進程由于某種借識而終止。

(3)時間片用完,即有一個進程從運行狀態(tài)變?yōu)榫途w狀態(tài)。

(4)正在執(zhí)行的進程調用阻塞原語將自己阻塞起來,即一個進程從運行狀態(tài)進入阻塞

狀態(tài)。

(5)創(chuàng)建了新的進程,即有一個新的進程進入就緒隊列。

(6)正在執(zhí)行的進程調用了喚醒源于操作激活了等待資源的進程,即一個等待狀態(tài)的

進程變?yōu)榫途w狀態(tài)。

14.搶占式調度和非搶占式調度有何區(qū)別?

可搶占方式,即就緒隊列中一旦有優(yōu)先級高于當前運行進程優(yōu)先級的進程存在時,便立

即進行調度,轉讓處理器。不可搶占方式,即一旦把處理器分配給一個進程,它就一直占用

處理器,直到該進程自己因調用原語操作或等待I/O而進入阻塞狀態(tài),或時間片用完時才讓

出處理器,重新執(zhí)行進程調度。

15.對于進程調度,較小的優(yōu)先級值是表示較低的優(yōu)先級還是表示較高的優(yōu)先級?

不同的操作系統(tǒng)中設定不同。在UNIX和許多其他系統(tǒng)中,大的優(yōu)先級值表示低優(yōu)先級

進程。許多系統(tǒng),比如WINDOWS,剛好相反,大數(shù)值表示高優(yōu)先級。

16.在一個單處理器的多道程序設計系統(tǒng)中,現(xiàn)有兩道進程同時執(zhí)行,其中一道以計算為主,

另一道以輸入輸出為主,將怎樣賦予進程進程占有處理器的優(yōu)先數(shù)?解釋為什么?

17.假定就緒隊列中的進程按優(yōu)先數(shù)自大到小順序排列,當有進程要加入就緒隊列時,應按

它的優(yōu)先數(shù)排入相應的位置,試就單向連接的方式寫出實現(xiàn)進程入隊的程序。

18.如下進程:

進程執(zhí)行時間優(yōu)先級到達時間開始時間結束時間等待時間

P150ms40ms0ms50ms0

P220ms120ms50ms70ms50ms

P3100ms340ms110ms210ms110ms

P440ms260ms70ms110ms70ms

⑴分別給出采用最短剩余時間算法、非搶占式優(yōu)先級算法(優(yōu)先級值越小,表小優(yōu)先

級越高)和時間片(30ms)輪轉算法的調度過程和進程執(zhí)行序列。

⑵計算上述每種調度策略的平均等待時間。

答:(1)非搶占式優(yōu)先算法如圖(2)非搶占式優(yōu)先級算法:(0+50+110+70)/4=57.5ms

19.本章第二節(jié)圖3-4包含了7個狀態(tài)。原則上,若在任意兩個狀態(tài)間進行轉換,則可能有

42種不同的轉換。

(1)列出所有可能的轉換,并舉例說明什么事件會觸發(fā)這些狀態(tài)轉換。

(2)列出所有不可能的轉換并說明原因

答:教材P85圖3-4略

20.有.5個進程P1,P2,P3,P4,P5,它們同時依次進入就緒隊列,它們的優(yōu)先數(shù)和需要的處理器

時間如表所示:

進程處埋器時間/us優(yōu)先數(shù)

Pl103

P211

P323

P414

P552

忽略進行調度等所花費的時間,請回答下列問題。

(1)寫出分別采用先來先服務算法和非搶占式的優(yōu)先級調度算法選中進程執(zhí)行的次序。

(2)分別計算出上述兩種算法使各進程在就緒隊列中的等待時間以及兩種算法下的平

均等待時間。

答:(1)執(zhí)行次序:先來先服務P1-P2-P3-P4-P5。非搶占式優(yōu)先級P2-P5-P1-P3-P4

(2)平均等待時間:先來先服務(0+10+11+13+14)/5=9.6

非搶占式優(yōu)先級(5+0+16+18+1)/5=8.2

21.在分級調度算法中,為什么對不同就緒隊列中的進程規(guī)定使用不同長度的時間片?

因為各個就緒隊列的優(yōu)先級不一樣,優(yōu)先級越高的隊列時間片長度越小,優(yōu)先級越低的

隊列時間片越長,這樣做的目的就是讓哪些短而高優(yōu)先級的作業(yè)迅速完成,而又讓大的作業(yè)

能夠處理完成。

22.為什么說多級反饋隊列調度算法能較好的滿足各類用戶的需要?

多級反饋隊列法綜合了先進先出調度算法、時間片輪轉算法和可搶占式最高優(yōu)先級算法

的一種進程調度算法。

23.系統(tǒng)內核包含哪些功能?內核的特點是什么?

系統(tǒng)內核提供下列功能:中斷處理程序、進程同步與互斥、進程調度、控制與通信、存

儲管理的基本操作以及時鐘管理等。

內核只占整個操作系統(tǒng)代碼中的一小部分,就是最接近裸機的部分,內核就是進程賴以

活動的基礎,內核的功能通過原語操作來實現(xiàn)。

第四章進程的同步與互斥

1.何謂與時間有關的錯誤?舉例說明之。并發(fā)進程執(zhí)行時一定會產(chǎn)生與時間有關的錯誤碼?

為什么?

并發(fā)進程中共享了公共變量,使得程序的計算結果與并發(fā)程序執(zhí)行的速度有關,這種錯

誤的結果又往往是與時間有關的,所以,把它稱之為與時間有關的錯誤。

2.什么是臨界區(qū)?什么是相關臨界區(qū)?對相關臨界區(qū)的使用規(guī)則?

若在系統(tǒng)中的某些資源一次只允許一個進程使用,則這類資源稱為臨界資源或共享變量,

而在進程中訪問臨界資源的程序稱為臨界區(qū)。

如果又若干進程共享某一臨界區(qū),則稱該臨界區(qū)為相關臨界區(qū)。

要求進入相關臨界區(qū)的進程之間構成了互斥關系,為了保證系統(tǒng)中各并發(fā)進程順利運行,

對兩個以上欲進入相關臨界區(qū)的進程,必須實行互斥。

3.若用P、V操作管理某一組相關臨界區(qū),其信號量S的值在卜1,1]之間變化,當S=-1,S=O,S=1

時,它們各自的物理含義是什么?

當S>0時,S值的大小表示某類可用資源的數(shù)量,即表示有該類資源可以分配。

當S<0時,表示沒有可分配的資源數(shù)量,其S的絕對值表示排在S信號量的等待隊列中

進程的數(shù)目。

4.兩個并發(fā)執(zhí)行的進程A和B的程序如下:

進程Awhile(true){N=N+5;};進程Bwhile(true){打印N的值;N=0;};

其中,N為整數(shù),初值為4.若進程A先執(zhí)行了三個循環(huán)后,進程A和進程B又并發(fā)執(zhí)

行了一個循環(huán),寫出可能出現(xiàn)的打印值。正確的打印值應該是多少?請用P、V操作進行管

理,使進程A和B并發(fā)執(zhí)行時不會出現(xiàn)與時間有關的錯誤。

5.a,b兩點之間有一段單行車道,現(xiàn)在設計一個自動管理系統(tǒng),管理規(guī)則如下:允許同方

向的車同時駛入ab段,但另一方向的車必須在ab段外等待;當ab之間無車輛在行駛時,

到達a點(或b點)的車輛可以進入ab段,但不能從a點和b點同時駛入;當某方向在ab

段行駛的車輛駛出了ab段且暫無向方向的車進入ab段時,應讓另一方向等待的車輛進入

ab段行駛。請編寫程序,用P、V操作實現(xiàn)對ab段的正確管理以保證行駛安全。

6.有三個并發(fā)進程R,M,P,它們共享一個緩沖器B0進程R負責從輸入設備讀信息,每讀出

一個記錄后把它存放在緩沖器B中,進程M在緩沖器B中加工進程R存入的記錄,進程P

把加工后的記錄打印輸出。緩沖器B中每次只能存儲一個記錄,當記錄被加工輸出后,緩沖

器B中又可存儲一個新紀錄。請用P,V操作為同步機制寫出它們并發(fā)執(zhí)行時能正確工作的程

序。

7.公共汽車上,司機和售票員的工作流程如下。為保證乘客的安全,司機和售票員應密切配

合協(xié)調工作,請編寫程序,用P,V操作來實現(xiàn)司機和售票員之間的同步。

司機售票員;啟動車輛關門;正常行駛售票;到站停車開門;

8.某銀行有人民幣儲蓄業(yè)務,由n各柜臺人員負責。每個顧客進入銀行后先取一個號,并

且等著叫號。當?個柜臺人員空閑下來,就叫下個號。試用P,V操作正確編寫柜臺人員

和顧客進程的程序。

9.設有A,B,C三個進程共享一個存儲資源F。A對F只讀不寫,B對F只寫不讀,C對F先讀

后寫。(當一個進程寫F時,其他進程既不能讀F,也不能寫F,但多個進程同時讀F是允許

的)。試利用或P,V操作,寫出A,B,C三個進程的框圖,要求:1執(zhí)行E確;2正常運行時不

產(chǎn)生死鎖;3使用F的并發(fā)度要高。

12.有一個閱覽室,讀者進入時必須先在一張登記表上進行登記,該表為每一座位列出一個

表目,包括座位號、姓名、讀者離開時撤銷登記信息。閱覽室有100各座位。試用P,V操作

描述這些進程間的同步關系。

13.

14.進程間有哪幾種通信方式?各有什么特點?各種方式分別適用于哪些情況?

解決進程之間的大量信息通信的問題有三類方案:共享內存、消息機制以及通過共享文

件進行通信,即管道通信。

共享內存:在相互通信的進程之間設有一個公共內存區(qū),一組進程向該公共內存中寫,

另一組進程從公共內存中讀,通過這種方式實現(xiàn)兩組進程間的信息交換。

消息機制:是用于進程間通信的高級通信原語之一。

(1)消息緩沖通信:利用內存中的公共消息緩存區(qū)實現(xiàn)進程之間的信息交換。消息緩

沖區(qū)是由:消息長度、消息正文、發(fā)送者、消息隊列指針組成的數(shù)據(jù)結構。

(2)信箱通信:為了實現(xiàn)進程間的通信,可以設立一個通信機構-一心想,以發(fā)送信件

以及接收回答信件為進程間通信的基本方式。

一個信箱的結構可以由信箱說明和信箱體兩部分組成。信箱說明有如下的數(shù)據(jù)結構:

可存信件數(shù)、已有信件數(shù)。

管道通信:所謂管道,就是連接兩個進程之間的一個打開的共享文件,專用于進程之間

進行數(shù)據(jù)通信。管道通信的基礎是文件系統(tǒng)。

第五章死鎖

1.考慮圖5-1所示的交通死鎖情況,說明其產(chǎn)生死鎖的四個必要條件;給出一種可以避免死

鎖發(fā)生的簡單方法?

產(chǎn)生死鎖的四個必要條件:

(1)互斥條件資源是獨占的且排他使用。進程互斥使用資源,即任一時刻一個資源只

能給一個進程使用。

(2)不可剝奪條件又稱不可搶占或不可強占。進程所獲得的資源在未使用完畢之前,

不能被其他進程強行剝奪。

(3)請求和保持條件又稱部分分配或占有申請。進程先申請它所需要的一部分資源,

在申請新的資源的同時,繼續(xù)占用已分配到的資源。

(4)循環(huán)等待條件又稱環(huán)路等待。環(huán)路中的每個進程已占有的資源同時被另一進程所

申請。

在資源的動態(tài)分配過程中,采取某種方法防止系統(tǒng)進入不安全狀態(tài),從而避免死鎖的發(fā)

生。這種方法只需以較弱的限制條件為代價,并可獲得較高的資源利用。

2.死鎖和‘饑餓’有什么相同點和不同點?

若對資源的管理、分配和使用不當,則會產(chǎn)生死鎖或者饑餓。

死鎖是指在多道程序系統(tǒng)中,一組進程中的每一個進程均無限期地等待被該組進程中的

另一個進程所占有且永遠不會釋放的資源,這種現(xiàn)象稱系統(tǒng)處于死鎖狀態(tài),簡稱死鎖。

饑餓是指系統(tǒng)不能保證某個進程的等待時間上界,從而使該進程長時間等待,當?shù)却龝r

間給進程推進和相應帶來明顯影響時,稱發(fā)生了進程饑餓。當饑餓到一定程度的進程所賦予

的任務即使完成也不再具有實際意義時稱該進程被餓死。

3.試敘述死鎖產(chǎn)生的原因、必要條件和解鎖死鎖的方法。

產(chǎn)生死鎖的原因主要有兩個:一是競爭資源,系統(tǒng)提供的資源數(shù)量有限,不能滿足每個

進程的需求。二是多道程序運行時,進程推進順序不合理。

必要條件:互斥條件、不可剝奪條件、請求和保持條件、循環(huán)等待條件。

若檢測后發(fā)現(xiàn)系統(tǒng)又死鎖,可通過剝奪資源或撤銷進程的方法解除死鎖。

4.試舉出日常生活中死鎖的例子,并說明之。

設一條河上有一座獨木橋,過河的人總是沿著自己過河的方向前進而不后退,并且沒有

規(guī)定兩岸的人必須誰先過河,則在此獨木橋上就可能發(fā)生死鎖現(xiàn)象。

5.有3個進程共享4個資源,進程對資源的分配與釋放只能一次一個,每個進程最多需要2

個資源。試問該系統(tǒng)會發(fā)生死鎖嗎?

不會。三個進程P1,P2,P3各分配一個資源,系統(tǒng)剩余一個資源,不論分配給哪個進程

都可以滿足進程的需求然后釋放資源。

6.

7.下面關于死鎖問題的敘述哪些是正確的?哪些是錯誤的?請說明原因。

(1)參與死鎖的所有進程都占有資源。

(2)參與死鎖的所有進程中至少有兩個進程占有資源。

(3)死鎖只發(fā)生在無關進程之間。

(4)死鎖可發(fā)生在任意進程之間。

正確:(2)

原因:死鎖是指一組進程中每一個進程均無限期的等待被該組進程中的另一個進程所占

有且永遠不會釋放的資源。

8.死鎖預防、死鎖避免和死鎖檢測之間的區(qū)別是什么?

死鎖預防:預先確定一些資源分配策略,進程按規(guī)定申請資源,系統(tǒng)按預定的策略進行

分配,這些分配策略均能使產(chǎn)生死鎖的四個必要條件之一不成立,從而使系統(tǒng)不會發(fā)生死鎖

死鎖避免:當進程提出資源申請時,系統(tǒng)動態(tài)測試資源分配情況,僅當能確保系統(tǒng)安全

時才把資源分配給進程。

死鎖檢測:允許系統(tǒng)中發(fā)生死鎖,即對資源的申請和分配不加任何限制,只要有剩余的

資源就把資源分配給申請進程。因此就可以出現(xiàn)死鎖,但是系統(tǒng)將不斷跟蹤所有進程的進展,

定時運行?個'死鎖檢測程序若檢測后沒有發(fā)現(xiàn)死鎖,則系統(tǒng)可以繼續(xù)工作,若檢測后

發(fā)現(xiàn)系統(tǒng)有死鎖,則可通過剝奪資源或撤銷進程的方法借出死鎖。

9.如何防止循環(huán)等待條件的發(fā)生?

采用資源的有序分配法。其基本思想是將系統(tǒng)中所有資源順序編號。一般原則是,較為

緊缺、稀少的資源的編號較大。進程申請資源時,必須嚴格按照資源編號的順序進行,否則

系統(tǒng)不予分配。即一個進程只有得到編號小的資源,才能申請編號較大的資源;釋放資源時,

應按編號遞減的次序進行。

10.Dijkstra等人提出的銀行家算法,其主要思想是什么?它能夠用來解決實際中的死鎖問題

嗎?為什么?

進程首先提出對資源的最大需求量,當進程在執(zhí)行中每次申請資源時,系統(tǒng)測該進程己

占用的資源與本次申請的資源數(shù)之和是否超過了該進程對資源的最大需求量。若超過則拒絕

分配資源,若沒有超過,則系統(tǒng)再測試系統(tǒng)現(xiàn)存的資源能否滿足該進程尚需的最大資源量,

若能滿足則按當前的申請量分配資源,否則也要推遲分配。

這樣做,能保證再任何時刻至少有一個進程可以得到所需要的全部資源而執(zhí)行結束,執(zhí)

行結束后歸還的資源加入到系統(tǒng)的剩余資源中。

11.考慮這樣一種分配策略:對資源的申請和釋放可以在任何時刻進行。如果一個進程的資

源得不到滿足,則考察所有由于等待資源而被阻塞的進程,如果它們有申請進程所需要的

資源,則把這些資源取出分給申請進程。

(1)這種分配方式會導致死鎖嗎?若會,舉一個例子;若不會,說明死鎖的哪一個必要

條件不成立。

(2)會導致某些進程的無限等待嗎?

答:(1)破壞了不可剝奪條件。(2)會造成一些資源在很長時間內得不到使用

.假定一個系統(tǒng)有種資源,當前系統(tǒng)狀態(tài)如圖?所示。該狀態(tài)安全嗎?

124R={6Z4A2},514

請闡述理由。

進程目前占有量最大需求量尚需求量

資源申請

ABCDABCDABCD

P1201132111200

P2110012020102

P3110011200020

P4101032102200

P5010121012000

系統(tǒng)剩余資源1120

答:系統(tǒng)剩余資源1120能滿足進程P3的需求,故分配給P3后P3釋放資源,系統(tǒng)剩余資

源分別為2220,可滿足P1,分配給P1后P1釋放資源,系統(tǒng)剩余資源分別為4232,依

次類推可滿足所有進程需求,所以該狀態(tài)是安全狀態(tài)。

13.一個計算機系統(tǒng)有某種資源6個,供n個進程使用,每個進程至少需要2個資源。當n

為何值時,系統(tǒng)不會發(fā)生死鎖?

n<=3時,系統(tǒng)不會發(fā)生死鎖,

第六章存儲管理

1.存儲管理的主要功能有哪些?

存儲管理的主要任務有:

(1)存儲分配,為用戶分配存儲空間,在不需要時及時回收,內存分配有靜態(tài)分配和

動態(tài)分配方式

(2)內存共享,使多個進程共用內存中相同區(qū)域,包括代碼共享和數(shù)據(jù)共享

(3)存儲保護,使系統(tǒng)正常運行,避免內存中各個程序相互干擾

(4)擴充內存容量,使用戶得到的比實際內容量大的多。

2.解釋下列術語:邏輯地址、絕對地址、地址重定位。

一般而言,存儲器以字節(jié)為編址單位,每個字節(jié)都有一個地址于其對應。假定存儲器的

容量為n個字節(jié),其地址編號為0,1,…,n-1,這些地址稱為內存的絕對地址。

在多道程序設計的系統(tǒng)中,內存中同時存儲了多個用戶程序。操作系統(tǒng)根據(jù)內存的使用

情況為用戶分配內存空間。因此,每個用戶不能預先直到他的程序將被存儲到內存的什么位

置。這樣,用戶程序中就不能使莊內存的絕對地址。為了方便用戶,每個用戶都可認為自己

的程序和數(shù)據(jù)存儲在一組‘0'地址開始的了連續(xù)空間中。用戶程序中使用的地址稱為邏輯

地址。

把邏輯地址轉換成絕對地址的工作稱為地址重定位或地址轉換,又稱地址映射。重定位

的方式可以有靜態(tài)重定位和動態(tài)重定位兩種。

3.在可變分區(qū)的管理方式下,什么是碎片?如何解決碎片問題?

可變分區(qū)是指系統(tǒng)不預先劃分固定分區(qū),而是在裝入程序時劃分內存分區(qū),使為程序分

配的分區(qū)的大小正好等于該程序的需求量,且分區(qū)的個數(shù)是可變的。

內存經(jīng)過一段時間的分配回收后,會存在很多很小的空間塊。它們每一塊都很小,不足

以滿足程序分配內存的要求,但其總和卻可以滿足程序的分配要求,這些空閑塊被稱為碎片。

解決碎片問題的辦法是在適當時刻進行碎片整理,通過移動內存中的程序,把所有空閑

碎片合并成一個連續(xù)的大空間區(qū)且放在內存的一端,而把所有程序占用區(qū)放在內存的另一端。

這一技術稱為緊縮技術或壓縮技術。

4.采用緊縮技術有什么優(yōu)點?移動一道程序時操作系統(tǒng)要做哪些工作?

緊縮技術可以集中分散的空閑區(qū),提高內存的利用率,便于進程的動態(tài)擴充內存

5.設在內存中按地址遞增次序有三個不連續(xù)的空閑區(qū)F1,F2,F3,它們的容量分別是

60KB,130KB,20KB。請給出一個后備進程序列,使得實施存儲分配時:

(1)采用最優(yōu)適應算法將取得好的效果,而采用最壞適應算法和最先適應算法效果都

不好。

(2)采用最優(yōu)適應算法效果不好,而采用最壞適應算法和最先適應算法都可取得好的

效果。

(3)采用最壞適應算法將取得好的效果,而采用最先適應算法和最優(yōu)適應算法效果都

不好

(4)采用這三種算法都可取得好效果

(5)采用這三種算法效果都不好

6.用可變分區(qū)方式管理內存時,假定內存中按地址順序依次有五個空閑區(qū),空閑區(qū)的大小依

次為32KB,10KB,5KB,228KB,100KB?,F(xiàn)有五個程序J1,J2,J3,J4,J5。它們各需內存

1KB,1KB,108KB,28KB,115KB。若采用最先適應分配算法能把這五個程序按J1~J5的次序全部裝

入內存嗎?你認為按怎樣的次序裝入這五個程序可使內存空間利用率最高?

答:可以。采用最優(yōu)適應算法內存空間利用率最高。

7.解釋頁式存儲管理中為什么要設置頁表和TLBo

頁表指出該程序虛擬地址中的頁號與所占用的物理頁面號之間的對應關系。頁表又是硬

件進行地址轉換的依據(jù),每執(zhí)行一條指令時按虛擬地址中的頁號查頁表。

頁式存儲管理中的頁表是存儲在內存中的。于是,當要按給定的虛擬地址進行讀寫時,

必須訪問兩次內存。第一次按頁號讀出頁表中對應的塊號,第二次按計算出來的絕對地址進

行讀寫。兩次訪問內存顯然延長了指令的執(zhí)行周期,降低了執(zhí)行速度。

為了提高存區(qū)速度,在地址映射機制中增加了一個小容量的聯(lián)想寄存器(相聯(lián)存儲器),

它由高速緩沖存儲器組成。利用告訴緩沖存儲器存儲當前訪問最頻繁的少數(shù)活動頁面的頁號,

這個告訴緩沖存儲器稱為'轉換檢測緩沖區(qū)TLB'或‘快表

8.設計一個頁表應考慮哪些因素。

物理頁面號、有效位、訪問位、修改位、保護位等等。

9.請敘述頁式存儲管理中地址轉換的過程。

為了實現(xiàn)頁式存儲管理,系統(tǒng)要提供一對硬件的頁表控制寄存器,即頁表始址寄存器和

頁表長度寄存器,另外還需要告訴緩沖存儲器的支持.

物理地址=物理頁面號*塊長+頁內地址

14.頁式存儲管理系統(tǒng)中程序的地址空間是一維的還是二維的?請說明理由。

15.FIFO算法和時鐘頁面置換算法有何聯(lián)系?

16.簡述什么是覆蓋技術,什么是交換技術?它們之間的區(qū)別是什么?

覆蓋技術是指一個程序的若干程序段,或幾個程序的某些部分共享某一個存儲空間。覆

蓋技術的實現(xiàn)是把程序劃分成若干個功能上相對獨立的程序段,按照自身的邏輯結構使哪些

不會同時執(zhí)行的程序段共享同一塊內存區(qū)域。

交換技術又稱對換技術,是進程在內存與外存之間的動態(tài)調度,是由操作系統(tǒng)控制的。

同覆蓋技術一樣,交換技術也是利用外存來邏輯地擴充內存,它地主要特點是,打破了

一個程序一旦進入內存便一直運行到結束的限制。

與覆蓋技術相比,交換技術不要求用戶給出程序段之間的邏輯覆蓋結構,對用戶而言是

透明的。而且,交換可以發(fā)生在不同的進程或程序之間,而覆蓋發(fā)生在同一進程或程序內部,

而且只能覆蓋那些與覆蓋段無關的程序段。因此,交換技術比覆蓋技術更加廣泛的用于現(xiàn)代

操作系統(tǒng)。

17.何謂程序局部性原理,請舉出三個例子。

是指程序在執(zhí)行時呈現(xiàn)出局部性規(guī)律,即在一段時間內,整個程序的執(zhí)行僅限于程序中

的某一部分。相應地,執(zhí)行所訪問的存儲空間也局限于某個內存區(qū)域。

18.虛擬存儲器是什么?為什么要引入虛擬存儲器?

虛擬存儲器,實際上是為擴大內存容量而采用的一種設計技巧。

19.敘述虛擬頁式存儲管理方案的基本思想。為了實現(xiàn)虛擬頁式存儲管理,系統(tǒng)必須提供的

硬件支持有哪些?

虛擬頁式存儲管理的思想:存儲管理部件首先把內存分成大小相等的許多區(qū),把每個區(qū)

成為物理頁面,物理頁面是進行內存空間分配的物理單位。同時,要求程序中的邏輯地址也

進行分頁,頁的大小與物理頁面的大小一致。此時邏輯地址可被稱為虛擬地址。這樣,就可

把程序信息按頁存放到物理頁面中。

支持頁式存儲管理的硬件部件通常稱為:存儲管理部件。

21.有一個虛擬存儲系統(tǒng)。分配給某進程3頁內存,開始時內存為空,頁面訪問序列如下;6,

5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5

(1)若采用先進先出FIFO頁面置換算法,缺頁次數(shù)為多少?

(2)若采用最近最少使用LRU頁面置換算法,缺頁次數(shù)為多少?

(3)若采用理想頁面置換算法呢?

答:⑴FIFO

65432154365432165

短65432154365432165

中6543215436543216

長654321543654321

缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺

缺頁次數(shù)17,缺頁率100%

(2)LRU

65432154365432165

短65432154365432165

中6543215436543216

長654321543654321

缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺缺

缺頁次數(shù)17,缺頁率100%

(3)理想OPT

65432154365432165

短65432111366632111

中6544444444466666

長655555555555555

缺缺缺缺缺缺缺缺缺缺缺

缺頁次數(shù)11,缺頁率11/16

23.什么是異常現(xiàn)象(或稱belady現(xiàn)象)?你能找出一個異?,F(xiàn)象的例子嗎?

25.缺頁異常的處理過程是軟硬件配合完成的,請敘述缺頁異常處理過程。

當發(fā)生缺頁異常時,操作系統(tǒng)必須在內存中選擇一個頁面將其移出內存,以便為即將調

入的頁面讓出空間。整個缺頁處理過程簡單闡述如下:

(1)根據(jù)對當前執(zhí)行指令中的邏輯地址查頁表的有效位,判斷該頁是否在內存

(2)該頁標志為0,形成缺頁異常。保留現(xiàn)場,中斷裝置通過交換PSW讓操作系統(tǒng)的

中斷處理程序占用處理器。

(3)操作系統(tǒng)處理缺頁異常,尋找一個空閑的頁面。

(4)若有空閑頁,則把磁盤上讀出的信息裝入該頁面中。

(5)修改頁表及內存分配表,表示該頁已在內存。

(6)若內存中無空閑頁,則按某種算法選擇一個已在內存的頁面,暫時跳出內存。

(7)恢復現(xiàn)場,重新執(zhí)行被中斷的指令。

26.試述缺頁與一般中斷的主要區(qū)別。

27.何謂系統(tǒng)的顛簸現(xiàn)象?為什么會出現(xiàn)這一現(xiàn)象?當系統(tǒng)發(fā)生顛簸時,應該采取什么措施

來加以克服?

如果剛被調出的頁面又立即要用,因而又要把它裝入,而裝入不久又被選中調出,調出

不久又被裝入,如此反復,使調度非常頻繁。這種現(xiàn)象稱為抖動或顛簸。

在虛存中,頁面可能在內存外存張間頻繁的電鍍,有可能出現(xiàn)顛簸。顛簸是因為缺頁率

高而引起的。

采用工作機模型,為每個進程保持一個工作及,通過動態(tài)體哦正,使進程獲得與工作集

相等的物理葉敏數(shù),可以解決顛簸問題。

24.什么是工作集?它的作用是什么?

對于給定的進程訪問序列,從時刻到時刻t之間所訪問頁面的集合,稱為該進

程的工作集。工作集是隨時間而變化的。

第七章文件系統(tǒng)

1.什么是文件和文件系統(tǒng)?文件系統(tǒng)的功能是什么?

文件可以被解釋為一組帶標識的、在邏輯上有完整意義的信息項的序列。

所謂文件系統(tǒng),是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件。它管理文件的存儲、檢索、

更新,提供安全可靠的共享和保護手段,并且方便用戶使用。

從用戶的角度來看,文件系統(tǒng)負責為用戶建立文件、讀寫文件、修改文件、復制文件和

撤銷文件。

文件系統(tǒng)應具有下述功能:

(1)統(tǒng)一管理文件的存儲空間,實施存儲空間的分配和回收。

(2)實現(xiàn)文件從名字空間到外存地址空間的映射。即實現(xiàn)文件的按名存區(qū),以對用戶

透明的方式管理名字空間。

(3)實現(xiàn)文件信息的共享,并提供文件的保護和保密措施。

(4)向用戶提供一個方便使用的接口(提供對文件系統(tǒng)操作命令,以及提供對文件的

操作命令:信息存區(qū)、加工等)。

(5)系統(tǒng)維護及向用戶提供有關信息。

(6)保持文件系統(tǒng)的執(zhí)行效率。

(7)提供與I/。的統(tǒng)一接口。

2.文件按其用途和性能可分為幾類?

溫馨提示

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

評論

0/150

提交評論