日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

计算机操作系统第四版课后习题答案(完整版)

發(fā)布時(shí)間:2023/12/14 windows 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机操作系统第四版课后习题答案(完整版) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一章

1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?

答:(1)有效性 (2)方便性 (3)可擴(kuò)充性 (4)開放性

2.OS的作用可表現(xiàn)在哪幾個(gè)方面?

答:(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口

(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者

(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象

3.為什么說(shuō)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?

答:OS首先在裸機(jī)上覆蓋一層I/O設(shè)備管理軟件,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層次抽

象;在第一層軟件上再覆蓋文件管理軟件,實(shí)現(xiàn)了對(duì)硬件資源操作的第二層次抽象。OS 通

過(guò)在計(jì)算機(jī)硬件上安裝多層系統(tǒng)軟件,增強(qiáng)了系統(tǒng)功能,隱藏了對(duì)硬件操作的細(xì)節(jié),由它們

共同實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。

4.試說(shuō)明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?#xff1f;

答:主要?jiǎng)恿?lái)源于四個(gè)方面的社會(huì)需求與技術(shù)發(fā)展:

(1)不斷提高計(jì)算機(jī)資源的利用率;

(2)方便用戶;

(3)器件的不斷更新?lián)Q代;

(4)計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展。

5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?

答:脫機(jī)I/O 是指事先將裝有用戶程序和數(shù)據(jù)的紙帶或卡片裝入紙帶輸入機(jī)或卡片機(jī),在

外圍機(jī)的控制下,把紙帶或卡片上的數(shù)據(jù)或程序輸入到磁帶上。該方式下的輸入輸出由外圍

機(jī)控制完成,是在脫離主機(jī)的情況下進(jìn)行的。

而聯(lián)機(jī)I/O方式是指程序和數(shù)據(jù)的輸入輸出都是在主機(jī)的直接控制下進(jìn)行的。

6.試說(shuō)明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?#xff1f;

答:推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ歉玫貪M足用戶的需要。主要表現(xiàn)在:CPU 的

分時(shí)使用縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間;人機(jī)交互能力使用戶能直接控制自己的作業(yè);主機(jī)的

共享使多用戶能同時(shí)使用同一臺(tái)計(jì)算機(jī),獨(dú)立地處理自己的作業(yè)。

7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?

答:關(guān)鍵問(wèn)題是當(dāng)用戶在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,

在用戶能接受的時(shí)延內(nèi)將結(jié)果返回給用戶。

解決方法:針對(duì)及時(shí)接收問(wèn)題,可以在系統(tǒng)中設(shè)置多路卡,使主機(jī)能同時(shí)接收用戶從各個(gè)終

端上輸入的數(shù)據(jù);為每個(gè)終端配置緩沖區(qū),暫存用戶鍵入的命令或數(shù)據(jù)。針對(duì)及時(shí)處理問(wèn)題,

應(yīng)使所有的用戶作業(yè)都直接進(jìn)入內(nèi)存,并且為每個(gè)作業(yè)分配一個(gè)時(shí)間片,允許作業(yè)只在自己

的時(shí)間片內(nèi)運(yùn)行,這樣在不長(zhǎng)的時(shí)間內(nèi),能使每個(gè)作業(yè)都運(yùn)行一次。

8.為什么要引入實(shí)時(shí)OS?

答:實(shí)時(shí)操作系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處

理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。引入實(shí)時(shí)OS 是為了滿足應(yīng)用的需求,更好地滿

足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。

9.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說(shuō)明。

答:硬實(shí)時(shí)任務(wù)是指系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果。

舉例來(lái)說(shuō),運(yùn)載火箭的控制等。

軟實(shí)時(shí)任務(wù)是指它的截止時(shí)間并不嚴(yán)格,偶爾錯(cuò)過(guò)了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影

響不大。舉例:網(wǎng)頁(yè)內(nèi)容的更新、火車售票系統(tǒng)。

10.在8位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?

答:單用戶單任務(wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.

11.試列出Windows OS中五個(gè)主要版本,并說(shuō)明它們分別較之前一個(gè)版本有何改進(jìn)。

答:

(1)Microsoft Windows 1.0是微軟公司在個(gè)人電腦上開發(fā)圖形界面的首次嘗試。

(2)Windows 95是混合的16位/32位系統(tǒng),第一個(gè)支持32位。帶來(lái)了更強(qiáng)大、更穩(wěn)

定、更實(shí)用的桌面圖形用戶界面,結(jié)束了桌面操作系統(tǒng)間的競(jìng)爭(zhēng)。

(3)Windows 98是微軟公司的混合16位/32位Windows操作系統(tǒng),改良了硬件標(biāo)準(zhǔn)

的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng)。

(4)Windows XP是基于Windows2000的產(chǎn)品,擁有新用戶圖形界面月神Luna。簡(jiǎn)

化了用戶安全特性,整合了防火墻。

(5)Windows Vista 包含了上百種新功能;特別是新版圖形用戶界面和WindowsAero

全新界面風(fēng)格、加強(qiáng)的搜尋功能(Windows IndexingService)、新媒體創(chuàng)作工具以及重

新設(shè)計(jì)的網(wǎng)絡(luò)、音頻、輸出(打印)和顯示子系統(tǒng)。。

12.試從交互性、及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。

答:(1)及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受

的等待時(shí)間來(lái)確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對(duì)象所要求的開始截止時(shí)間或完成

截止時(shí)間來(lái)確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微妙。

(2)交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪問(wèn)系統(tǒng)中某

些特定的專用服務(wù)程序。不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)和資源共享等服務(wù)。

(3)可靠性:分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)具有高度

的可靠性。因?yàn)槿魏尾铄e(cuò)都可能帶來(lái)巨大的經(jīng)濟(jì)損失,甚至是災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng)

中,往往都采取了多級(jí)容錯(cuò)措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性。

13.OS有哪幾大特征?其最基本的特征是什么?

答:并發(fā)性、共享性、虛擬性和異步性四個(gè)基本特征;最基本的特征是并發(fā)性。

14.處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?

答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度;

進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過(guò)程中的狀態(tài)轉(zhuǎn)換。

進(jìn)程同步:為多個(gè)進(jìn)程(含線程)的運(yùn)行______________進(jìn)行協(xié)調(diào)。

通信:用來(lái)實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。

處理機(jī)調(diào)度:

(1)作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所需

的資源(首選是分配內(nèi)存)。

(2)進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給

它,并設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入執(zhí)行。

15.內(nèi)存管理有哪些主要功能?他們的主要任務(wù)是什么?

答:內(nèi)存管理的主要功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。

內(nèi)存分配:為每道程序分配內(nèi)存。

內(nèi)存保護(hù):確保每道用戶程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。

地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對(duì)應(yīng)的物理地址。

內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請(qǐng)求調(diào)用功能,置換功能等。

16.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?

答:主要功能有: 緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。

主要任務(wù): 完成用戶提出的I/O 請(qǐng)求,為用戶分配I/O 設(shè)備;提高CPU 和I/O 設(shè)

備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.

17.文件管理有哪些主要功能?其主要任務(wù)是什么?

答:文件管理主要功能:文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。

文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證文件安全性。

18.是什么原因使操作系統(tǒng)具有異步性特征?

答:操作系統(tǒng)的異步性體現(xiàn)在三個(gè)方面:一是進(jìn)程的異步性,進(jìn)程以人們不可預(yù)知的速度向

前推進(jìn),二是程序的不可再現(xiàn)性,即程序執(zhí)行的結(jié)果有時(shí)是不確定的,三是程序執(zhí)行時(shí)間的

不可預(yù)知性,即每個(gè)程序何時(shí)執(zhí)行,執(zhí)行順序以及完成時(shí)間是不確定的。

19.模塊接口法存在哪些問(wèn)題?可通過(guò)什么樣的途徑來(lái)解決?

答:(1)模塊接口法存在的問(wèn)題:①在OS設(shè)計(jì)時(shí),各模塊間的接口規(guī)定很難滿足在模塊完

成后對(duì)接口的實(shí)際需求。②在OS 設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定,每一個(gè)決定必

須建立在上一個(gè)決定的基礎(chǔ)上。但模塊化結(jié)構(gòu)設(shè)計(jì)的各模塊設(shè)計(jì)齊頭并進(jìn),無(wú)法尋找可靠的

順序,造成各種決定的無(wú)序性,使程序設(shè)計(jì)人員很難做到設(shè)計(jì)中的每一步?jīng)Q定都建立在可靠

的基礎(chǔ)上,因此模塊接口法被稱為“無(wú)序模塊法”。

(2)解決途徑:將模塊接口法的決定順序無(wú)序變有序,引入有序分層法。

20.在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?

答:C/S 模式具有獨(dú)特的優(yōu)點(diǎn):⑴數(shù)據(jù)的分布處理和存儲(chǔ)。⑵便于集中管理。⑶靈活性和

可擴(kuò)充性。⑷易于改編應(yīng)用軟件。

21.試描述什么是微內(nèi)核OS。

答:1)足夠小的內(nèi)核 2)基于客戶/服務(wù)器模式

3)應(yīng)用機(jī)制與策略分離原理 4)采用面向?qū)ο蠹夹g(shù)。

22.在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?

答:在基于微內(nèi)核結(jié)構(gòu)的OS 中,采用面向?qū)ο蟮某绦蛟O(shè)汁技術(shù)。

23.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?

答:把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,而留下一個(gè)

盡量小的內(nèi)核,用它來(lái)完成操作系統(tǒng)最基本的核心功能,稱這種技術(shù)為微內(nèi)核技術(shù)。在微內(nèi)

核中通常提供了進(jìn)程(線程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理等功能。

24.微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?

答:1)提高了系統(tǒng)的可擴(kuò)展性

2)增強(qiáng)了系統(tǒng)的可靠性

3)可移植性

4)提供了對(duì)分布式系統(tǒng)的支持

5)融入了面向?qū)ο蠹夹g(shù)

?

第二章

1. 什么是前趨圖?為什么要引入前趨圖?

答:前趨圖(Precedence Graph)是一個(gè)有向無(wú)循環(huán)圖,記為DAG(DirectedAcyclic

Graph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。

2. 畫出下面四條語(yǔ)句的前趨圖:

S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1;

答:其前趨圖為:

3. 什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征?

答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合作,致使這

些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性。

4.程序并發(fā)執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?

答:程序并發(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個(gè)程序改

變,致使程序運(yùn)行失去了封閉性,也會(huì)導(dǎo)致其失去可再現(xiàn)性。

5.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響?

答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對(duì)并發(fā)執(zhí)行的程序加以控制和描述,在操

作系統(tǒng)中引入了進(jìn)程概念。

影響: 使程序的并發(fā)執(zhí)行得以實(shí)行。

6.試從動(dòng)態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?

答:(1)動(dòng)態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源

而暫停執(zhí)行,由撤銷而消亡。進(jìn)程有一定的生命期,而程序只是一組有序的指令集合,是靜

態(tài)實(shí)體。

(2)并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS 的重要特征。引入進(jìn)程的目的正是為了使

其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。

(3)獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)

立調(diào)度的基本單位。對(duì)于未建立任何進(jìn)程的程序,不能作為獨(dú)立單位參加運(yùn)行。

7.試說(shuō)明PCB 的作用,為什么說(shuō)PCB 是進(jìn)程存在的惟一標(biāo)志?

答:PCB 是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。作用是使一個(gè)在

多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個(gè)能獨(dú)立運(yùn)行的基本單位,成為能與其它進(jìn)程

并發(fā)執(zhí)行的進(jìn)程。OS是根據(jù)PCB對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。

8.試說(shuō)明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。

答: (1)就緒狀態(tài)→執(zhí)行狀態(tài):進(jìn)程分配到CPU資源

(2)執(zhí)行狀態(tài)→就緒狀態(tài):時(shí)間片用完

(3)執(zhí)行狀態(tài)→阻塞狀態(tài):I/O請(qǐng)求

(4)阻塞狀態(tài)→就緒狀態(tài):I/O完成

9.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?

答:引入掛起狀態(tài)處于五種不同的需要: 終端用戶需要,父進(jìn)程需要,操作系統(tǒng)需要,對(duì)換

需要和負(fù)荷調(diào)節(jié)需要。處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度。

10.在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些?

答:進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有:

(1)進(jìn)程當(dāng)前暫存信息

(2)下一指令地址信息

(3)進(jìn)程狀態(tài)信息

(4)過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息。

11.試說(shuō)明引起進(jìn)程創(chuàng)建的主要事件。

答:引起進(jìn)程創(chuàng)建的主要事件有:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請(qǐng)求。

12.試說(shuō)明引起進(jìn)程被撤銷的主要事件。

答:引起進(jìn)程被撤銷的主要事件有:正常結(jié)束、異常結(jié)束(越界錯(cuò)誤、保護(hù)錯(cuò)、非法指令、

特權(quán)指令錯(cuò)、運(yùn)行超時(shí)、等待超時(shí)、算術(shù)運(yùn)算錯(cuò)、I/O 故障)、外界干預(yù)(操作員或操作系

統(tǒng)干預(yù)、父進(jìn)程請(qǐng)求、父進(jìn)程終止)。

13.在創(chuàng)建一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?

答:

(1)OS 發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語(yǔ)Creat();

(2)申請(qǐng)空白PCB;

(3)為新進(jìn)程分配資源;

(4)初始化進(jìn)程控制塊;

(5)將新進(jìn)程插入就緒隊(duì)列.

14.在撤銷一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?

答:

(1)根據(jù)被終止進(jìn)程標(biāo)識(shí)符,從PCB 集中檢索出進(jìn)程PCB,讀出該進(jìn)程狀態(tài)。

(2)若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,置調(diào)度標(biāo)志真,指示該進(jìn)程被

終止后重新調(diào)度。

(3)若該進(jìn)程還有子進(jìn)程,應(yīng)將所有子孫進(jìn)程終止,以防它們成為不可控進(jìn)程。

(4)將被終止進(jìn)程擁有的全部資源,歸還給父進(jìn)程,或歸還給系統(tǒng)。

(5)將被終止進(jìn)程PCB 從所在隊(duì)列或列表中移出,等待其它程序搜集信息。

15.試說(shuō)明引起進(jìn)程阻塞或被喚醒的主要事件是什么?

答:a. 請(qǐng)求系統(tǒng)服務(wù);b. 啟動(dòng)某種操作;c. 新數(shù)據(jù)尚未到達(dá);d. 無(wú)新工作可做.

16.進(jìn)程在運(yùn)行時(shí)存在哪兩種形式的制約?并舉例說(shuō)明之。

答:

(1)間接相互制約關(guān)系。舉例:有兩進(jìn)程A 和B,如果A 提出打印請(qǐng)求,系統(tǒng)已把唯一的

一臺(tái)打印機(jī)分配給了進(jìn)程B,則進(jìn)程A 只能阻塞;一旦B 釋放打印機(jī),A 才由阻塞改為就

緒。

(2)直接相互制約關(guān)系。舉例:有輸入進(jìn)程A 通過(guò)單緩沖向進(jìn)程B 提供數(shù)據(jù)。當(dāng)緩沖空時(shí),

計(jì)算進(jìn)程因不能獲得所需數(shù)據(jù)而阻塞,當(dāng)進(jìn)程A 把數(shù)據(jù)輸入緩沖區(qū)后,便喚醒進(jìn)程B;反

之,當(dāng)緩沖區(qū)已滿時(shí),進(jìn)程A 因沒(méi)有緩沖區(qū)放數(shù)據(jù)而阻塞,進(jìn)程B 將緩沖區(qū)數(shù)據(jù)取走后便

喚醒A。

17.為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行“進(jìn)入?yún)^(qū)”代碼?而在退出前又要執(zhí)行“退出

區(qū)”代碼?

答:為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問(wèn),必須在臨界區(qū)前面增加一段用于檢查欲訪問(wèn)

的臨界資源是否正被訪問(wèn)的代碼,如果未被訪問(wèn),該進(jìn)程便可進(jìn)入臨界區(qū)對(duì)資源進(jìn)行訪問(wèn),

并設(shè)置正被訪問(wèn)標(biāo)志,如果正被訪問(wèn),則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼為"

進(jìn)入?yún)^(qū)"代碼;在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于恢復(fù)未被訪問(wèn)標(biāo)志,使其它進(jìn)程能再訪問(wèn)此臨界資源。

18. 同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?

答:同步機(jī)構(gòu)應(yīng)遵循的基本準(zhǔn)則是:空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待

原因:為實(shí)現(xiàn)進(jìn)程互斥進(jìn)入自己的臨界區(qū)。

19. 試從物理概念上說(shuō)明記錄型信號(hào)量wait 和signal。

答:wait(S):當(dāng)S.value>0時(shí),表示目前系統(tǒng)中這類資源還有可用的。執(zhí)行一次wait 操

作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類資源,使系統(tǒng)中可供分配的該類資源減少一個(gè),因此描

述為S.value:=S.value-1;當(dāng)S.value<0時(shí),表示該類資源已分配完畢,進(jìn)程應(yīng)調(diào)用block

原語(yǔ)自我阻塞,放棄處理機(jī),并插入到信號(hào)量鏈表S.L中。

signal(S):執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分配

的該類資源數(shù)增加一個(gè),故執(zhí)行S.value:=S.value+1 操作。若加1后S.value≤0,則表

示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup 原語(yǔ),將S.L

鏈表中的第一個(gè)等待進(jìn)程喚醒。

20.你認(rèn)為整型信號(hào)量機(jī)制是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?

答:整型信號(hào)量機(jī)制不完全遵循同步機(jī)制的四條準(zhǔn)則,它不滿足“讓權(quán)等待”準(zhǔn)則。

21.如何利用信號(hào)量機(jī)制來(lái)實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問(wèn)?并舉例說(shuō)明之。

答:為使多個(gè)進(jìn)程互斥訪問(wèn)某臨界資源,只需為該資源設(shè)置一互斥信號(hào)量mutex,并設(shè)其

初值為1,然后將各進(jìn)程訪問(wèn)該資源的臨界區(qū)CS置于wait(mutex)和signal(mutex)操作

之間即可。這樣,每個(gè)欲訪問(wèn)該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對(duì)mutex 執(zhí)行

wait 操作,若該資源此刻未被訪問(wèn),本次wait 操作必然成功,進(jìn)程便可進(jìn)入自己的臨界區(qū),

這時(shí)若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時(shí)由于對(duì)mutex 執(zhí)行wait操作定會(huì)失敗,

因而該進(jìn)程阻塞,從而保證了該臨界資源能被互斥訪問(wèn)。當(dāng)訪問(wèn)臨界資源的進(jìn)程退出臨界區(qū)

后,應(yīng)對(duì)mutex執(zhí)行signal 操作,釋放該臨界資源。利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)程描述

如下:

Var mutex: semaphore:=1;

begin

parbegin

process 1: begin

repeat

wait(mutex);

critical section

signal(mutex);

remainder section

until false;

end

process 2: begin

repeat

wait(mutex);

critical section

signal(mutex);

remainder section

until false;

end

parend

?

?

22.試寫出相應(yīng)的程序來(lái)描述圖2-17所示的前驅(qū)圖。

?

答:(a)Var a, b, c, d, e, f, g, h; semaphore:= 0, 0,0, 0, 0, 0, 0, 0;

begin

parbegin

begin S1; signal(a); signal(b); end;

begin wait(a); S2; signal(c); signal(d); end;

begin wait(b); S3; signal(e); end;

begin wait(c); S4; signal(f); end;

begin wait(d); S5; signal(g); end;

begin wait(e); S6; signal(h); end;

begin wait(f); wait(g); wait(h); S7; end;

parend

end

(b)Var a, b, c, d, e, f, g, h,i,j; semaphore:= 0,0, 0, 0, 0, 0, 0,0,0, 0;

begin

parbegin

begin S1; signal(a); signal(b); end;

begin wait(a); S2; signal(c); signal(d); end;

begin wait(b); S3; signal(e); signal(f); end;

begin wait(c); S4; signal(g); end;

begin wait(d); S5; signal(h); end;

begin wait(e); S6; signal(i); end;

begin wait(f); S7; signal(j); end;

begin wait(g);wait(h); wait(i); wait(j); S8;end;

parend

end

23.在生產(chǎn)者消費(fèi)者問(wèn)題中,如果缺少了signal(full)或signal(empty),對(duì)執(zhí)行結(jié)果有何影響?

答:

如果缺少signal(full),那么表明從第一個(gè)生產(chǎn)者進(jìn)程開始就沒(méi)有改變信號(hào)量full 值,

即使緩沖池產(chǎn)品已滿,但full值還是0,這樣消費(fèi)者進(jìn)程執(zhí)行wait(full)時(shí)認(rèn)為緩沖池是空

而取不到產(chǎn)品,消費(fèi)者進(jìn)程一直處于等待狀態(tài)。

如果缺少signal(empty),在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿產(chǎn)品后消費(fèi)者進(jìn)程才開始從

中取產(chǎn)品,這時(shí)empty=0,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品empty值并不改變,

直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n 個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程要想

再往緩沖池中投放產(chǎn)品也會(huì)因?yàn)樯暾?qǐng)不到空緩沖區(qū)被阻塞。

24.在生產(chǎn)消費(fèi)者問(wèn)題中,如果將兩個(gè)wait操作即wait(full)和wait(mutex)互換位置,

或者將signal(mutex)與signal(full)互換位置,結(jié)果如何?

答:將wait(full)和wait(mutex)互換位置后,可能引起死鎖。考慮系統(tǒng)中緩沖區(qū)全滿時(shí),

若一生產(chǎn)者進(jìn)程先執(zhí)行了wait(mutex)操作并獲得成功,則當(dāng)再執(zhí)行wait(empty)操作時(shí),

它將因失敗而進(jìn)入阻塞狀態(tài),它期待消費(fèi)者進(jìn)程執(zhí)行signal(empty)來(lái)喚醒自己,在此之前,

它不可能執(zhí)行signal(mutex)操作,從而使試圖通過(guò)執(zhí)行wait(mutex)操作而進(jìn)入自己的臨

界區(qū)的其他生產(chǎn)者和所有消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖。

若signal(mutex)和signal(full)互換位置后只是影響進(jìn)程對(duì)臨界資源的釋放次序,而

不會(huì)引起系統(tǒng)死鎖,因此可以互換位置。

25.我們?cè)跒槟骋慌R界資源設(shè)置一把鎖W,當(dāng)W=1時(shí)表示關(guān)鎖,當(dāng)W=0時(shí)表示鎖已打開。

試寫出開鎖和關(guān)鎖的原語(yǔ),并利用他們實(shí)現(xiàn)互斥。

答:整型信號(hào)量:lock(W): while W=1 do no-op

W:=1;

unlock(W): W:=0;

記錄型信號(hào)量:lock(W): W:=W+1;

if(W>1) then block(W, L)

unlock(W): W:=W-1;

if(W>0) then wakeup(W, L)

例子:

Var W:semaphore:=0;

begin

repeat

lock(W);

critical section

unlock(W);

remainder section

until false;

end

?

?

?

26.試修改下面生產(chǎn)者-消費(fèi)者問(wèn)題解法中的錯(cuò)誤:

答: producer:

begin

repeat

producer an item in nextp;

wait(mutex);

wait(full);

buffer(in):=nextp;

?

signal(mutex);

?

until false;

end

consumer:

begin

repeat

wait(mutex);

wait(empty);

nextc:=buffer(out);

out:=out+1;

signal(mutex);

consumer item in nextc;

until false;

end

27.試?yán)糜涗浶托盘?hào)量寫出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法.

答:Var chopstick:array[0,…,4] of semaphore;

所有信號(hào)量均被初始化為1,第i 位哲學(xué)家的活動(dòng)可描述為:

Repeat

Wait(chopstick[i]);

Wait(. chopstick[(i+1) mod 5]);

Ea.t ;

Signal(chopstick[i]);

Signal(chopstick[(i+1) mod 5])

Ea.t ;

Think;

Until false;

?

?

28.在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算任務(wù)從該單

緩沖中取出數(shù)據(jù)進(jìn)行計(jì)算.試寫出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法。

答:

a. Var mutex, empty, full: semaphore:=1, 1, 0;

gather:

begin

repeat

……

gather data in nextp;

wait(empty);

wait(mutex);

buffer:=nextp;

signal(mutex);

signal(full);

until false;

end

compute:

begin

repeat

……

wait(full);

wait(mutex);

nextc:=buffer;

signal(mutex);

signal(empty);

compute data in nextc;

until false;

end

b. Var empty, full: semaphore:=1, 0;

gather:

begin

repeat

……

gather data in nextp;

wait(empty);

buffer:=nextp;

signal(full);

until false;

end

compute:

begin

repeat

……

wait(full);

nextc:=buffer;

signal(empty);

compute data in nextc;

until false;

end

29.畫圖說(shuō)明管程由哪幾部分組成,為什么要引入條件變量?

答:管程由四部分組成:①管程的名稱;②局部于管程內(nèi)部的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明;③對(duì)該數(shù)

據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;④對(duì)局部于管程內(nèi)部的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句;

?

當(dāng)一個(gè)進(jìn)程調(diào)用了管程,在管程中時(shí)被阻塞或掛起,直到阻塞或掛起的原因解除,而在此期

間,如果該進(jìn)程不釋放管程,則其它進(jìn)程無(wú)法進(jìn)入管程,被迫長(zhǎng)時(shí)間地等待。為了解決這個(gè)

問(wèn)題,引入了條件變量condition。

30.如何利用管程來(lái)解決生產(chǎn)者與消費(fèi)者問(wèn)題?

答:首先建立一個(gè)管程,命名為ProclucerConsumer,包括兩個(gè)過(guò)程:

(1)Put(item)過(guò)程。生產(chǎn)者利用該過(guò)程將自己生產(chǎn)的產(chǎn)品放到緩沖池,用整型變

量count 表示在緩沖池中已有的產(chǎn)品數(shù)目,當(dāng)count≥n 時(shí),表示緩沖池已滿,生產(chǎn)者須

等待。

(2)get(item)過(guò)程。消費(fèi)者利用該過(guò)程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)count≤0

時(shí),表示緩沖池中已無(wú)可取的產(chǎn)品,消費(fèi)者應(yīng)等待。

PC 管程可描述如下:

type producer-consumer =monitor

Var in,out,count:integer;

buffer:array[0,…,n-1]of item;

notfull,notempty:condition;

procedure entry dot(item)

begin

if count>=n then not full.wait;

buffer(in):=nextp;

in:=(in+1)mod n;

count:=count+1;

if notempty.queue then notempty.signal;

end

procedure entry get(item)

begin

if count<=0 then not full.wait;

nextc:=buffer(out);

out:=(out+1)mod n;

count:=count-1;

if notfull.quene then notfull.signal;

end

begin in:=out:=0;

count:=0

end

在利用管程解決生產(chǎn)者一消費(fèi)者問(wèn)題時(shí),其中的生產(chǎn)者和消費(fèi)者可描述為:

producer: begin

pepeat

produce an inem in nestp

PC.put(item);

until false;

end

consumer: begin

repeat

PC.get(item);

consume the item in enxtc;

until false;

end

31.什么是AND信號(hào)量?試?yán)肁ND信號(hào)量寫出生產(chǎn)者一消費(fèi)者問(wèn)題的解法。

答:為解決并行帶來(lái)的死鎖問(wèn)題,在wait 操作中引入AND 條件,其基本思想是將進(jìn)

程在整個(gè)運(yùn)行過(guò)程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放。

解決生產(chǎn)者-消費(fèi)者問(wèn)題可描述如下:

var mutex,empty,full: semaphore:=1,n,0;

buffer: array[0,...,n-1] of item;

in,out: integer:=0,0;

begin

parbegin

producer: begin

repeat

produce an item in nextp;

wait(empty);

wait(s1,s2,s3,...,sn); //s1,s2,...,sn為執(zhí)行生產(chǎn)者進(jìn)程除empty外其余的條件

wait(mutex);

buffer(in):=nextp;

in:=(in+1) mod n;

signal(mutex);

signal(full);

signal(s1,s2,s3,...,sn);

until false;

end

consumer: begin

repeat

wait(full);

wait(k1,k2,k3,...,kn); //k1,k2,...,kn 為執(zhí)行消費(fèi)者進(jìn)程除full外其余的條件

wait(mutex);

nextc:=buffer(out);

out:=(out+1) mod n;

signal(mutex);

signal(empty);

signal(k1,k2,k3,...,kn);

consume the item in nextc;

until false;

end

parend

end

32.什么是信號(hào)量集?試?yán)眯盘?hào)量集寫出讀者一寫者問(wèn)題的解法。

答:對(duì)AND信號(hào)量加以擴(kuò)充,形成的信號(hào)量集合的讀寫機(jī)制。

解法:Var RN integer;

L,mx: semaphore:=RN,1;

begin

parbegin

reader:begin

repeat

Swait(L,1,1);

Swait(mx,1,1);

perform read operation;

Ssignal(L,1);

until false

end

writer:begin

repeat

Swait(mx,1,1;L,RN,0);

perform write operation;

Ssignal(mx,1);

until false

end

parend

end

33.試比較進(jìn)程間的低級(jí)與高級(jí)通信工具。

答:用戶用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,效率低,通信對(duì)用戶不透明,所有操作都

必須由程序員來(lái)實(shí)現(xiàn),而高級(jí)通信工具彌補(bǔ)了這些缺陷,用戶直接利用操作系統(tǒng)提供的一組

通信命令,高效地傳送大量的數(shù)據(jù)。

34.當(dāng)前有哪幾種高級(jí)通信機(jī)制?

答:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng)。

35.消息隊(duì)列通信機(jī)制有哪幾方面的功能?

答:(1)構(gòu)成消息(2)發(fā)送消息(3)接收梢息(4)互斥與同步。

36.為什么要在OS 中引入線程?

答:在操作系統(tǒng)中引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具

有更好的并發(fā)性,提高CPU的利用率。進(jìn)程是分配資源的基本單位,而線程則是系統(tǒng)調(diào)度的

基本單位。

37.試說(shuō)明線程具有哪些屬性?

答:(1)輕型實(shí)體(2)獨(dú)立調(diào)度和分派的基本單位(3)可并發(fā)執(zhí)行(4)共享進(jìn)程資源。

38.試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開銷方面對(duì)進(jìn)程和線程進(jìn)行比較。

答:

(1)調(diào)度性。線程在OS 中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的基本單位。

(2)并發(fā)性。進(jìn)程可以并發(fā)執(zhí)行,一個(gè)進(jìn)程的多個(gè)線程也可并發(fā)執(zhí)行。

(3)擁有資源。進(jìn)程始終是擁有資源的基本單位,線程只擁有運(yùn)行時(shí)必不可少的資源,本

身基本不擁有系統(tǒng)資源,但可以訪問(wèn)隸屬進(jìn)程的資源。

(4)系統(tǒng)開銷。操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)付出的開銷顯著大于線程。

39. 為了在多線程OS中實(shí)現(xiàn)進(jìn)程之間的同步與通信,通常提供了哪幾種同步機(jī)制?

答:同步功能可以控制程序流并訪問(wèn)共享數(shù)據(jù),從而并發(fā)執(zhí)行多個(gè)線程。共有四種同步模型:

互斥鎖、讀寫鎖、條件變量和信號(hào)。

40.用于實(shí)現(xiàn)線程同步的私用信號(hào)量和公用信號(hào)量之間有何差別?

答:

(1)私用信號(hào)量。當(dāng)某線程需利用信號(hào)量實(shí)現(xiàn)同一進(jìn)程中各線程之間的同步時(shí),可調(diào)用創(chuàng)

建信號(hào)量的命令來(lái)創(chuàng)建一個(gè)私用信號(hào)量,其數(shù)據(jù)結(jié)構(gòu)存放在應(yīng)用程序的地址空間中。

(2)公用信號(hào)量。公用信號(hào)量是為實(shí)現(xiàn)不同進(jìn)程間或不同進(jìn)程中各線程之間的同步而設(shè)置

的。其數(shù)據(jù)結(jié)構(gòu)是存放在受保護(hù)的系統(tǒng)存儲(chǔ)區(qū)中,由OS為它分配空間并進(jìn)行管理。

41.何謂用戶級(jí)線程和內(nèi)核支持線程?

答:

(1)用戶級(jí)線程:僅存在于用戶空間中的線程,無(wú)須內(nèi)核支持。這種線程的創(chuàng)建、撤銷、

線程間的同步與通信等功能,都無(wú)需利用系統(tǒng)調(diào)用實(shí)現(xiàn)。用戶級(jí)線程的切換通常發(fā)生在一個(gè)

應(yīng)用進(jìn)程的諸多線程之間,同樣無(wú)需內(nèi)核支持。

(2)內(nèi)核支持線程:在內(nèi)核支持下運(yùn)行的線程。無(wú)論是用戶進(jìn)程中的線程,還是系統(tǒng)線程

中的線程,其創(chuàng)建、撤銷和切換等都是依靠?jī)?nèi)核,在內(nèi)核空間中實(shí)現(xiàn)的。在內(nèi)核空間里還

為每個(gè)內(nèi)核支持線程設(shè)置了線程控制塊,內(nèi)核根據(jù)該控制塊感知某線程的存在并實(shí)施控制。

42.試說(shuō)明用戶級(jí)線程的實(shí)現(xiàn)方法。

答:用戶級(jí)線程是在用戶空間中的實(shí)現(xiàn)的,運(yùn)行在“運(yùn)行時(shí)系統(tǒng)”與“內(nèi)核控制線程”的中

間系統(tǒng)上。運(yùn)行時(shí)系統(tǒng)用于管理和控制線程的函數(shù)的集合。內(nèi)核控制線程或輕型進(jìn)程LWP

可通過(guò)系統(tǒng)調(diào)用獲得內(nèi)核提供服務(wù),利用LWP進(jìn)程作為中間系統(tǒng)。

43.試說(shuō)明內(nèi)核支持線程的實(shí)現(xiàn)方法。

答:系統(tǒng)在創(chuàng)建新進(jìn)程時(shí),分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA,其中包括若干個(gè)線程控制塊TCB

空間。創(chuàng)建一個(gè)線程分配一個(gè)TCB,有關(guān)信息寫入TCB,為之分配必要的資源。當(dāng)PTDA

中的TCB 用完,而進(jìn)程又有新線程時(shí),只要所創(chuàng)建的線程數(shù)目未超過(guò)系統(tǒng)允許值,系統(tǒng)可

在為之分配新的TCB;在撤銷一個(gè)線程時(shí),也應(yīng)回收線程的所有資源和TCB。

?

第三章

第三章處理機(jī)調(diào)度與死鎖

1.高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?

答:高級(jí)調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊(duì)列中的那些作業(yè)調(diào)入內(nèi)存。

低級(jí)調(diào)度是保存處理機(jī)的現(xiàn)場(chǎng)信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)程。

引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外存狀態(tài)或掛起狀態(tài)。

2.何謂作業(yè)、作業(yè)步和作業(yè)流?

答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說(shuō)明書。系統(tǒng)根據(jù)該說(shuō)明書對(duì)程序的運(yùn)行進(jìn)行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從外存調(diào)入內(nèi)存。

作業(yè)步是指每個(gè)作業(yè)運(yùn)行期間都必須經(jīng)過(guò)若干個(gè)相對(duì)獨(dú)立相互關(guān)聯(lián)的順序加工的步驟。

作業(yè)流是指若干個(gè)作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個(gè)作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流。

3.在什么情況下需要使用作業(yè)控制塊JCB?其中包含了哪些內(nèi)容?

答:每當(dāng)作業(yè)進(jìn)入系統(tǒng)時(shí),系統(tǒng)便為每個(gè)作業(yè)建立一個(gè)作業(yè)控制塊JCB,根據(jù)作業(yè)類型將它插入到相應(yīng)的后備隊(duì)列中。

JCB 包含的內(nèi)容通常有:1) 作業(yè)標(biāo)識(shí)2)用戶名稱3)用戶賬戶4)作業(yè)類型(CPU繁忙型、I/O芳名型、批量型、終端型)5)作業(yè)狀態(tài)6)調(diào)度信息(優(yōu)先級(jí)、作業(yè)已運(yùn)行)7)資源要求8)進(jìn)入系統(tǒng)時(shí)間9) 開始處理時(shí)間10)作業(yè)完成時(shí)間11) 作業(yè)退出時(shí)間12) 資源使用情況等

4.在作業(yè)調(diào)度中應(yīng)如何確定接納多少個(gè)作業(yè)和接納哪些作業(yè)?

答:作業(yè)調(diào)度每次接納進(jìn)入內(nèi)存的作業(yè)數(shù),取決于多道程序度。應(yīng)將哪些作業(yè)從外存調(diào)入內(nèi)存,取決于采用的調(diào)度算法。最簡(jiǎn)單的是先來(lái)服務(wù)調(diào)度算法,較常用的是短作業(yè)優(yōu)先調(diào)度算法和基于作業(yè)優(yōu)先級(jí)的調(diào)度算法。

5.試說(shuō)明低級(jí)調(diào)度的主要功能。

答:(1)保存處理機(jī)的現(xiàn)場(chǎng)信息(2)按某種算法選取進(jìn)程(3)把處理機(jī)分配給進(jìn)程。

6.在搶占調(diào)度方式中,搶占的原則是什么?

答:搶占的原則有:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先權(quán)原則等。

7.在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?

答:

(1)面向用戶的準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)則。

(2)面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源的平衡利用。

8.在批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法?

答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、多級(jí)反饋隊(duì)列調(diào)度算法。

分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法。

實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法。

9.何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?

答:靜態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個(gè)運(yùn)行期間保持不變的優(yōu)先級(jí)。

動(dòng)態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)間增加而改變的優(yōu)先級(jí),可以獲得更好的調(diào)度性能。

確定進(jìn)程優(yōu)先級(jí)的依據(jù):進(jìn)程類型、進(jìn)程對(duì)資源的需求和用戶要求。

10.試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。

答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度。

不同點(diǎn):FCFS調(diào)度算法每次都從后備隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存、分配資源、創(chuàng)建進(jìn)程、插入到就緒隊(duì)列。該算法有利于長(zhǎng)作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF算法每次調(diào)度都從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長(zhǎng)作業(yè)/進(jìn)程。

?

11.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?

答:時(shí)間片應(yīng)略大于一次典型的交互需要的時(shí)間。一般應(yīng)考慮三個(gè)因素:系統(tǒng)對(duì)相應(yīng)時(shí)間的

要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力。

12.通過(guò)一個(gè)例子來(lái)說(shuō)明通常的優(yōu)先級(jí)調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?

答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開始截止時(shí)間和任務(wù)緊急/松弛程度的任務(wù)優(yōu)先級(jí)調(diào)度算法,通常的優(yōu)先級(jí)調(diào)度算法不能滿足實(shí)時(shí)系統(tǒng)的調(diào)度實(shí)時(shí)性要求而不適用。

13.為什么說(shuō)多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿足各方面用戶的需求?

答:(1)終端型作業(yè)用戶提交的作業(yè)大多屬于較小的交互型作業(yè),系統(tǒng)只要使這些作業(yè)在第一隊(duì)列規(guī)定的時(shí)間片內(nèi)完成,終端作業(yè)用戶就會(huì)感到滿足。

(2)短批處理作業(yè)用戶,開始時(shí)像終端型作業(yè)一樣,如果在第一隊(duì)列中執(zhí)行一個(gè)時(shí)間片段即可完成,便可獲得與終端作業(yè)一樣的響應(yīng)時(shí)間。對(duì)于稍長(zhǎng)作業(yè),通常只需在第二和第三隊(duì)列各執(zhí)行一時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然較短。

(3)長(zhǎng)批處理作業(yè),它將依次在第1,2,…,n個(gè)隊(duì)列中運(yùn)行,然后再按輪轉(zhuǎn)方式運(yùn)行,用戶不必?fù)?dān)心其作業(yè)長(zhǎng)期得不到處理。所以,多級(jí)反饋隊(duì)列調(diào)度算法能滿足多用戶需求。

14.為什么在實(shí)時(shí)系統(tǒng)中,要求系統(tǒng)(尤其是CPU)具有較強(qiáng)的處理能力?

答:實(shí)時(shí)系統(tǒng)中通常有著多個(gè)實(shí)時(shí)任務(wù)。若處理機(jī)的處理能力不夠強(qiáng),有可能因?yàn)樘幚頇C(jī)忙不過(guò)來(lái)而使某些實(shí)時(shí)任務(wù)得不到及時(shí)處理,導(dǎo)致發(fā)生難以預(yù)料的后果。

15.按照調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?

答:可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉(zhuǎn)和優(yōu)先調(diào)度算法;搶占式調(diào)度算法又分為基于時(shí)鐘中斷的搶占式優(yōu)先權(quán)和立即搶占式優(yōu)先權(quán)調(diào)度算法。

16.什么是最早截止時(shí)間優(yōu)先調(diào)度算法?舉例說(shuō)明。

答:根據(jù)任務(wù)的開始截止時(shí)間確定的任務(wù)優(yōu)先級(jí)調(diào)度算法。截止時(shí)間越早則優(yōu)先級(jí)越高。該算法要求在系統(tǒng)中保持一個(gè)實(shí)時(shí)任務(wù)就緒隊(duì)列,該隊(duì)列按各任務(wù)截止時(shí)間的先后排序。

舉例:非搶占式調(diào)度方式用于非周期實(shí)時(shí)任務(wù)。圖3-9是將該算法用于非搶占調(diào)度方式之例。該例中具有四個(gè)非周期任務(wù),它們先后到達(dá)。系統(tǒng)首先調(diào)度任務(wù)1執(zhí)行,在任務(wù)1執(zhí)行期間,任務(wù)2、3又先后到達(dá)。由于任務(wù)3的開始截止時(shí)間早于任務(wù)2,故系統(tǒng)在任務(wù)1后將調(diào)度任務(wù)3執(zhí)行。在此期間又到達(dá)作業(yè)4,其開始截止時(shí)間仍是早于任務(wù)2的,故在任務(wù)3執(zhí)行完后,系統(tǒng)又調(diào)度任務(wù)4執(zhí)行,最后才調(diào)度任務(wù)2執(zhí)行。

?

圖3-9 EDF算法用于非搶占調(diào)度的調(diào)度方式

17.什么是最低松弛度優(yōu)先調(diào)度算法?舉例說(shuō)明之。

答:該算法是根據(jù)任務(wù)緊急(或松弛)的程度,來(lái)確定任務(wù)的優(yōu)先級(jí)。任務(wù)的緊急程度愈高,

為該任務(wù)所賦予的優(yōu)先級(jí)就愈高,以使之優(yōu)先執(zhí)行。例如,一個(gè)任務(wù)在200 ms 時(shí)必須完

成,而它本身所需的運(yùn)行時(shí)間就有100 ms,因此,調(diào)度程序必須在100 ms 之前調(diào)度執(zhí)行,

該任務(wù)的緊急程度(松弛程度)為100 ms。又如,另一任務(wù)在400 ms 時(shí)必須完成,它本身

需要運(yùn)行 150 ms,則其松弛程度為 250 ms。

18.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?

答:死鎖是指多個(gè)進(jìn)程在運(yùn)行過(guò)程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵持狀

態(tài)時(shí),若無(wú)外力作用,它們都將無(wú)法再向前推進(jìn)。

產(chǎn)生死鎖的原因?yàn)楦?jìng)爭(zhēng)資源和進(jìn)程間推進(jìn)順序非法。其必要條件是:互斥條件、請(qǐng)求和

保持條件、不剝奪條件、環(huán)路等待條件。

19.在解決死鎖問(wèn)題的幾個(gè)方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法使資源利用率最高?

答:解決死鎖的四種方法即預(yù)防、避免、檢測(cè)和解除死鎖中,預(yù)防死鎖最容易實(shí)現(xiàn);

避免死鎖使資源的利用率最高。

20.請(qǐng)?jiān)敿?xì)說(shuō)明可通過(guò)哪些途徑預(yù)防死鎖。

答:(1)擯棄“請(qǐng)求和保持”條件,就是如果系統(tǒng)有足夠資源,便一次性把進(jìn)程需要的所

有資源分配給它;

(2)擯棄“不剝奪”條件,就是已經(jīng)擁有資源的進(jìn)程,當(dāng)它提出新資源請(qǐng)求而不能立即

滿足時(shí),必須釋放它已保持的所有資源,待以后需要時(shí)再重新申請(qǐng);

(3)擯棄“環(huán)路等待”條件,就是將所有資源按類型排序標(biāo)號(hào),所有進(jìn)程對(duì)資源的請(qǐng)求

必須嚴(yán)格按序號(hào)遞增的次序提出。

21.在銀行家算法的例子中,如果P0發(fā)出請(qǐng)求向量由Request(0,2,0)改為Request(0,1,0),

問(wèn)系統(tǒng)可否將資源分配給它?(此答案有點(diǎn)問(wèn)題,需重新考慮)

答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在T0時(shí)刻的資源分配如圖所示:

?

(2)具體分析如下:

① Requst0(0,1,0)<=Need0(7,4,3);

②Requst0(0,1,0)<=Available(2,3,0);

系統(tǒng)先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成

的資源變化情況如下圖所示:

?

(3)P0請(qǐng)求資源:P0發(fā)出請(qǐng)求向量Requst0(0,1,0),系統(tǒng)按銀行家算法進(jìn)行檢查:

① Requst0(0,1,0)<=Need0(7,4,3);

②Requst0(0,1,0)<=Available(2,3,0);

③ 系統(tǒng)暫時(shí)先假定可為P0分配資源,并修改______________有關(guān)數(shù)據(jù),如下圖所示

?

綜上所述系統(tǒng)可以將資源分配給它。

22.銀行家算法中出現(xiàn)以下資源分配,試問(wèn)(1)該狀態(tài)是否安全?(2)若進(jìn)程P2提出

Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?

?

試問(wèn): (1)該狀態(tài)是否安全?

(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?(參考答案有錯(cuò))

答: (1)安全,因?yàn)榇嬖诎踩蛄衶P0,P3,P4,P1,P2}

(2)系統(tǒng)能分配資源,分析如下。

① Request(1,2,2,2) <=Need2(2,3,5,6);

② Request(1,2,2,2) <=Available2(1,3,5,4)改成Available2(1,6,2,2);

③系統(tǒng)先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,

由此形成的資源變化情況如下圖所示:

?

④ 再利用安全性算法檢查此時(shí)系統(tǒng)是否安全。如下圖

?

由此進(jìn)行的安全性檢查得知,可以找到一個(gè)安全序列{P2,P0,P1,P3,P4}。

第四章

1.為什么要配置層次式存儲(chǔ)器?

答:設(shè)置多個(gè)存儲(chǔ)器可以使存儲(chǔ)器兩端的硬件能并行工作;采用多級(jí)存儲(chǔ)系統(tǒng),特別是

Cache 技術(shù),是減輕存儲(chǔ)器帶寬對(duì)系統(tǒng)性能影響的最佳結(jié)構(gòu)方案;在微處理機(jī)內(nèi)部設(shè)置各

種緩沖存儲(chǔ)器,減輕對(duì)存儲(chǔ)器存取的壓力。增加CPU中寄存器數(shù)量大大緩解對(duì)存儲(chǔ)器壓力。

2.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合?

答: (1)絕對(duì)裝入方式,只適用于單道程序環(huán)境。

(2)可重定位裝入方式,適用于多道程序環(huán)境。

(3)動(dòng)態(tài)運(yùn)行時(shí)裝入方式,用于多道程序環(huán)境;不允許程序運(yùn)行時(shí)在內(nèi)存中移位置。

3.何謂靜態(tài)鏈接?何謂裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)的動(dòng)態(tài)鏈接?P120

答:靜態(tài)鏈接是指在程序運(yùn)行前,先將各目標(biāo)模塊及它們所需的庫(kù)函數(shù),鏈接成一個(gè)完整的

裝配模塊,以后不再拆開的鏈接方式。

裝入時(shí)動(dòng)態(tài)鏈接是指將用戶源程序編譯后得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí)采用邊裝

入邊鏈接的鏈接方式。

運(yùn)行時(shí)動(dòng)態(tài)鏈接是指對(duì)某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該目標(biāo)模塊時(shí),才對(duì)

它進(jìn)行的鏈接。

4.在進(jìn)行程序鏈接時(shí),應(yīng)完成哪些工作?

答:由鏈接程序Linker將編譯后形成的一組目標(biāo)模塊,以及它們需要的庫(kù)函數(shù)鏈接在一起,

形成一個(gè)完整的裝入模塊Load Module。主要工作是修改程序內(nèi)的相對(duì)地址和修改目標(biāo)程

序中的外部調(diào)用標(biāo)號(hào)。

5.在動(dòng)態(tài)分區(qū)分配方式中,應(yīng)如何將各空閑分區(qū)鏈接成空閑分區(qū)鏈?

答:在每個(gè)分區(qū)的起始部分,設(shè)置一些控制分區(qū)分配的信息,以及用于鏈接各分區(qū)所用的前

向指針;在分區(qū)尾部設(shè)置一個(gè)后向指針,通過(guò)前后向鏈接指針,將所有空閑分區(qū)鏈成一個(gè)雙

向鏈。當(dāng)分區(qū)分配出去后,把狀態(tài)位由“0”改為“1”。

6.為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?

答:在程序執(zhí)行過(guò)程中,每當(dāng)訪問(wèn)指令或數(shù)據(jù)時(shí),將要訪問(wèn)的程序或數(shù)據(jù)的邏輯地址轉(zhuǎn)換成

物理地址,引入了動(dòng)態(tài)重定位;

具體實(shí)現(xiàn)方法是在系統(tǒng)中增加一個(gè)重定位寄存器,用來(lái)裝入程序在內(nèi)存中的起始地址,

程序執(zhí)行時(shí),真正訪問(wèn)的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加之和,從而實(shí)現(xiàn)

動(dòng)態(tài)重定位。

7.在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情況?

答:在采用首次適應(yīng)算法回收內(nèi)存時(shí)可能出現(xiàn)4種情況:

(1)回收區(qū)前鄰空閑區(qū)。將回收區(qū)與前鄰空閑區(qū)合并,將前鄰空閑區(qū)大小修改為兩者之和。

(2)回收區(qū)后鄰空閑區(qū)。將兩區(qū)合并,改后鄰空閑區(qū)始址為回收區(qū)始址,大小為兩者之和。

(3)回收區(qū)前后均鄰空閑區(qū)。將三個(gè)分區(qū)合并,修改前鄰空閑區(qū)大小為三者之和。

(4)回收區(qū)前后均不鄰空閑區(qū)。為回收區(qū)設(shè)置空閑區(qū)表項(xiàng),填入回收區(qū)始址和大小并插入

空閑區(qū)隊(duì)列。

8.令 表示大小為 、地址為x 的塊的伙伴系統(tǒng)地址,試寫出的通用表達(dá)式。

答:當(dāng) 時(shí), ;當(dāng) 時(shí),

9.分區(qū)存儲(chǔ)管理中常用那些分配策略?比較它們的優(yōu)缺點(diǎn)。

答:分區(qū)存儲(chǔ)管理中的常用分配策略:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法。

首次適應(yīng)算法優(yōu)缺點(diǎn):保留了高址部分的大空閑區(qū),有利于后來(lái)的大型作業(yè)分配;低址部分不斷被劃分,留下許多難以利用的小空閑區(qū),每次查找都從低址開始增加了系統(tǒng)開銷。

循環(huán)首次適應(yīng)算法優(yōu)缺點(diǎn):內(nèi)存空閑分區(qū)分布均勻,減少了查找系統(tǒng)開銷;缺乏大空閑分區(qū),導(dǎo)致不能裝入大型作業(yè)。

最佳適應(yīng)算法優(yōu)缺點(diǎn):每次分配給文件的都是最適合該文件大小的分區(qū),內(nèi)存中留下許多難以利用的小空閑區(qū)。

最壞適應(yīng)算法優(yōu)缺點(diǎn):剩下空閑區(qū)不太小,產(chǎn)生碎片幾率小,對(duì)中小型文件分配分區(qū)操作有利;存儲(chǔ)器中缺乏大空閑區(qū),對(duì)大型文件分區(qū)分配不利。

?

10.在系統(tǒng)中引入對(duì)換后可帶來(lái)哪些好處?

答:交換技術(shù)將暫不需要的作業(yè)移到外存,讓出內(nèi)存空間以調(diào)入其它作業(yè),交換到外存的作

業(yè)也可以被再次調(diào)入。目的是解決內(nèi)存緊張問(wèn)題,帶來(lái)的好處是進(jìn)一步提高了內(nèi)存利用率和

系統(tǒng)吞吐量。

11.為實(shí)現(xiàn)對(duì)換,系統(tǒng)應(yīng)具備哪幾方面的功能?

答:系統(tǒng)應(yīng)具備三方面功能:對(duì)換空間管理,進(jìn)程換出,進(jìn)程換入。

12.在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次是否都將整個(gè)進(jìn)程換出?為什么?

答:在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),并非每次都將整個(gè)進(jìn)程換出。這是因?yàn)?#xff1a;

(1)從結(jié)構(gòu)上講,進(jìn)程由程序段、數(shù)據(jù)段和進(jìn)程控制塊組成的,其中進(jìn)程控制塊總有部分或全部常駐內(nèi)存,不被換出。

(2)程序段和數(shù)據(jù)段可能正被若干進(jìn)程共享,此時(shí)它們也不能換出。

13.為實(shí)現(xiàn)分頁(yè)存儲(chǔ)管理,需要哪些硬件的支持?

答:動(dòng)態(tài)重定位技術(shù)、虛擬存儲(chǔ)技術(shù)、多道程序設(shè)計(jì)技術(shù)。

14.較詳細(xì)的說(shuō)明引入分段存儲(chǔ)管理是為了滿足用戶哪幾方面的需要。

答:

1) 方便編程。用戶通常把自己的作業(yè)按照邏輯關(guān)系劃分為若干段,每段都從0 編址,并

有自己名字和長(zhǎng)度。因此,希望要訪問(wèn)的邏輯地址是由段名和段內(nèi)偏移量決定。

2) 信息共享。在實(shí)現(xiàn)對(duì)程序和數(shù)據(jù)的共享時(shí),是以信息邏輯單位為基礎(chǔ)。分頁(yè)系統(tǒng)中的頁(yè)

是存放信息的物理單位,無(wú)完整意義,不便于共享;段是信息的邏輯單位。為了實(shí)現(xiàn)段

的共享,希望存儲(chǔ)管理能與用戶程序分段的組織方式相適應(yīng)。

3) 信息保護(hù)。對(duì)信息的邏輯單位進(jìn)行保護(hù),分段能更有效方便地實(shí)現(xiàn)信息保護(hù)功能。

4) 動(dòng)態(tài)增長(zhǎng)。在實(shí)際應(yīng)用中,有些段特別是數(shù)據(jù)段,在使用過(guò)程中會(huì)不斷增長(zhǎng),事先又無(wú)

法確切知道增長(zhǎng)多少。分段存儲(chǔ)管理方式能較好解決這個(gè)問(wèn)題。

5) 動(dòng)態(tài)鏈接。運(yùn)行時(shí)先將主程序?qū)?yīng)的目標(biāo)程序裝入內(nèi)存并啟動(dòng)運(yùn)行,運(yùn)行過(guò)程中又需要

調(diào)用某段時(shí),才將該段調(diào)入內(nèi)存鏈接。所以動(dòng)態(tài)鏈接也要求以段作為管理單位。

15.在具有快表的段頁(yè)式存儲(chǔ)管理方式中,如何實(shí)現(xiàn)地址變換?

答:在CPU給出有效地址后,由地址變換機(jī)構(gòu)自動(dòng)將頁(yè)號(hào)P送入高速緩沖寄存器,并將此

頁(yè)號(hào)與高速緩存中的所有頁(yè)號(hào)比較,若找到匹配頁(yè)號(hào),表示要訪問(wèn)的頁(yè)表項(xiàng)在快表中。可直

接從快表讀出該頁(yè)對(duì)應(yīng)物理塊號(hào),送到物理地址寄存器中。如快表中沒(méi)有對(duì)應(yīng)頁(yè)表項(xiàng),則再

訪問(wèn)內(nèi)存頁(yè)表,找到后,把從頁(yè)表項(xiàng)中讀出物理塊號(hào)送地址寄存器;同時(shí)修改快表,將此頁(yè)

表項(xiàng)存入快表。但若寄存器已滿,則OS必須找到合適的頁(yè)表項(xiàng)換出。

16.為什么說(shuō)為什么說(shuō)分段系統(tǒng)比分頁(yè)系統(tǒng)更易于實(shí)現(xiàn)信息的共享和保護(hù)?

答:分頁(yè)系統(tǒng)的每個(gè)頁(yè)面是分散存儲(chǔ)的,為了實(shí)現(xiàn)信息共享和保護(hù),頁(yè)面之間需要一一對(duì)應(yīng),

為此需要建立大量的頁(yè)表項(xiàng);而分段系統(tǒng)的每個(gè)段都從0 編址,并采用一段連續(xù)的地址空

間,在實(shí)現(xiàn)共享和保護(hù)時(shí),只需為要共享和保護(hù)的程序設(shè)置一個(gè)段表項(xiàng),將其中的基址與內(nèi)

存地址一一對(duì)應(yīng)就能夠?qū)崿F(xiàn)。

?

17.分段和分頁(yè)存儲(chǔ)管理有何區(qū)別?

答:

(1)頁(yè)是信息的物理單位,分頁(yè)是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外部零頭,提高內(nèi)存利用率。段則是信息的邏輯單位,它含有一組相對(duì)完整的信息。

(2)頁(yè)的大小固定且由系統(tǒng)決定,由系統(tǒng)把邏輯地址劃分為頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分,是由

機(jī)械硬件實(shí)現(xiàn)的,因而在系統(tǒng)中只能有一種大小的的頁(yè)面;而段的長(zhǎng)度卻不固定,決定于用戶

所編寫的程序,通常由編譯程序在對(duì)原程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來(lái)劃分。

(3)分頁(yè)的作業(yè)地址空間是一維的,而分段作業(yè)地址空間則是二維的。

18.試全面比較連續(xù)分配和離散分配方式.

答:

(1)連續(xù)分配是指為一個(gè)用戶程序分配一個(gè)連續(xù)的地址空間,包括單一和分區(qū)兩種分配方

式。單一方式將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),最簡(jiǎn)單,只用于單用戶單任務(wù)操作系統(tǒng);分區(qū)方

式分固定和動(dòng)態(tài)分區(qū)。

(2)離散分配方式分為分頁(yè)、分段和段頁(yè)式存儲(chǔ)管理。分頁(yè)式存儲(chǔ)管理旨在提高內(nèi)存利用

率,分段式存儲(chǔ)管理旨在滿足用戶(程序員)的需要,段頁(yè)式存儲(chǔ)管理則將兩者結(jié)合起來(lái),具

有分段系統(tǒng)便于實(shí)現(xiàn)、可共享、易于保護(hù)和動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像分頁(yè)系統(tǒng)很好解決外部

碎片及為各段可離散分配內(nèi)存等問(wèn)題,是比較有效的存儲(chǔ)管理方式;

19.虛擬存儲(chǔ)器有哪些特征?其中最本質(zhì)的特征是什么?

答:虛擬存儲(chǔ)器有多次性、對(duì)換性、虛擬性三大特征。最本質(zhì)的特征是虛擬性。

20.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪些硬件支持?

答:(1)請(qǐng)求分頁(yè)(段)的頁(yè)(段)表機(jī)制(2)缺頁(yè)(段)中斷機(jī)構(gòu)(3)地址變換機(jī)構(gòu)

21.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪幾個(gè)關(guān)鍵技術(shù)?

答:

(1)在分頁(yè)請(qǐng)求系統(tǒng)中是在分頁(yè)的基礎(chǔ)上,增加了請(qǐng)求調(diào)頁(yè)功能和頁(yè)面置換功能所形成的

頁(yè)式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)頁(yè)面的程序(及數(shù)據(jù)),便啟動(dòng)運(yùn)行。

(2)在請(qǐng)求分段系統(tǒng)中是在分段系統(tǒng)的基礎(chǔ)上,增加了請(qǐng)求調(diào)段及分段置換功能后形成的

段式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)段(而非所有段)的用戶程序和數(shù)據(jù),即可啟動(dòng)運(yùn)行。

22.在請(qǐng)求分頁(yè)系統(tǒng)中,頁(yè)表應(yīng)包括哪些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?

答:頁(yè)表應(yīng)包括:頁(yè)號(hào)、物理塊號(hào)、狀態(tài)位P、訪問(wèn)字段A、修改位M和外存地址。

其中狀態(tài)位P 指示該頁(yè)是否調(diào)入內(nèi)存,供程序訪問(wèn)時(shí)參考;訪問(wèn)字段A 用于記錄本頁(yè)在一

段時(shí)間內(nèi)被訪問(wèn)的次數(shù),或最近已有多長(zhǎng)時(shí)間未被訪問(wèn),提供給置換算法選擇換出頁(yè)面時(shí)參

考;修改位M 表示該頁(yè)在調(diào)入內(nèi)存后是否被修改過(guò);外存地址用于指出該頁(yè)在外存上的地

址,通常是物理塊號(hào),供調(diào)入該頁(yè)時(shí)使用。

23.在請(qǐng)求分頁(yè)系統(tǒng)中,應(yīng)從何處將所需頁(yè)面調(diào)入內(nèi)存?

答:請(qǐng)求分頁(yè)系統(tǒng)中的缺頁(yè)從何處調(diào)入內(nèi)存分三種情況:

(1)系統(tǒng)擁有足夠?qū)Q區(qū)空間時(shí),可以全部從對(duì)換區(qū)調(diào)入所需頁(yè)面,提高調(diào)頁(yè)速度。在進(jìn)程運(yùn)行前將與該進(jìn)程有關(guān)的文件從文件區(qū)拷貝到對(duì)換區(qū)。

(2)系統(tǒng)缺少足夠?qū)Q區(qū)空間時(shí),不被修改的文件直接從文件區(qū)調(diào)入;當(dāng)換出這些頁(yè)面時(shí),未被修改的不必?fù)Q出,再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。對(duì)于可能修改的,在換出時(shí)便調(diào)到對(duì)換區(qū),以后需要時(shí)再?gòu)膶?duì)換區(qū)調(diào)入。

(3)UNIX 方式。未運(yùn)行頁(yè)面從文件區(qū)調(diào)入。曾經(jīng)運(yùn)行過(guò)但被換出頁(yè)面,下次從對(duì)換區(qū)調(diào)入。UNIX系統(tǒng)允許頁(yè)面共享,某進(jìn)程請(qǐng)求的頁(yè)面有可能已調(diào)入內(nèi)存,直接使用不再調(diào)入。24.在請(qǐng)求分頁(yè)系統(tǒng)中,常采用哪幾種頁(yè)面置換算法?

答:采用的頁(yè)面置換算法有:最佳置換算法和先進(jìn)先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁(yè)面緩沖算法等。

25.在請(qǐng)求分頁(yè)系統(tǒng)中,通常采用哪種頁(yè)面分配方式?為什么?

答:固定分配方式是基于進(jìn)程的類型(交互型)或根據(jù)程序員、系統(tǒng)管理員的建議,為每個(gè)進(jìn)程分配固定頁(yè)數(shù)的內(nèi)存空間,整個(gè)運(yùn)行期間不再改變;采用可變分配方式有全局置換和局部置換兩種,前者易于實(shí)現(xiàn),后者效率高。

26.在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,采用LRU 頁(yè)面置換算法時(shí),假如一個(gè)作業(yè)的頁(yè)面走向?yàn)? , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算訪問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率 ? 比較所得結(jié)果?(參考答案有錯(cuò))

答:當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),缺頁(yè)7次,缺頁(yè)率: 7/12=0.583;

當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),缺頁(yè)4次,缺頁(yè)率: 4/12=0.333.

-------以上解答出錯(cuò)。正確解法見下面:

答:當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),缺頁(yè)9次,缺頁(yè)率: 9/12=3/4;

當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),缺頁(yè)10次,缺頁(yè)率: 10/12=5/6.

?

27.實(shí)現(xiàn)LRU算法所需的硬件支持是什么?

答:需要寄存器和棧等硬件支持。寄存器用于記錄某進(jìn)程在內(nèi)存中各頁(yè)的使用情況,棧用于

保存當(dāng)前使用的各個(gè)頁(yè)面的頁(yè)面號(hào)。

28.試說(shuō)明改進(jìn)型 Clock 置換算法的基本原理.

答:因?yàn)樾薷倪^(guò)的頁(yè)面在換出時(shí)付出的開銷比未被修改過(guò)的頁(yè)面大,在改進(jìn)型Clock 算法

中,既考慮頁(yè)面的使用情況,還要增加置換代價(jià)的因素;在選擇頁(yè)面作為淘汰頁(yè)面時(shí),把同

時(shí)滿足未使用過(guò)和未被修改作為首選淘汰頁(yè)面。

29.說(shuō)明請(qǐng)求分段系統(tǒng)中的缺頁(yè)中斷處理過(guò)程。

答:請(qǐng)求分段系統(tǒng)中的缺頁(yè)中斷處理過(guò)程描述如下:

(1)根據(jù)當(dāng)前執(zhí)行指令中的邏輯地址查頁(yè)表,判斷該頁(yè)是否在主存儲(chǔ)器中

(2)該頁(yè)標(biāo)志為“0”形成缺頁(yè)中斷,中斷裝置通過(guò)交換PSW讓操作系統(tǒng)的中斷處理程序占用處理器。

(3)操作系統(tǒng)處理缺頁(yè)中斷處理的辦法是查主存分配表找一個(gè)空閑的主存塊,查頁(yè)表找出該頁(yè)在磁盤上位置,啟動(dòng)磁盤讀出該頁(yè)信息。

(4)把從磁盤上讀出的信息裝入找到的主存塊中。

?

(5)當(dāng)頁(yè)面住處被裝入主存后,應(yīng)修改頁(yè)表中對(duì)應(yīng)的表目,填上該頁(yè)所占用的主存塊把標(biāo)志置為“1”,表示該頁(yè)已在主存儲(chǔ)器中

(6)由于產(chǎn)生缺頁(yè)中斷時(shí)的那條指令并沒(méi)執(zhí)行完,所以在把頁(yè)面裝入之后應(yīng)重新執(zhí)行被中斷指令。

請(qǐng)求分段系統(tǒng)中的缺頁(yè)中斷處理過(guò)程如下圖所示:

?

30.如何實(shí)現(xiàn)分段共享 ?

答:在每個(gè)進(jìn)程的段表中,用相應(yīng)的表項(xiàng)指向共享段在內(nèi)存中起始地址;配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為共享段表,在段表項(xiàng)中設(shè)置共享進(jìn)程計(jì)數(shù)Count,每調(diào)用一次該共享段,Count值增 1,每當(dāng)進(jìn)程釋放一個(gè)共享段時(shí),Count減1,若減為0,則系統(tǒng)回收該共享段的物理內(nèi)存,取消在共享段表中該段對(duì)應(yīng)的表項(xiàng);共享段應(yīng)給不同的進(jìn)程以不同的存取權(quán)限;不同的進(jìn)程可以使用不同的段號(hào)去共享該段

第五章

1.試說(shuō)明設(shè)備控制器的組成。

答:由設(shè)備控制器與處理機(jī)的接口,設(shè)備控制器與設(shè)備的接口與I/O邏輯組成。

2.為了實(shí)現(xiàn)CPU與設(shè)備控制器間的通信,設(shè)備控制器應(yīng)具備哪些功能?

答:接收和識(shí)別命令;數(shù)據(jù)交換;標(biāo)識(shí)和報(bào)告設(shè)備狀態(tài);地址識(shí)別;數(shù)據(jù)緩沖;差錯(cuò)控制。

3.什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?

答:(1)字節(jié)多路通道。按字節(jié)交叉方式工作的通道。通常含有許多非分配型子通道,數(shù)

量從幾十到數(shù)百個(gè),每個(gè)子通道連接一臺(tái)I/O 設(shè)備,控制其I/O 操作。子通道按時(shí)間片輪

轉(zhuǎn)方式共享主通道。

(2)數(shù)組選擇通道。按數(shù)組方式傳送數(shù)據(jù),傳輸速率很高,每次只允許一個(gè)設(shè)備數(shù)據(jù)。

?

(3)數(shù)組多路通道。將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道的各子通道分時(shí)并行操作的優(yōu)點(diǎn)結(jié)合而成。含有多個(gè)非分配型子通道,具有很高的數(shù)據(jù)傳輸率和通道利用率。

4.如何解決因通道不足而產(chǎn)生的瓶頸問(wèn)題?

答:解決問(wèn)題的有效方法是增加設(shè)備到主機(jī)間的通路而不增加通道,把一個(gè)設(shè)備連到多個(gè)控制器上,控制器又連到多個(gè)通道上,這種多通路方式解決了“瓶頸”問(wèn)題,提高了系統(tǒng)可靠性,個(gè)別通道或控制器的故障不會(huì)使設(shè)備和存儲(chǔ)器之間沒(méi)有通路。

5.試對(duì)VESA 及PCI兩種總線進(jìn)行比較。

答:VESA總線的設(shè)計(jì)思想是以低價(jià)占領(lǐng)市場(chǎng)。總線帶寬32位,最高傳輸速率132Mb/s。

廣泛用于486微機(jī)。缺點(diǎn)是能連接的設(shè)備數(shù)僅為2~4 臺(tái),控制器中無(wú)緩沖,難于適應(yīng)處理

器速度的提高,不支持Pentium機(jī)。

PCI總線在CPU和外設(shè)間插入了復(fù)雜的管理層,協(xié)調(diào)數(shù)據(jù)傳輸和提供一致接口。管理

層中配有數(shù)據(jù)緩沖,放大了線路的驅(qū)動(dòng)能力,最多支持10種外設(shè),支持高時(shí)鐘頻率的CPU

運(yùn)行,最大傳輸速率132Mb/s。可連接ISA、EISA等傳統(tǒng)總線,又支持Pentium的64

位系統(tǒng),是基于奔騰等新一代微處理器而發(fā)展的總線。

6.試說(shuō)明推動(dòng)I/O控制發(fā)展的主要因素是什么?

答:推動(dòng)I/O 控制發(fā)展的主要?jiǎng)恿υ谟诒M量減少主機(jī)對(duì)I/O控制的干預(yù),把主機(jī)從繁雜的I/O控制事務(wù)中解脫出來(lái),用更多的時(shí)間和精力去完成其數(shù)據(jù)處理任務(wù)。同時(shí),中斷機(jī)制在計(jì)算機(jī)系統(tǒng)中的引入、DMA控制器的出現(xiàn)和通道研制的成功使I/O 控制的發(fā)展具備了技術(shù)支持和成為可能。

7.有哪幾種I/O控制方式?各適用于何種場(chǎng)合?

答:共有四種I/O 控制方式。

(1)程序I/O方式:早期計(jì)算機(jī)無(wú)中斷機(jī)構(gòu),處理機(jī)對(duì)I/O設(shè)備的控制采用程序I/O方式或稱忙等的方式。

(2)中斷驅(qū)動(dòng)I/O 控制方式:適用于有中斷機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中。

(3)直接存儲(chǔ)器訪問(wèn)(DMA)I/O 控制方式:適用于具有DMA控制器的計(jì)算機(jī)系統(tǒng)中。

(4)I/O 通道控制方式:具有通道程序的計(jì)算機(jī)系統(tǒng)中。

8.試說(shuō)明DMA 的工作流程。

答:以從磁盤讀入數(shù)據(jù)為例,說(shuō)明DMA的工作流程。當(dāng)CPU要從磁盤讀入數(shù)據(jù)塊時(shí),先向磁盤控制器發(fā)送一條讀命令。該命令被送到命令寄存器CR中。同時(shí)還發(fā)送本次要讀入數(shù)據(jù)的內(nèi)存起始目標(biāo)地址,送入內(nèi)存地址寄存器MAR;本次要讀數(shù)據(jù)的字節(jié)數(shù)送入數(shù)據(jù)計(jì)數(shù)器DC,將磁盤中的源地址直接送DMA控制器的I/O控制邏輯上。然后啟動(dòng)DMA 控制器傳送數(shù)據(jù),以后CPU便處理其它任務(wù)。整個(gè)數(shù)據(jù)傳送過(guò)程由DMA控制器控制。下圖為DMA方式的工作流程圖。

?

9.引入緩沖的主要原因是什么?

答:引入緩沖的主要原因是:

(1)緩和CPU與I/O 設(shè)備間速度不匹配的矛盾

(2)減少對(duì)CPU的中斷頻率,放寬對(duì)中斷響應(yīng)時(shí)間的限制

(3)提高CPU與I/O 設(shè)備之間的并行性

10.在單緩沖情況下,為什么系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(C,T)+M?

答:在塊設(shè)備輸入時(shí),先從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū),耗時(shí)為T;然后由操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)送給用戶區(qū),耗時(shí)M;接下來(lái)由CPU對(duì)塊數(shù)據(jù)進(jìn)行計(jì)算,耗時(shí)C。在單緩沖情況下,磁盤把數(shù)據(jù)輸入到緩沖區(qū)的操作和CPU對(duì)數(shù)據(jù)的計(jì)算過(guò)程可以并行展開,所以系統(tǒng)對(duì)每一整塊數(shù)據(jù)的處理時(shí)間為max(C, T) + M。

11.為什么在雙緩沖情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(T,C)?

答:寫入者花費(fèi)時(shí)間T 將數(shù)據(jù)寫滿一個(gè)緩沖區(qū)后再寫另一個(gè)緩沖區(qū);讀出者花費(fèi)時(shí)間M將一個(gè)緩沖區(qū)數(shù)據(jù)送到用戶區(qū)后再傳送另一個(gè)緩沖區(qū)數(shù)據(jù),計(jì)算者讀出用戶區(qū)數(shù)據(jù)進(jìn)行處理。由于將數(shù)據(jù)從緩沖區(qū)傳到用戶區(qū)操作必須與讀用戶區(qū)數(shù)據(jù)處理串行進(jìn)行,而且可以與從外存?zhèn)魉蛿?shù)據(jù)填滿緩沖區(qū)的操作并行。因此耗時(shí)大約為max(C+M,T)。考慮M是內(nèi)存數(shù)據(jù)塊的移動(dòng)耗時(shí)非常短暫可以省略,因此近似地認(rèn)為系統(tǒng)對(duì)一塊數(shù)據(jù)處理時(shí)間為max(C,T)。

?

?

?

?

12.試?yán)L圖說(shuō)明把多緩沖用于輸出時(shí)的情況。

答:多緩沖用于輸出的示意圖如下:

?

13.試說(shuō)明收容輸入工作緩沖區(qū)和提取輸出工作緩沖區(qū)的工作情況。

答:

①收容輸入工作緩沖區(qū)的工作情況為:在輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用GetBuf(EmptyQueue)過(guò)程,從EmptyQueue隊(duì)列的隊(duì)首摘下一個(gè)空緩沖區(qū),作為收容輸入工作緩沖區(qū)Hin。然后把數(shù)據(jù)輸入其中,裝滿后再調(diào)用PutBuf(InputQueue,Hin)過(guò)程,將該緩沖區(qū)掛在輸入隊(duì)列InputQueue的隊(duì)尾。

②提取輸出工作緩沖區(qū)的工作情況為:當(dāng)要輸出數(shù)據(jù)時(shí),調(diào)用GetBuf(OutputQueue)過(guò)程,從輸出隊(duì)列的隊(duì)首取得一裝滿輸出數(shù)據(jù)的緩沖區(qū)作為提取輸出工作緩沖區(qū)Sout。在數(shù)據(jù)提取完后,再調(diào)用PutBuf(EmptyQueue,Sout)過(guò)程,將該緩沖區(qū)掛到空緩沖隊(duì)列EmptyQueue的隊(duì)尾。

14.何謂安全分配方式和不安全分配方式?

答:

① 安全分配方式是指每當(dāng)進(jìn)程發(fā)出I/O 請(qǐng)求后,便進(jìn)入阻塞狀態(tài),直到其I/O操作完成時(shí)才被喚醒。在采用這種分配策略時(shí),一旦進(jìn)程已獲得某種設(shè)備資源后便阻塞,使它不可能再請(qǐng)求任何資源,而在它運(yùn)行時(shí)又不保持任何資源。這種分配方式已經(jīng)摒棄了造成死鎖的“請(qǐng)求和保持”條件,分配是安全的。缺點(diǎn)是進(jìn)程進(jìn)展緩慢,CPU與I/O設(shè)備串行工作。

②不安全分配方式是指進(jìn)程發(fā)出I/O 請(qǐng)求后仍繼續(xù)執(zhí)行,需要時(shí)又可發(fā)出第二個(gè)I/O 請(qǐng)求、第三個(gè)I/O請(qǐng)求。僅當(dāng)進(jìn)程請(qǐng)求的設(shè)備已被另一個(gè)進(jìn)程占有時(shí),進(jìn)程才進(jìn)入阻塞狀態(tài)。優(yōu)點(diǎn)是一個(gè)進(jìn)程可同時(shí)操作多個(gè)設(shè)備,進(jìn)程推進(jìn)迅速。缺點(diǎn)是分配不安全,可能具有“請(qǐng)求和保持”條件,可能造成死鎖。因此,在設(shè)備分配程序中需增加一個(gè)功能,用于對(duì)本次的設(shè)備分配是否會(huì)發(fā)生死鎖進(jìn)行安全性計(jì)算,僅當(dāng)計(jì)算結(jié)果表明分配安全的情況下才進(jìn)行分配。

15.為何要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?

答:現(xiàn)代操作系統(tǒng)為了提高系統(tǒng)的可適應(yīng)性和可擴(kuò)展性,都實(shí)現(xiàn)了設(shè)備獨(dú)立性或設(shè)備無(wú)關(guān)性。基本含義是應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備,應(yīng)用程序以邏輯設(shè)備名請(qǐng)求使用某類設(shè)備。實(shí)現(xiàn)了設(shè)備獨(dú)立性功能可帶來(lái)兩方面的好處:(1)設(shè)備分配時(shí)的靈活性;(2)易于實(shí)現(xiàn)I/O重定向。

為了實(shí)現(xiàn)設(shè)備的獨(dú)立性,應(yīng)引入邏輯設(shè)備和物理設(shè)備概念。在應(yīng)用程序中,使用邏輯設(shè)備名請(qǐng)求使用某類設(shè)備;系統(tǒng)執(zhí)行時(shí)是使用物理設(shè)備名。鑒于驅(qū)動(dòng)程序是與硬件或設(shè)備緊密相關(guān)的軟件,必須在驅(qū)動(dòng)程序之上設(shè)置一層設(shè)備獨(dú)立性軟件,執(zhí)行所有設(shè)備的公有操作、完成邏輯設(shè)備名到物理設(shè)備名的轉(zhuǎn)換(為此應(yīng)設(shè)置一張邏輯設(shè)備表)并向用戶層(或文件層)軟件提供統(tǒng)一接口,從而實(shí)現(xiàn)設(shè)備的獨(dú)立性。

16.在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)如何分配獨(dú)占設(shè)備?

答:在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)按如下步驟來(lái)分配獨(dú)占設(shè)備:

(1) 進(jìn)程以邏輯設(shè)備名提出I/O請(qǐng)求。

(2) 根據(jù)邏輯設(shè)備表獲得I/O請(qǐng)求的邏輯設(shè)備對(duì)應(yīng)物理設(shè)備在系統(tǒng)設(shè)備表中的指針。

(3) 檢索系統(tǒng)設(shè)備表,找到屬于請(qǐng)求類型、空閑可用且分配安全設(shè)備的設(shè)備控制表,將對(duì)應(yīng)

設(shè)備分配給請(qǐng)求進(jìn)程;未找到則等待等待喚醒和分配。

(4) 到設(shè)備控制表中找出與其相連接的控制器的控制器控制表,根據(jù)狀態(tài)字段判斷是否忙

碌,忙則等待;否則將該控制器分配給進(jìn)程。

(5) 到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,判斷通道是否忙

碌,忙則等待;否則將該通道分配給進(jìn)程。

(6) 只有在設(shè)備、控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功,然后便可啟

動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。

17.何謂設(shè)備虛擬?實(shí)現(xiàn)設(shè)備虛擬時(shí)所依賴的關(guān)鍵技術(shù)是什么?

答:設(shè)備虛擬是指把獨(dú)占設(shè)備經(jīng)過(guò)某種技術(shù)處理改造成虛擬設(shè)備。

可虛擬設(shè)備是指一臺(tái)物理設(shè)備在采用虛擬技術(shù)后,可變成多臺(tái)邏輯上的虛擬設(shè)備,則可虛擬設(shè)備是可共享的設(shè)備,將它同時(shí)分配給多個(gè)進(jìn)程使用,并對(duì)這些訪問(wèn)該物理設(shè)備的先后次序進(jìn)行控制。

18.試說(shuō)明SPOOLing 系統(tǒng)的組成。

答:SPOOLing 系統(tǒng)由輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進(jìn)程 SPi 和輸出進(jìn)程SPo 三部分組成。

19.在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求I/O的進(jìn)程提供哪些服務(wù)?

答:在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求 I/O的進(jìn)程提供以下服務(wù):

(1)由輸出進(jìn)程在輸出井中申請(qǐng)一空閑盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;

(2)輸出進(jìn)程為用戶進(jìn)程申請(qǐng)空白用戶打印表,填入打印要求,將該表掛到請(qǐng)求打印隊(duì)列。

(3)一旦打印機(jī)空閑,輸出進(jìn)程便從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。

20.試說(shuō)明設(shè)備驅(qū)動(dòng)程序具有哪些特點(diǎn)。

答:設(shè)備驅(qū)動(dòng)程序具有如下特點(diǎn):

(1)是請(qǐng)求 I/O 進(jìn)程與設(shè)備控制器間的一個(gè)通信程序;

(2)驅(qū)動(dòng)程序與 I/O 設(shè)備的特性緊密相關(guān);

(3)驅(qū)動(dòng)程序與 I/O 控制方式緊密相關(guān);

(4)驅(qū)動(dòng)程序與硬件緊密相關(guān),部分程序用匯編語(yǔ)言書寫,基本部分往往固化在ROM中。

?

?

21.試說(shuō)明設(shè)備驅(qū)動(dòng)程序應(yīng)具有哪些功能?

答:設(shè)備驅(qū)動(dòng)程序的主要功能包括:

(1)將接收到的抽象要求轉(zhuǎn)為具體要求;

(2)檢查用戶I/O請(qǐng)求合法性,了解I/O 設(shè)備狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備工作方式;

(3)發(fā)出I/O 命令,啟動(dòng)分配到的I/O設(shè)備,完成指定I/O 操作;

(4)及時(shí)響應(yīng)由控制器或通道發(fā)來(lái)的中斷請(qǐng)求,根據(jù)中斷類型調(diào)用相應(yīng)中斷處理程序處理;

(5)對(duì)于有通道的計(jì)算機(jī),驅(qū)動(dòng)程序還應(yīng)該根據(jù)用戶 I/O 請(qǐng)求自動(dòng)構(gòu)成通道程序。

22.設(shè)備中斷處理程序通常需完成哪些工作?

答:設(shè)備中斷處理程序通常需完成如下工作:

(1) 喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程;

(2) 保護(hù)被中斷進(jìn)程的CPU環(huán)境;

(3) 分析中斷原因、轉(zhuǎn)入相應(yīng)的設(shè)備中斷處理程序;

(4) 進(jìn)行中斷處理;

(5) 恢復(fù)被中斷進(jìn)程。

23.磁盤訪問(wèn)時(shí)間由哪幾部分組成?每部分時(shí)間應(yīng)如何計(jì)算?

答:磁盤訪問(wèn)時(shí)間由尋道時(shí)間Ts、旋轉(zhuǎn)延遲時(shí)間Tr、傳輸時(shí)間Tt 三部分組成。

(1)Ts 是啟動(dòng)磁臂時(shí)間s 與磁頭移動(dòng)n條磁道的時(shí)間和,即Ts = m × n + s。

(2)Tr是指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)間。硬盤15000r/min時(shí)Tr為2ms;軟盤300或600r/min時(shí)Tr為50~100ms。

(3)Tt 是指數(shù)據(jù)從磁盤讀出或向磁盤寫入經(jīng)歷的時(shí)間。Tt的大小與每次讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān):Tt = b/rN。

24.目前常用的磁盤調(diào)度算法有哪幾種?每種算法優(yōu)先考慮的問(wèn)題是什么?

答:目前常用的磁盤調(diào)度算法有先來(lái)先服務(wù)、最短尋道時(shí)間優(yōu)先及掃描等算法。

(1) 先來(lái)先服務(wù)算法優(yōu)先考慮進(jìn)程請(qǐng)求訪問(wèn)磁盤的先后次序;

(2) 最短尋道時(shí)間優(yōu)先算法優(yōu)先考慮要求訪問(wèn)的磁道與當(dāng)前磁頭所在磁道距離是否最近;

(3) 掃描算法考慮欲訪問(wèn)的磁道與當(dāng)前磁道間的距離,更優(yōu)先考慮磁頭當(dāng)前的移動(dòng)方向。

25.為什么要引入磁盤高速緩沖?何謂磁盤高速緩沖?

答:目前磁盤的I/O速度遠(yuǎn)低于內(nèi)存的訪問(wèn)速度,通常低上4-6個(gè)數(shù)量級(jí)。因此,磁盤I/O已成為計(jì)算機(jī)系統(tǒng)的瓶頸。為提高磁盤I/O的速度,便引入了磁盤高速緩沖。

磁盤高速緩沖是指利用內(nèi)存中的存儲(chǔ)空間,暫存從磁盤中讀出的一系列盤塊中的信息。

26.在設(shè)計(jì)磁盤高速緩沖時(shí),如何實(shí)現(xiàn)數(shù)據(jù)交付?

答:數(shù)據(jù)交付是指將磁盤高速緩存中的數(shù)據(jù)傳給請(qǐng)求進(jìn)程。當(dāng)進(jìn)程請(qǐng)求訪問(wèn)某個(gè)盤塊中的數(shù)據(jù)時(shí),由核心先查看磁盤高速緩沖,看其中是否存在所需盤塊數(shù)據(jù)的拷貝。若有便直接從中提取數(shù)據(jù)交付給請(qǐng)求進(jìn)程,避免了訪盤操作,本次訪問(wèn)速度提高4-6個(gè)數(shù)量級(jí);否則先從磁盤中將要訪問(wèn)的數(shù)據(jù)讀入并交付給請(qǐng)求者進(jìn)程,同時(shí)送高速緩存以便下次直接讀取。

?

27.何謂提前讀、延遲寫和虛擬盤?

答:提前讀是指在讀當(dāng)前盤塊的同時(shí),將下一個(gè)可能要訪問(wèn)的盤塊數(shù)據(jù)讀入緩沖區(qū),以便需

要時(shí)直接從緩沖區(qū)中讀取,無(wú)需啟動(dòng)磁盤。

延遲寫是指在寫盤塊時(shí),將對(duì)應(yīng)緩沖區(qū)中的立即寫數(shù)據(jù)暫時(shí)不立即寫以備不久之后再被訪問(wèn),只將它置上“延遲寫”標(biāo)志并掛到空閑緩沖隊(duì)列的末尾。當(dāng)移到空閑緩沖隊(duì)首并被分配出去時(shí),才寫緩沖區(qū)中的數(shù)據(jù)。只要延遲寫塊仍在空閑緩沖隊(duì)列中,任何要求訪問(wèn)都可直接從其中讀出數(shù)據(jù)或?qū)?shù)據(jù)寫入其中,而不必去訪問(wèn)磁盤。

虛擬盤又稱RAM盤,是利用內(nèi)存空間仿真磁盤。其設(shè)備驅(qū)動(dòng)程序可以接受所有標(biāo)準(zhǔn)的磁盤操作,但這些操作不是在磁盤上而是在內(nèi)存中,因此速度更快。

28.廉價(jià)磁盤冗余陣列是如何提高對(duì)磁盤的訪問(wèn)速度和可靠性的?

答:廉價(jià)磁盤冗余陣列RAID是利用一臺(tái)磁盤陣列控制器,統(tǒng)一管理和控制一組(幾臺(tái)到幾

十臺(tái))磁盤驅(qū)動(dòng)器,組成高度可靠快速大容量的磁盤系統(tǒng)。

操作系統(tǒng)將RAID中的一組物理磁盤驅(qū)動(dòng)器看作一個(gè)單個(gè)的邏輯磁盤驅(qū)動(dòng)器。用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)可分布在陣列的所有磁盤中,并采取并行傳輸方式,大大減少數(shù)據(jù)傳輸時(shí)間和提高了可靠性。

第六章

1.何謂數(shù)據(jù)項(xiàng)、記錄和文件?

答:①數(shù)據(jù)項(xiàng)分為基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng)。基本數(shù)據(jù)項(xiàng)描述一個(gè)對(duì)象某種屬性的字符集,具有數(shù)據(jù)名、數(shù)據(jù)類型及數(shù)據(jù)值三個(gè)特性。組合數(shù)據(jù)項(xiàng)由若干數(shù)據(jù)項(xiàng)構(gòu)成。

②記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。

③文件是具有文件名的一組相關(guān)信息的集合。

2.文件系統(tǒng)的模型可分為三層,試說(shuō)明其每一層所包含的基本內(nèi)容。

答:第一層:對(duì)象及其屬性說(shuō)明(文件、目錄、硬盤或磁帶存儲(chǔ)空間);

第二層:對(duì)對(duì)象操縱和管理的軟件集合(I/O控制層即設(shè)備驅(qū)動(dòng)程序、基本文件系統(tǒng)即物理I/O層、基本I/O管理程序或文件組織模塊層、邏輯文件系統(tǒng)層)

第三層:文件系統(tǒng)接口(命令接口/圖形化用戶接口與程序接口)。

3.試說(shuō)明用戶可以對(duì)文件施加的主要操作有哪些?

答:用戶通過(guò)文件系統(tǒng)提供的系統(tǒng)調(diào)用對(duì)文件實(shí)施操作。

(1)基本文件操作:創(chuàng)建、刪除、讀、寫、截?cái)唷⒃O(shè)置讀/寫位置等;

(2)文件打開和關(guān)閉操作:第一步通過(guò)檢索文件目錄找到指定文件屬性及其在外存上位置;第二步對(duì)文件實(shí)施讀寫等相應(yīng)操作。

(3)其他文件操作:一是文件屬性操作;二是目錄操作;三是文件共享與文件系統(tǒng)操作的系統(tǒng)調(diào)用實(shí)現(xiàn)等。

?

4.何謂邏輯文件?何謂物理文件?

答:邏輯文件是物理文件中存儲(chǔ)的數(shù)據(jù)的一種視圖方式,不包含具體數(shù)據(jù),僅包含物理文件中數(shù)據(jù)的索引。物理文件又稱文件存儲(chǔ)結(jié)構(gòu),是指文件在外存上的存儲(chǔ)組織形式。

5.如何提高對(duì)變長(zhǎng)記錄順序文件的檢索速度?

答:基本方法是為變長(zhǎng)記錄順序文件建立一張索引表,以主文件中每條記錄的長(zhǎng)度及指向?qū)?yīng)記錄的指針(即該記錄在邏輯地址空間的首址)作為相應(yīng)表項(xiàng)的內(nèi)容。由于索引表本身是一個(gè)定長(zhǎng)記錄的順序文件,若將其按記錄鍵排序,則實(shí)現(xiàn)了對(duì)主文件方便快捷的直接存取。如果文件較大,應(yīng)通過(guò)建立分組多級(jí)索引以進(jìn)一步提高檢索效率。

6.試說(shuō)明對(duì)索引文件和索引順序文件的檢索方法。

答: ①索引文件的檢索,首先根據(jù)用戶(程序)提供的關(guān)鍵字,利用折半查找法檢索索引表,找到相應(yīng)表項(xiàng);再利用給出的指向記錄指針值,訪問(wèn)對(duì)應(yīng)記錄。

②索引順序文件的檢索,首先利用用戶(程序)提供的關(guān)鍵字及查找方法,檢索索引表,找到該記錄在記錄組中的第一條記錄表項(xiàng),得到第一個(gè)記錄在主文件中的位置;再利用順序查找法查找主文件,找到所要求的記錄。

7.試從檢索速度和存儲(chǔ)費(fèi)用兩方面對(duì)索引文件和索引順序文件進(jìn)行比較。

答:索引文件的主文件每條記錄配置一個(gè)索引項(xiàng),存儲(chǔ)開銷N,檢索到具有指定關(guān)鍵字的記錄,平均查找N/2條記錄。對(duì)于索引順序文件,每個(gè)記錄分組配置一個(gè)索引項(xiàng),存儲(chǔ)開銷為N,檢索到具有指定關(guān)鍵字的記錄,平均需要查找N?/2次。

8.試說(shuō)明順序文件的結(jié)構(gòu)及其優(yōu)點(diǎn)。

答:第一種是串結(jié)構(gòu):各記錄之間的順序與關(guān)鍵字無(wú)關(guān)。第二種是順序結(jié)構(gòu):指文件中的所有記錄按關(guān)鍵字(詞)排列。可以按關(guān)鍵詞長(zhǎng)短排序或英文字母順序排序。

順序文件的最佳應(yīng)用場(chǎng)合是對(duì)諸記錄進(jìn)行批量存取時(shí),存取效率最高;只有順序文件才能存儲(chǔ)在磁帶上并有效工作。

9.在鏈接式文件中常用哪種鏈接方式?為什么?

答:鏈接方式分為隱式鏈接和顯式鏈接兩種形式。隱式鏈接是在文件目錄的每個(gè)目錄項(xiàng)中,都含有指向鏈接文件第一個(gè)盤塊和最后一個(gè)盤塊的指針。顯式鏈接則把用于鏈接文件各物理塊的指針,顯式地存放在內(nèi)存的一張鏈接表中。

10.在MS-DOS中有兩個(gè)文件A 和B,A占用11、12、16和14四個(gè)盤塊;B 占用13、18和20三個(gè)盤塊。試畫出在文件A和B中各盤塊間的鏈接情況及FAT的情況。

答:如下圖所示。

?

11.NTFS文件系統(tǒng)對(duì)文件采用什么樣的物理結(jié)構(gòu)?

答:在NTFS文件系統(tǒng)中,以簇作為磁盤空間分配和回收的基本單位。一個(gè)文件占若干個(gè)簇,一個(gè)簇只屬于一個(gè)文件。

12.假定一個(gè)文件系統(tǒng)的組織方式與MS-DOS相似,在FAT中可有64K個(gè)指針,磁盤的盤塊大小為512B,試問(wèn)該文件系統(tǒng)能否指引一個(gè)512MB的磁盤?

解:512MB/512B=1M 個(gè)盤塊,而每個(gè)盤塊都應(yīng)有一個(gè)指針來(lái)指示,所以應(yīng)該有1M個(gè)指針,因此若有64K 指針不能指引一個(gè)512MB的磁盤。

13.為了快速訪問(wèn),又易于更新,當(dāng)數(shù)據(jù)為以下形式時(shí),應(yīng)選用何種文件組織方式。

⑴不經(jīng)常更新,經(jīng)常隨機(jī)訪問(wèn);⑵經(jīng)常更新,經(jīng)常按一定順序訪問(wèn);⑶經(jīng)常更新,經(jīng)常隨機(jī)訪問(wèn);

答:以上三種宜分別采用(1)順序結(jié)構(gòu)(2)索引順序結(jié)構(gòu)(3)索引結(jié)構(gòu)的組織方式。

14.在UNIX中,如果一個(gè)盤塊的大小為1KB,每個(gè)盤塊號(hào)占4個(gè)字節(jié),即每塊可放256個(gè)地址。請(qǐng)轉(zhuǎn)換下列文件的字節(jié)偏移量為物理地址。

⑴9999; ⑵18000;⑶420000

答:首先將邏輯文件的字節(jié)偏移量轉(zhuǎn)換為邏輯塊號(hào)和塊內(nèi)偏移量,就是將[字節(jié)偏移量]/[盤塊大小],商為邏輯塊號(hào),余數(shù)是塊內(nèi)偏移量。在FCB中,第0-9個(gè)地址為直接地址,第10個(gè)為一次間接地址,第11個(gè)地址為二次間接地址,第12個(gè)地址為三次間接地址。

再將文件的邏輯塊號(hào)轉(zhuǎn)換為物理塊號(hào)。使用多重索引結(jié)構(gòu),在索引節(jié)點(diǎn)中根據(jù)邏輯塊號(hào)

通過(guò)直接索引或間接索引找到對(duì)應(yīng)的物理塊號(hào)。

(1)9999/1024=9余783,則邏輯塊號(hào)為9,直接索引第9個(gè)地址得到物理塊號(hào),塊內(nèi)偏移地址為783。

(2)18000/1024=17余592,則邏輯塊號(hào)為10<17<10+256,通過(guò)一次間接索引在第10個(gè)地址可得到物理塊號(hào),塊內(nèi)偏移地址為592。

(3)420000/1024=410余160,則邏輯塊號(hào)為10+256<410,通過(guò)二次間接索引在第11個(gè)地址可得到一次間址,再由此得到二次間址,再找到物理塊號(hào),其塊內(nèi)偏移地址160。

15.什么是索引文件?為什么要引入多級(jí)索引?

答:索引文件是指當(dāng)記錄為可變長(zhǎng)度時(shí),通常為之建立一張索引表,并為每個(gè)記錄設(shè)置一個(gè)表項(xiàng)構(gòu)成的文件。通常將索引非順序文件簡(jiǎn)稱為索引文件。索引是為了是用戶的訪問(wèn)速度更快,多級(jí)索引結(jié)構(gòu)可以有效的管理索引文件,可根據(jù)用戶的訪問(wèn)情況多級(jí)處理。

16.試說(shuō)明UNIX 系統(tǒng)中所采用的混合索引分配方式。

答:混合索引分配方式是指將多種索引分配方式結(jié)合而成的分配方式。常見的是采用直接地址和一級(jí)索引聯(lián)合的分配方式,或兩級(jí)索引分配方式,甚至三級(jí)索引分配方式。在UNIXSystemⅤ和BSD UNIX 的索引結(jié)點(diǎn)中,都設(shè)置了13個(gè)地址項(xiàng),即iaddr(0)~iaddr(12),把所有地址項(xiàng)分成直接地址和間接地址

17.對(duì)目錄管理的主要要求是什么?

答:實(shí)現(xiàn)按名存取、提高檢索目錄的速度、文件共享、允許文件重名。

18.采用單級(jí)目錄能否滿足對(duì)目錄管理的主要要求?為什么?

答:不能。單級(jí)目錄在整個(gè)文件系統(tǒng)中只建立一張目錄表,每個(gè)文件占一個(gè)目錄項(xiàng),其中含文件名、文件擴(kuò)展名、文件長(zhǎng)度、文件類型、文件物理地址、狀態(tài)位等其它文件屬性。

單級(jí)只能實(shí)現(xiàn)目錄管理的基本功能,不能滿足查找速度、允許重名和文件共享的要求。

19.目前廣泛應(yīng)用的目錄結(jié)構(gòu)有哪些?它有什么優(yōu)點(diǎn)?

答:現(xiàn)代操作系統(tǒng)都采用多級(jí)目錄結(jié)構(gòu)。基本特點(diǎn)是查詢速度快、層次結(jié)構(gòu)清晰、文件管理和保護(hù)易于實(shí)現(xiàn)。

20.Hash 檢索法有何優(yōu)點(diǎn)?又有何局限性?

答:Hash檢索法是系統(tǒng)把用戶提供的文件名變換為文件目錄的索引值,再利用該值查找目錄,有效提高目錄的檢索速度,但Hash檢索法局限于非通配符文件名。

21.在Hash檢索法中,如何解決“沖突”問(wèn)題?

答:在Hash法查找目錄時(shí),如果目錄表中相應(yīng)目錄項(xiàng)為空,表示系統(tǒng)中無(wú)指定文件。如果文件名與指定文件名匹配,表示找到了目標(biāo)文件,也就找到了文件的物理地址。如果目錄表中找到的相應(yīng)文件名不匹配,則發(fā)生了沖突,需要Hash轉(zhuǎn)換形成新的索引值,返回第一步重新查找。

22.試說(shuō)明在樹型目錄結(jié)構(gòu)中線性檢索法的檢索過(guò)程,并給出相應(yīng)的流程圖。

答:在樹型結(jié)構(gòu)的目錄中,當(dāng)有兩個(gè)或多個(gè)用戶共享一個(gè)子目錄或文件時(shí),將共享文件或字母路連接到兩個(gè)或多個(gè)用戶目錄中,方便找到該文件。此時(shí)目錄結(jié)構(gòu)不再是樹形結(jié)構(gòu),而是個(gè)有向非循環(huán)圖DGA。

?

?

?

23.有一計(jì)算機(jī)系統(tǒng)利用圖6-33所示的位示圖來(lái)管理空閑盤塊。盤塊的大小為1KB,現(xiàn)

要為某文件分配量個(gè)盤塊,試說(shuō)明盤塊的具體分配過(guò)程。

?

答:分配量個(gè)盤塊的過(guò)程如下:

⑴ 順序掃描位示圖,從中找到第一個(gè)值為0的二進(jìn)制位,得到行號(hào)i=3,列號(hào)j=3。

⑵ 將找到的二進(jìn)制位轉(zhuǎn)換成對(duì)應(yīng)盤塊號(hào)。盤塊號(hào)為:b=(3-1)*16+3=35;

⑶ 修改位示圖,令map[3,3]=1,并將該盤塊分配出去。

類似地,可使用相同的方法找到第二個(gè)值為0的二進(jìn)制位,得到行號(hào)i=4,列號(hào)j=7,其對(duì)應(yīng)的盤塊號(hào)為55,令map[i,j]=1,并將該盤塊分配出去。

24.某操作系統(tǒng)磁盤文件空間共500塊,若用字長(zhǎng)為32位的位示圖管理磁盤空間,試問(wèn):(1)位示圖需要多少字?

(2)第i字第j位對(duì)應(yīng)的塊號(hào)是多少?

(3)給出申請(qǐng)/歸還一塊的工作流程。

答:(1)位示圖需要的字?jǐn)?shù)計(jì)算:INT(500/32)=16 個(gè)字。

(2)塊號(hào)b=(i-1)*32+j

(3)申請(qǐng)的過(guò)程:順序掃描位示圖、找到空閑塊并分配、修改位示圖map[i,j]=1。

歸還的過(guò)程:找到回收盤塊在位示圖中的行和列,修改位示圖map[i,j]=0。

25.對(duì)空閑磁盤空間的管理常采用哪幾種分配方式?在UNIX系統(tǒng)中采用何種分配方式?

答:空閑表法、空閑鏈表法、位示圖法、成組鏈接法。UNIX系統(tǒng)采用的是成組鏈接法

26.基于索引節(jié)點(diǎn)的文件共享方式有何優(yōu)點(diǎn)?

答:優(yōu)點(diǎn)是建立新的共享鏈接時(shí),不改變文件擁有者關(guān)系,僅把索引結(jié)點(diǎn)共享計(jì)數(shù)器加1,系統(tǒng)可獲悉了由多少個(gè)目錄項(xiàng)指向該文件。缺點(diǎn)是擁有者不能刪除自己的文件,否則會(huì)出錯(cuò)。

27.基于符號(hào)鏈的文件共享方式有何優(yōu)點(diǎn)?

答:能夠通過(guò)網(wǎng)絡(luò)鏈接世界上 任何地方的計(jì)算機(jī)中的文件。

28.在一級(jí)系統(tǒng)容錯(cuò)技術(shù)中,包括哪些容錯(cuò)措施?什么是寫后讀校驗(yàn)?

答:一級(jí)系統(tǒng)容錯(cuò)技術(shù)包括雙份目錄、雙份文件分配表及寫后讀校驗(yàn)等容錯(cuò)措施。

寫后讀校驗(yàn)是每次從內(nèi)存緩沖區(qū)向磁盤寫入一個(gè)數(shù)據(jù)塊后,又立即從磁盤上讀出該數(shù)據(jù)塊,并送至另一緩沖區(qū)中,再將該緩沖區(qū)內(nèi)容與內(nèi)存緩沖區(qū)中在寫后仍保留的數(shù)據(jù)進(jìn)行比較。若兩者一致,才認(rèn)為寫入成功,繼續(xù)寫下一個(gè)盤塊。否則重寫。若重寫后仍不一致,則認(rèn)為盤塊缺陷,便將應(yīng)寫入該盤塊的數(shù)據(jù),寫入到熱修復(fù)重定向區(qū)中。

29.在第二級(jí)系統(tǒng)容錯(cuò)技術(shù)中,包括哪些容錯(cuò)措施?畫圖說(shuō)明之。

答:第二級(jí)容錯(cuò)技術(shù)包括磁盤鏡像和磁盤雙工兩種容錯(cuò)措施。圖示如下:

?

30.何謂事務(wù)?如何保證事務(wù)的原子性?

答:事務(wù)是用于訪問(wèn)和修改各種數(shù)據(jù)項(xiàng)的一個(gè)程序單位。

要保證事務(wù)的原子性必須要求一個(gè)事務(wù)在對(duì)一批數(shù)據(jù)執(zhí)行修改操作時(shí),要么全部完成,

用修改后的數(shù)據(jù)代替原來(lái)數(shù)據(jù),要么一個(gè)也不改,保持原來(lái)數(shù)據(jù)的一致性。

31.引入檢查點(diǎn)的目的是什么?引入檢查點(diǎn)后又如何進(jìn)行恢復(fù)處理?

答:引入檢查點(diǎn)的目的是使對(duì)事務(wù)記錄表中事務(wù)記錄的清理工作經(jīng)常化。

恢復(fù)處理由恢復(fù)例程來(lái)實(shí)現(xiàn)。首先查找事務(wù)記錄表,確定在最近檢查點(diǎn)以前開始執(zhí)行的

最后的事務(wù)Ti。找到Ti后再返回搜索事務(wù)記錄表,找到第一個(gè)檢查點(diǎn)記錄,從該檢查點(diǎn)開

始,返回搜索各個(gè)事務(wù)記錄,利用redo和undo 過(guò)程對(duì)他們進(jìn)行相應(yīng)的處理。

32.為何引入共享鎖?如何用互斥鎖或共享鎖來(lái)實(shí)現(xiàn)事務(wù)的順序性?

答:引入共享鎖是為了提高運(yùn)行效率。在給對(duì)象設(shè)置了互斥鎖和共享鎖的情況下,如果事務(wù)Ti要對(duì)Q執(zhí)行讀操作,只需獲得Q的共享鎖。如果對(duì)象Q已被互斥鎖鎖住,則Ti必須等待;否則便獲得共享鎖對(duì)Q執(zhí)行讀操作。如果Ti要對(duì)Q 執(zhí)行寫操作,則Ti還要獲得Q的互斥鎖。若失敗則等待;成功則獲得互斥鎖并對(duì)Q執(zhí)行寫操作。

33.當(dāng)系統(tǒng)中有重復(fù)文件時(shí),如何保證他們的一致性?

答:可以采用兩種方法:一是對(duì)所有的重復(fù)文件進(jìn)行同樣的修改,二是用新修改的文件替換所有的重復(fù)文件。

?

?

34.如何檢索盤塊號(hào)的一致性?檢查時(shí)可能出現(xiàn)哪幾種情況?

答:為了保證盤塊號(hào)的一致性,先將計(jì)數(shù)器表中的所有表項(xiàng)初始化為0,用N 個(gè)空閑盤塊

號(hào)計(jì)數(shù)器組成的第一組計(jì)數(shù)器對(duì)從空閑盤塊表中讀出的盤塊號(hào)計(jì)數(shù),用N 個(gè)數(shù)據(jù)盤塊號(hào)計(jì)

數(shù)器組成的第二組計(jì)數(shù)器對(duì)從文件分配表中讀出的已分配給文件使用的盤快號(hào)計(jì)數(shù)。如果兩組計(jì)數(shù)中的對(duì)應(yīng)數(shù)據(jù)互補(bǔ)則數(shù)據(jù)一致,反之則發(fā)生錯(cuò)誤。

檢查時(shí)可能出現(xiàn)的情況:

(1)兩組計(jì)數(shù)器中盤塊K 的計(jì)數(shù)值均為0,應(yīng)在空閑盤塊表中增加盤塊號(hào)K;

(2)空閑盤塊號(hào)計(jì)數(shù)器中盤塊K 的計(jì)數(shù)值為2,應(yīng)刪除一個(gè)空閑盤塊號(hào)K;

(3)空閑盤塊號(hào)計(jì)數(shù)器中盤塊號(hào)K 的計(jì)數(shù)值為0,而數(shù)據(jù)盤塊號(hào)計(jì)數(shù)器中盤塊號(hào)K 的

計(jì)數(shù)值大于1,則錯(cuò)誤嚴(yán)重,存在數(shù)據(jù)丟失等事件,必須立即報(bào)告系統(tǒng)加以處理。

第七章

1.操作系統(tǒng)包括哪幾種類型的用戶接口?它們分別適用于哪種情況?

答:操作系統(tǒng)包括四種類型的用戶接口:命令接口(分為聯(lián)機(jī)與脫機(jī)命令接口)、程序接口、圖形化用戶接口和網(wǎng)絡(luò)用戶接口。

命令接口和圖形化用戶接口支持用戶直接通過(guò)終端來(lái)使用計(jì)算機(jī)系統(tǒng),程序接口提供給用戶在編制程序時(shí)使用,網(wǎng)絡(luò)用戶接口是面向網(wǎng)絡(luò)應(yīng)用的接口。

2.聯(lián)機(jī)命令接口由哪些部分構(gòu)成?

答:聯(lián)機(jī)命令接口由一組聯(lián)機(jī)命令、終端處理程序和命令解釋程序構(gòu)成。

3.聯(lián)機(jī)命令通常包含哪些類型?每種類型又包含哪些主要命令?

答:聯(lián)機(jī)命令通常包含如下類型:

(1)系統(tǒng)訪問(wèn)類,主要是注冊(cè)命令login、password;

(2)磁盤操作類,包括磁盤格式化format、軟盤復(fù)制diskcopy、軟盤比較diskcomp及備份backup等命令;

(3)文件操作類,包括文件顯示type、文件拷貝copy、文件比較comp、文件重命名rename、文件刪除erase等命令;

(4)目錄操作類,包括子目錄建立mkdir、目錄顯示dir、子目錄刪除rmdir、目錄結(jié)構(gòu)顯示tree、當(dāng)前目錄改變chdir等命令;

(5)其它命令,包括輸入輸出重定向>、<,管道聯(lián)接|、過(guò)濾命令/,批命令.bat等。

4.什么是輸入輸出重定向?試舉例說(shuō)明。

答:命令的輸入通常取自標(biāo)準(zhǔn)輸入設(shè)備鍵盤,命令輸出則送往標(biāo)準(zhǔn)輸出設(shè)備顯示終端。如果在命令中設(shè)置輸出定向“>”,其后接文件或設(shè)備名,則命令的結(jié)果輸出將送到指定文件或設(shè)備上;如果使用輸入重定向“<”,則不從鍵盤而是從重定向符右邊的指定文件或設(shè)備上取得輸入信息。這就是輸入輸出的重定向。

5.何謂管道聯(lián)接?試舉例說(shuō)明。

答:管道聯(lián)接是指把第一個(gè)命令的輸出作為第二個(gè)命令的輸入,或把第二個(gè)命令的輸出作為

第三條命令的輸入,以此類推,由兩條以上的命令可形成一條管道。在MS-DOS和UNIX

中,都用"|"作為管道符號(hào)。其一般格式為:command1 |command2 | …|commandn。

6.終端設(shè)備處理程序的主要作用是什么?它具有哪些功能?

答:主要用于實(shí)現(xiàn)人機(jī)交互,它具有以下功能:

(1)接收用戶從終端上鍵入的字符;(2)字符緩沖,用于暫存接收的字符;(3)回送顯示;(4)屏幕編輯; (5)特殊字符處理。

7.命令解釋程序的主要作用是什么?

答:主要作用是:在屏幕上給出提示符,請(qǐng)用戶輸入命令,讀入并識(shí)別命令,轉(zhuǎn)至相應(yīng)命令處理程序入口地址,把控制權(quán)交給該處理程序執(zhí)行,最后將處理結(jié)果或出錯(cuò)信息送屏幕顯示。

8.試說(shuō)明MS-DOS的命令處理程序COMMAND.COM的工作流程。

答:COMMAND.COM的工作流程如下:

(1)系統(tǒng)通電或復(fù)位后,初始化程序?qū)φ麄€(gè)系統(tǒng)完成初始化工作,自動(dòng)執(zhí)行Autoexec.bat文件,然后把控制權(quán)交給暫存部分,給出提示符等待接收用戶鍵入命令;

(2)暫存部分讀入鍵盤緩沖區(qū)中的命令,判別文件名、擴(kuò)展名及驅(qū)動(dòng)器名是否正確,若有錯(cuò)則出錯(cuò)返回,正確則查找和識(shí)別命令;

(3)若為內(nèi)部命令,暫存部分找到后便從對(duì)應(yīng)表項(xiàng)中獲得命令處理程序的入口地址并執(zhí)行;若為外部指令,則建立命令行,執(zhí)行系統(tǒng)調(diào)用exec裝入其命令處理程序,得到對(duì)應(yīng)基地址并執(zhí)行;若鍵入命令非法,則出錯(cuò)返回;

(4)命令完成后,控制權(quán)重新交給暫存部分給出提示符等待接收用戶命令,轉(zhuǎn)(2)。

9.為了將已存文件改名,應(yīng)用什么UNIX 命令?

答:對(duì)已存文件改名的命令為mv,其格式為:mv oldname newname。

10.要想將工作目錄移到目錄樹的某指定點(diǎn)上,應(yīng)利用什么命令?

答:用命令“cd ..”或“cd .”將當(dāng)前目錄上移或轉(zhuǎn)移,直到工作目錄移到目錄樹的指定點(diǎn)。

11.如果希望把file1的內(nèi)容附加到原有的文件file2的末尾,應(yīng)用什么指令?

答: $catfile1>>file4

12.試比較mail和write命令的作用有何不同?

答: mail命令作為UNIX 的多用戶之間非交互式通信的工具。write命令是用戶與當(dāng)前系統(tǒng)

中的其他用戶直接進(jìn)行聯(lián)機(jī)通訊的工具。

13. 試比較一般的過(guò)程調(diào)用和系統(tǒng)調(diào)用?

答: 系統(tǒng)調(diào)用本質(zhì)上是過(guò)程調(diào)用的一種特殊形式,與一般過(guò)程調(diào)用有差別:

(1)運(yùn)行狀態(tài)不同。一般過(guò)程調(diào)用的調(diào)用過(guò)程和被調(diào)用過(guò)程均為用戶程序,或者均為系統(tǒng)程序,運(yùn)行在同一系統(tǒng)狀態(tài)(用戶態(tài)或系統(tǒng)態(tài));系統(tǒng)調(diào)用的調(diào)用過(guò)程是用戶態(tài)下的用戶程序,被調(diào)用過(guò)程是系統(tǒng)態(tài)下的系統(tǒng)程序。

(2)軟中斷進(jìn)入機(jī)制。一般的過(guò)程調(diào)用可直接由調(diào)用過(guò)程轉(zhuǎn)向被調(diào)用過(guò)程;而系統(tǒng)調(diào)用不允許由調(diào)用過(guò)程直接轉(zhuǎn)向被調(diào)用過(guò)程,一般通過(guò)軟中斷機(jī)制,先進(jìn)入操作系統(tǒng)內(nèi)核,經(jīng)內(nèi)核分析后,才能轉(zhuǎn)向相應(yīng)命令處理程序。

(3)返回及重新調(diào)度。一般過(guò)程調(diào)用在被調(diào)用結(jié)束后,返回調(diào)用點(diǎn)繼續(xù)執(zhí)行;系統(tǒng)調(diào)用被調(diào)用完后,要對(duì)系統(tǒng)中所有運(yùn)行進(jìn)程重新調(diào)度。只有當(dāng)調(diào)用進(jìn)程仍具有最高優(yōu)先權(quán)才返回調(diào)用過(guò)程繼續(xù)執(zhí)行。

(4)嵌套調(diào)用。一般過(guò)程和系統(tǒng)調(diào)用都允許嵌套調(diào)用,注意系統(tǒng)過(guò)程嵌套而非用戶過(guò)程。

14.什么是系統(tǒng)調(diào)用?它都有哪些類型?

答:系統(tǒng)調(diào)用是指在操作系統(tǒng)內(nèi)核設(shè)置的一組用于實(shí)現(xiàn)各種系統(tǒng)功能的子程序或過(guò)程,并提供給用戶程序調(diào)用。主要類型包括:

(1)進(jìn)程控制類。用于進(jìn)程創(chuàng)建、終止、等待、替換、進(jìn)程數(shù)據(jù)段大小改變及進(jìn)程標(biāo)識(shí)符或指定進(jìn)程屬性獲得等;

(2)文件操縱類。用于文件創(chuàng)建、打開、關(guān)閉、讀/寫及文件讀寫指針移動(dòng)和屬性修改,目錄創(chuàng)建及索引結(jié)點(diǎn)建立等;

(3)進(jìn)程通信類,用于實(shí)現(xiàn)通信機(jī)制如消息傳遞、共享存儲(chǔ)區(qū)及信息量集機(jī)制等;

(4)信息維護(hù)類,用于實(shí)現(xiàn)日期、時(shí)間及系統(tǒng)相關(guān)信息設(shè)置和獲得。

15.如何設(shè)置系統(tǒng)調(diào)用所需的參數(shù)?

答:設(shè)置系統(tǒng)調(diào)用參數(shù)包括兩種方式:

(1)直接將參數(shù)送入相應(yīng)的寄存器中。問(wèn)題是寄存器有限,限制了設(shè)置參數(shù)的數(shù)目。

(2)參數(shù)表方式。將系統(tǒng)調(diào)用所需參數(shù),放入?yún)?shù)表中,再將該表指針?lè)旁诩拇嫫髦小?/p>

16.試說(shuō)明系統(tǒng)調(diào)用的處理步驟。

答:(1)設(shè)置系統(tǒng)調(diào)用號(hào)和參數(shù)。

(2)對(duì)系統(tǒng)調(diào)用命令的一般性處理。如保護(hù)CPU現(xiàn)場(chǎng),PSW、PC、系統(tǒng)調(diào)用號(hào)、用戶棧指針及通用寄存器入棧,保存用戶定義參數(shù)等。UNIX中執(zhí)行CHMK 命令將參數(shù)表中的參數(shù)傳到User結(jié)構(gòu)的U.U-arg()中;MS-DOS執(zhí)行INT21軟中斷。

(3)根據(jù)系統(tǒng)調(diào)用入口表及具體系統(tǒng)調(diào)用命令轉(zhuǎn)至對(duì)應(yīng)命令處理程序具體處理。

17.為什么在訪問(wèn)文件前,要用open系統(tǒng)調(diào)用先打開該文件?

答: 系統(tǒng)將在用戶與該文件之間建立一條快捷通路。在文件被打開后,系統(tǒng)將給用戶返回一

個(gè)該文件的句柄或描述符。

18.在UNIX系統(tǒng)中是否設(shè)置了專門用來(lái)刪除文件的系統(tǒng)調(diào)用?為什么?

答: 沒(méi)有。當(dāng)用戶不再使用此文件時(shí),利用系統(tǒng)調(diào)用unlink斷開連接,做i.link減1操作。

當(dāng)i.link減1結(jié)果為0,表示此文件不再被用戶需要,該文件將從文件系統(tǒng)中刪除。

19.在IPC軟件包中包含哪幾種通信機(jī)制?在每種通信機(jī)制中設(shè)置了那些系統(tǒng)調(diào)用?

答: IPC 中提供了三種通信機(jī)制:

(1)消息機(jī)制。存在msgget,msgsend,msgrcv 系統(tǒng)調(diào)用。

(2)共享存儲(chǔ)器機(jī)制。存在shmget,shmid,shmdt 系統(tǒng)調(diào)用。

(3)信號(hào)量機(jī)制。無(wú)系統(tǒng)調(diào)用。

20. trap.S是什么程序?它完成哪些主要功能?

答:UNIX系統(tǒng)V 內(nèi)核中的trap.S文件,是中斷和陷入總控程序。用于中斷和陷入的一般

性處理,由匯編語(yǔ)言編寫。trap.S 中包含了絕大部分的中斷和陷入向量的入口地址,每當(dāng)

系統(tǒng)發(fā)生中斷和陷入時(shí),通常都是直接進(jìn)入trap.S程序。

21.在UNIX 系統(tǒng)內(nèi),被保護(hù)的CPU環(huán)境中包含哪些數(shù)據(jù)項(xiàng)?

答:當(dāng)用戶程序處在用戶態(tài)且執(zhí)行CHMK (CHange Mode toKernel)之前,應(yīng)在用戶空間提供系統(tǒng)調(diào)用所需參數(shù)表,并將參數(shù)表地址送入R0寄存器。執(zhí)行CHMK命令后,處理機(jī)轉(zhuǎn)為核心態(tài),由硬件自動(dòng)將處理機(jī)狀態(tài)長(zhǎng)字(PSL)、PC和代碼操作數(shù)(code)壓入用戶核心棧,從中斷和陷入向量表中取出trap.S入口地址,轉(zhuǎn)入trap.S中執(zhí)行。

trap.S 程序執(zhí)行后,將陷入類型type 和用戶棧指針usp壓入用戶核心棧,將被中斷進(jìn)程的CPU環(huán)境中的一系列寄存器如R0~R11的部分或全部壓棧。哪些寄存器內(nèi)容壓棧,取決于特定寄存器的屏蔽碼,屏蔽碼每一位都與R0~R11中的寄存器相對(duì)應(yīng)。當(dāng)某一位置1時(shí),表示對(duì)應(yīng)寄存器內(nèi)容壓棧。

22. trap.C 是什么程序?它將完成哪些處理?

答:trap.C 程序是處理各種陷入情況的C 語(yǔ)言文件,共處理12種陷入后的公共問(wèn)題。包括:確定系統(tǒng)調(diào)用號(hào)、實(shí)現(xiàn)參數(shù)傳遞、轉(zhuǎn)入相應(yīng)系統(tǒng)調(diào)用處理子程序。在由系統(tǒng)調(diào)用子程序返回到trap.C后,重新計(jì)算進(jìn)程的優(yōu)先級(jí),對(duì)收到的信號(hào)進(jìn)行處理等。

23.為方便轉(zhuǎn)入系統(tǒng)調(diào)用處理程序,在UNIX系統(tǒng)中配置了什么樣的數(shù)據(jù)結(jié)構(gòu)?

答:在UNIX系統(tǒng)中配置了系統(tǒng)調(diào)用定義表sysent[],在表的每個(gè)結(jié)構(gòu)中包含三個(gè)元素,一是相應(yīng)系統(tǒng)調(diào)用所需參數(shù)的個(gè)數(shù);二是系統(tǒng)調(diào)用經(jīng)寄存器傳送的參數(shù)個(gè)數(shù);三是相應(yīng)系統(tǒng)調(diào)用處理子程序的入口地址。系統(tǒng)中設(shè)置了該表之后,可根據(jù)系統(tǒng)調(diào)用號(hào)i從系統(tǒng)調(diào)用定義表中找出相應(yīng)表目,按表目中的入口地址轉(zhuǎn)入相應(yīng)處理子程序,完成系統(tǒng)調(diào)用的特定功能。執(zhí)行完后,返回中斷和陷入總控程序中的trap.C程序中,返回?cái)帱c(diǎn)前的公共處理部分。

第八章網(wǎng)絡(luò)操作系統(tǒng)

第八章網(wǎng)絡(luò)操作系統(tǒng)

第八章

1.按網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以把計(jì)算機(jī)網(wǎng)絡(luò)分為哪幾類?試畫出它們的網(wǎng)絡(luò)拓?fù)鋱D。

答:計(jì)算機(jī)網(wǎng)絡(luò)可分為星形、環(huán)形、總線形、樹形和網(wǎng)狀形網(wǎng)絡(luò)。它們的網(wǎng)絡(luò)拓?fù)鋱D如下:

?

2.試說(shuō)明分組交換網(wǎng)的組成。

答:由分組交換機(jī)、網(wǎng)路管理中心、遠(yuǎn)程集中器、分組裝拆設(shè)備以及傳輸設(shè)備等組成。

3.何謂幀交換方式及信元交換方式?

答:幀交換方式是在傳統(tǒng)分組交換的基礎(chǔ)上發(fā)展起來(lái)的,傳輸基本單位是幀,長(zhǎng)度可變,采

用“存儲(chǔ)轉(zhuǎn)發(fā)”方式,即幀交換器每接到一個(gè)新幀時(shí),都將該幀送幀緩沖區(qū)排隊(duì),按照該幀

中的目標(biāo)地址,將該幀轉(zhuǎn)發(fā)給相應(yīng)路徑的下一個(gè)幀交換器。

信元交換方式是改進(jìn)了的幀中繼交換方式。當(dāng)源幀交換器收到用戶設(shè)備發(fā)來(lái)的幀,便分

割為多個(gè)定長(zhǎng)信元,在整個(gè)幀中繼器網(wǎng)絡(luò)中傳輸和交換時(shí),都以信元為基本單位,到達(dá)目標(biāo)

幀交換器后,被重組為幀。

4.局域網(wǎng)可分為基本型和快速型兩大類,每一類中包括哪幾種局域網(wǎng)?

答:基本型局域網(wǎng)有:(1)以太網(wǎng)(2)令牌環(huán)網(wǎng)

快速局域網(wǎng)有: (1)FDDI光纖環(huán)網(wǎng)(2)快速以太網(wǎng)100 BASE-T。

5.為實(shí)現(xiàn)同構(gòu)LAN網(wǎng)絡(luò)互連,應(yīng)采用什么樣的網(wǎng)絡(luò)互連設(shè)備?應(yīng)具有哪些功能?

答:同構(gòu)LAN 網(wǎng)絡(luò)互連設(shè)備與功能:

(1)?網(wǎng)橋。功能:幀的發(fā)送和接受、緩沖處理、協(xié)議轉(zhuǎn)換。

(2)?路由器。功能:拆包和打包、路由選擇、協(xié)議轉(zhuǎn)換、分段和重組

6.為實(shí)現(xiàn)異構(gòu)型網(wǎng)絡(luò)互連,應(yīng)采用什么樣的網(wǎng)絡(luò)互聯(lián)設(shè)備?它又應(yīng)具有哪些功能?

答:采用網(wǎng)關(guān)。實(shí)現(xiàn)異構(gòu)LAN 互連、LAN 與WAN互連、WAN 互連、LAN 與主機(jī)互連。

7.網(wǎng)絡(luò)層向傳輸層提供了哪兩類數(shù)據(jù)傳輸服務(wù)?試對(duì)它們做簡(jiǎn)要的說(shuō)明。

答:(1)數(shù)據(jù)包服務(wù)。發(fā)方網(wǎng)絡(luò)層從傳輸層接收?qǐng)?bào)文,為它配上完整的目標(biāo)地址,作為獨(dú)

立信息單位傳送出去。數(shù)據(jù)包每經(jīng)過(guò)一個(gè)中繼節(jié)點(diǎn)都根據(jù)當(dāng)時(shí)當(dāng)?shù)厍闆r,按一定算法選擇一

條最佳傳輸路徑轉(zhuǎn)發(fā)出去。采用數(shù)據(jù)包服務(wù)的收、發(fā)雙發(fā)無(wú)需建立連接。

(2)虛電路服務(wù)。通信前由源主機(jī)發(fā)送呼叫報(bào)文分組,包含源和目標(biāo)主機(jī)的全網(wǎng)地址。

目標(biāo)主機(jī)同意通信,便由網(wǎng)絡(luò)層在雙方間建立一條虛電路。在以后通信中只需填上虛電路的

邏輯信道號(hào);通信結(jié)束拆除該虛電路。

8.傳輸層所起的橋梁作用具體表現(xiàn)在哪幾方面?

答:(1)傳輸出錯(cuò)率和建立連接的失敗率。(2)數(shù)據(jù)傳輸速率、吞吐量和傳輸時(shí)延。

(3)分段和組段功能。

9.TCP/IP模型中包含了哪幾個(gè)層次?簡(jiǎn)要說(shuō)明每個(gè)層次的主要功能。

答:TCP/IP模型中包含4個(gè)層次。

(1)應(yīng)用層。對(duì)應(yīng)于OSI高層,為用戶提供需要的服務(wù)。如FTP、Telnet、DNS等。

(2)傳輸層。對(duì)應(yīng)于OSI傳輸層,為應(yīng)用層實(shí)體提供端到端的通信功能。定義了面向

連接的TCP和無(wú)連接的用戶數(shù)據(jù)報(bào)協(xié)議UDP這兩個(gè)主要協(xié)議。

(3)網(wǎng)絡(luò)互聯(lián)層。對(duì)應(yīng)于OSI網(wǎng)絡(luò)層,解決主機(jī)到主機(jī)的通信問(wèn)題。有網(wǎng)際協(xié)議IP、

地址解析協(xié)議ARP、互聯(lián)網(wǎng)組管理協(xié)議IGMP和互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP四個(gè)主要協(xié)議。

(4)網(wǎng)絡(luò)訪問(wèn)層。對(duì)應(yīng)OSI的物理層和數(shù)據(jù)鏈路層。

10.網(wǎng)絡(luò)互聯(lián)層IP協(xié)議的主要作用是什么?為什么在有了IP協(xié)議之后還要配置TCP協(xié)議?

答:(1)IP 協(xié)議主要用于異構(gòu)網(wǎng)絡(luò)間的相互連接和路由選擇。IP 提供的是不可靠、面向無(wú)

連接的數(shù)據(jù)報(bào)傳遞服務(wù)。

(2)TCP協(xié)議提供面向連接、可靠的端端通信機(jī)制。TCP比IP可以確保數(shù)據(jù)傳輸?shù)?/p>

可靠性,即使網(wǎng)絡(luò)層出錯(cuò),TCP仍能正確控制建立連接、數(shù)據(jù)傳輸和連接釋放。

11.試說(shuō)明在介質(zhì)訪問(wèn)控制MAC子層中,IEEE 802.2、IEEE802.3、IEEE 802.3u、IEEE

802.2z、IEEE 802.5、IEEE802.6都是些什么標(biāo)準(zhǔn)?

答:IEEE 802.2是邏輯鏈路控制的標(biāo)準(zhǔn)。 IEEE 802.3是以太網(wǎng)的標(biāo)準(zhǔn)。

IEEE 802.3u 是以太網(wǎng)的標(biāo)準(zhǔn)。 IEEE 802.2z是以太網(wǎng)的標(biāo)準(zhǔn)。

IEEE 802.5是令牌環(huán)的標(biāo)準(zhǔn)。 IEEE 802.6是城域網(wǎng)的標(biāo)準(zhǔn)。

12.何謂網(wǎng)絡(luò)體系結(jié)構(gòu)?OSI/RM由哪幾部分組成?

答:網(wǎng)絡(luò)體系結(jié)構(gòu)是指通信系統(tǒng)的整體設(shè)計(jì),為網(wǎng)絡(luò)硬件、軟件、協(xié)議、存取控制和拓?fù)涮?/p>

供標(biāo)準(zhǔn)。OSI/RM 從低到高分七層:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表

示層、應(yīng)用層。

13.什么是網(wǎng)絡(luò)協(xié)議?扼要說(shuō)明其所含的三要素。

答:網(wǎng)絡(luò)協(xié)議是為計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定的集合。

計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議主要由語(yǔ)義、語(yǔ)法和交換規(guī)則三部分即協(xié)議三要素組成。

語(yǔ)義:規(guī)定通信雙方彼此講什么,確定協(xié)議元素類型,如規(guī)定通信雙方發(fā)什么控制信息,

執(zhí)行的動(dòng)作和返回的應(yīng)答。

語(yǔ)法:規(guī)定通信雙方彼此如何講,確定協(xié)議元素格式,如數(shù)據(jù)和控制信息的格式。

交換規(guī)則:規(guī)定信息交流的次序。

14.ISO將OSI/RM分成幾層?各層的主要用途是什么?

答:OSI/RM分7層。各層的主要用途是:

物理層:規(guī)定了網(wǎng)絡(luò)設(shè)備間物理連接標(biāo)準(zhǔn),在網(wǎng)絡(luò)設(shè)備間透明地傳輸比特流。

數(shù)據(jù)鏈路層:提供相鄰節(jié)點(diǎn)間可靠的數(shù)據(jù)傳輸功能。

網(wǎng)絡(luò)層:在通信子網(wǎng)中進(jìn)行路由選擇和通信控制。

傳輸層:提供兩個(gè)端系統(tǒng)間的可靠通信。

會(huì)話層:建立和控制兩個(gè)應(yīng)用實(shí)體間的會(huì)話過(guò)程。

表示層:提供統(tǒng)一的網(wǎng)絡(luò)數(shù)據(jù)表示。

應(yīng)用層:提供網(wǎng)絡(luò)用戶間的分布式應(yīng)用環(huán)境(普通用戶)和應(yīng)用開發(fā)環(huán)境(網(wǎng)絡(luò)程序員)。

15.客戶/服務(wù)器模式得以廣泛流行的主要因素是什么?

答:(1)模塊化與應(yīng)用的分布特性 (2)充分利用資源,提高網(wǎng)絡(luò)效率

(3)便與系統(tǒng)維護(hù),擴(kuò)充性強(qiáng) (4)并發(fā)特性

16..試說(shuō)明客戶與服務(wù)器之間的交互情況。

答:C/S 模式的兩層結(jié)構(gòu)系統(tǒng)是:第一層在客戶機(jī)系統(tǒng)上結(jié)合表示與業(yè)務(wù)邏輯;第二層通

過(guò)網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫(kù)服務(wù)器。C/S 模式主要由客戶應(yīng)用程序、服務(wù)器管理程序和中間件三

部分組成。

17.兩層C/S模式有哪些局限性?如何解決?

答:(1)不能適應(yīng)應(yīng)用不斷增多的情況。

(2)需要在客戶機(jī)與服務(wù)器上安裝特定的網(wǎng)絡(luò)軟件,實(shí)現(xiàn)C/S間的互用性。

(3)客戶機(jī)直接與服務(wù)器交互。

解決辦法:設(shè)法使C 與提供數(shù)據(jù)等服務(wù)的S無(wú)關(guān),在C/S間增設(shè)中間實(shí)體。

18.為什么在大型信息系統(tǒng)和Internet環(huán)境下,應(yīng)采用三層客戶/服務(wù)器模式?

答:因?yàn)镮nternet 發(fā)展極為迅速,三層客戶/服務(wù)器模式更適合發(fā)展。把客戶機(jī)作為Web

瀏覽器,從而形成了Web瀏覽器、Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器三層的C/S 模式。

19.試比較兩層和三層的C/S模式。

答:三層與兩層模式相比的優(yōu)點(diǎn):(1)增加了系統(tǒng)的靈活性和可擴(kuò)展性。

(2)簡(jiǎn)化了客戶機(jī),降低了系統(tǒng)費(fèi)用。(3)使客戶機(jī)安裝、配置和維護(hù)更為方便。

三層的缺點(diǎn):(1)軟件開發(fā)難度大,開發(fā)周期長(zhǎng)。(2)訪問(wèn)效率低。

20.現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)有哪些主要功能。

答:計(jì)算機(jī)網(wǎng)絡(luò)的主要功能是數(shù)據(jù)通信和資源共享、系統(tǒng)容錯(cuò)、網(wǎng)絡(luò)管理、應(yīng)用互操作功能。

21.試說(shuō)明在層次式結(jié)構(gòu)的網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)通信時(shí),信息的流動(dòng)過(guò)程。

答:請(qǐng)求信息從客戶機(jī)到應(yīng)用服務(wù)器,再到數(shù)據(jù)服務(wù)器,然后數(shù)據(jù)服務(wù)器根據(jù)要求向應(yīng)用服

務(wù)器傳送信息,再由應(yīng)用服務(wù)器找到客戶機(jī)。

22.為實(shí)現(xiàn)數(shù)據(jù)通信,計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)有哪些具體功能?

答:連接的建立和拆除、報(bào)文的分解和組裝、傳輸控制、流量控制、差錯(cuò)檢測(cè)與糾正。

23.試說(shuō)明當(dāng)前實(shí)現(xiàn)文件和數(shù)據(jù)共享的兩種主要方式。

答:以虛擬軟盤方式和以文件服務(wù)方式實(shí)現(xiàn)的數(shù)據(jù)共享方式。

24.網(wǎng)絡(luò)管理的主要目標(biāo)是什么?

答:A.增強(qiáng)網(wǎng)絡(luò)的可用性。 B.提高網(wǎng)絡(luò)運(yùn)行質(zhì)量。 C.提高網(wǎng)絡(luò)資源利用率。

D.保障網(wǎng)絡(luò)的安全性 E.提高網(wǎng)絡(luò)和社會(huì)經(jīng)濟(jì)效益。

25.網(wǎng)絡(luò)管理包括哪幾方面的具體功能?

答:配置管理、故障管理、性能管理、安全管理、計(jì)費(fèi)管理。

26.何謂信息“互通性”和信息“互用性”?

答:信息的互通性是指在不同網(wǎng)絡(luò)結(jié)點(diǎn)間實(shí)現(xiàn)通信。目前主要利用TCP/IP實(shí)現(xiàn)信息互通。

信息的互用性是指在不同網(wǎng)絡(luò)中的站點(diǎn)間實(shí)現(xiàn)信息的互用,即一個(gè)網(wǎng)絡(luò)中的用戶能訪問(wèn)另一

個(gè)網(wǎng)絡(luò)文件系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)中的文件或數(shù)據(jù)。

27.何謂電子郵件?它可分為哪幾種類型?

答:電子郵件E-mail,標(biāo)志@,又稱電子信箱、電子郵政,是用電子手段提供信息交換的通

信方式。電子郵件服務(wù)器分為兩種類型,MIME 協(xié)議和SMTP 協(xié)議。現(xiàn)代E-mail 中可包

含多種不同類型的文件,如文本、圖像、音頻和視頻信息等。

28.文件傳輸?shù)膹?fù)雜性表現(xiàn)在哪幾方面?如何解決?

答:異構(gòu)網(wǎng)絡(luò)下的文件傳輸,需要在Internet 中建立了統(tǒng)一的文件傳輸協(xié)議FTP。

(1)內(nèi)部用戶FTP。只允許在文件服務(wù)器上擁有賬戶的用戶使用FTP服務(wù)。

(2)匿名FTP。在Internet 上實(shí)現(xiàn)資源共享的重要手段,允許非注冊(cè)用戶拷貝文件。

29.試比較電子郵件服務(wù)和文件傳輸服務(wù)。

答:電子郵件服務(wù)借助于E-mail設(shè)施與世界上所有國(guó)家和地區(qū)的網(wǎng)絡(luò)用戶通信。

文件傳輸服務(wù)是在Internet 中建立統(tǒng)一的文件傳輸協(xié)議FTP,實(shí)現(xiàn)用戶在不同主機(jī)間

的文件拷貝功能。

30.網(wǎng)絡(luò)環(huán)境下的目錄服務(wù)有何特點(diǎn)?

答:規(guī)模小的局域網(wǎng)不需要提供目錄服務(wù),對(duì)于大型企業(yè)網(wǎng)必須對(duì)網(wǎng)絡(luò)管理員和用戶提供目

錄服務(wù),發(fā)揮網(wǎng)絡(luò)的應(yīng)有作用。目錄服務(wù)還應(yīng)能對(duì)每臺(tái)物理設(shè)備提供的網(wǎng)絡(luò)服務(wù)進(jìn)行管理。

對(duì)服務(wù)器提供的網(wǎng)絡(luò)服務(wù)可以是文件/打印服務(wù)、數(shù)據(jù)庫(kù)服務(wù)等。

31. 目錄服務(wù)包括哪些主要功能?

答:(1)用戶管理。保證核準(zhǔn)用戶能方便地訪問(wèn)各種網(wǎng)絡(luò)服務(wù),禁止非法用戶訪問(wèn)。

(2)分區(qū)和復(fù)制。將龐大目錄庫(kù)分成若干個(gè)分區(qū),并分別復(fù)制到多臺(tái)服務(wù)器,使每個(gè)

分區(qū)被復(fù)制的位置盡量靠近最常使用這些對(duì)象的用戶,有的目錄服務(wù)還允許一臺(tái)服務(wù)器上存

放多個(gè)不同分區(qū)的拷貝。

(3)創(chuàng)建擴(kuò)充和繼承功能。創(chuàng)建是在目錄中創(chuàng)建新的對(duì)象,并設(shè)置屬性。擴(kuò)充指對(duì)原

有目錄服務(wù)功能的擴(kuò)充。繼承是指目錄對(duì)象繼承其他對(duì)象的屬性和權(quán)力的能力。

(4)多平臺(tái)支持功能。由于目錄服務(wù)存在著管理對(duì)象的差異,要求具有跨越平臺(tái)能力。

32. Internet 具有哪些特征?

答:(1)廣域性 (2)廣泛性 (3)高速性(4)綜合性

33.何謂WWW?它與一般的信息檢索工具有何不同?

答:WWW(Word Wide Web)稱為萬(wàn)維網(wǎng)或Web,是當(dāng)前最為流行的信息服務(wù)類型。

它與一般信息檢索工具不同表現(xiàn)在:一般檢索工具每次只能從一臺(tái)主機(jī)上查找需要的文件,

且文件數(shù)據(jù)類型單一;而Web檢索可以一次從多臺(tái)主機(jī)中查找需要的數(shù)據(jù),允許類型各異,

并將這些數(shù)據(jù)形成一份文件。

34.何謂BBS?它何以會(huì)受到廣大網(wǎng)絡(luò)用戶的歡迎?

答:BBS(Bulletin BoardSystem)即電子公告板。BBS用戶已經(jīng)擴(kuò)展到各行各業(yè),BBS

可以交換各種文件。通過(guò)BBS系統(tǒng)可隨時(shí)取得國(guó)際最新軟件及信息,可以和別人討論計(jì)算

機(jī)軟件、硬件、Internet、多媒體、程序設(shè)計(jì)以及醫(yī)學(xué)等各種有趣話題,可以利用BBS刊登

征友、廉價(jià)轉(zhuǎn)讓及公司產(chǎn)品等啟事。只要擁有1 臺(tái)計(jì)算機(jī)和上網(wǎng)設(shè)備就能立刻進(jìn)入“超時(shí)

代”BBS領(lǐng)域,享用它無(wú)比的威力!因此BBS 受到了廣大網(wǎng)絡(luò)用戶的歡迎。

35.什么是域名服務(wù)?Internet的域名是由幾段構(gòu)成的?

答:域名是Internet 網(wǎng)絡(luò)上的一個(gè)服務(wù)器或一個(gè)網(wǎng)絡(luò)系統(tǒng)的名字。域名的形式是以若干個(gè)

英文字母和數(shù)字組成,由"."分隔成幾部分,如cctv.com就是一個(gè)域名。

一個(gè)完整的域名由兩個(gè)或兩個(gè)以上詞段組成,部分之間用英文句號(hào)"."分隔,最后一個(gè)"."的

右邊部分稱為頂級(jí)域名(TLD)或一級(jí)域名,最后一個(gè)"."的左邊部分稱為二級(jí)域名(SLD),

二級(jí)域名的左邊部分稱為三級(jí)域名,以此類推,每一級(jí)的域名控制它下一級(jí)域名的分配。

36.什么是域名解析?最基本的一種域名解析方式是如何實(shí)現(xiàn)的?

答:域名解析是將域名重新轉(zhuǎn)換為對(duì)應(yīng)IP地址的過(guò)程。一個(gè)域名只對(duì)應(yīng)一個(gè)IP地址,多個(gè)

域名可以同時(shí)解析到一個(gè)IP地址。域名解析需要由專門的域名解析服務(wù)器DNS完成。

域名解析的過(guò)程:當(dāng)應(yīng)用過(guò)程需要將一個(gè)主機(jī)域名映射為IP 地址時(shí),就調(diào)用域名解析函數(shù)

將待轉(zhuǎn)換的域名放在DNS 請(qǐng)求中,以UDP 報(bào)文方式發(fā)給本地域名服務(wù)器。查到域名后將

對(duì)應(yīng)IP 地址放在應(yīng)答報(bào)文中返回。若域名服務(wù)器不能回答該請(qǐng)求,則此域名服務(wù)器向根域

名服務(wù)器發(fā)出請(qǐng)求解析,找到下面的所有二級(jí)域名服務(wù)器,以此類推,直到查詢到所請(qǐng)求的

域名并賦IP值返回。

37.為能支持Internet所提供的服務(wù),在操作系統(tǒng)中應(yīng)配置哪些軟件?

答:應(yīng)配置WEB 瀏覽器,如IE、firefox、Chrome等,特殊的服務(wù)可以根據(jù)需要安裝對(duì)

應(yīng)的軟件。

38.何謂瀏覽器/服務(wù)器模式?瀏覽器和服務(wù)器的基本功能是什么?

答:瀏覽器/服務(wù)器模式即B/S 結(jié)構(gòu)或Browser/Server 結(jié)構(gòu)。只安裝維護(hù)一個(gè)服務(wù)器

Server,客戶端采用瀏覽器Browse 軟件。利用成熟的WWW技術(shù),結(jié)合多種Script語(yǔ)言

(VBScript、JavaScript…)和ActiveX技術(shù),是全新的軟件系統(tǒng)構(gòu)造技術(shù)。

在B/S體系結(jié)構(gòu)系統(tǒng)中,瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器

的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回及動(dòng)態(tài)網(wǎng)頁(yè)

生成、數(shù)據(jù)庫(kù)訪問(wèn)和應(yīng)用程序執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽

器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。

B/S 結(jié)構(gòu)的主要特點(diǎn)是分布性廣、維護(hù)方便、開發(fā)簡(jiǎn)單、共享性強(qiáng)、總體成本低。但數(shù)據(jù)

安全性、服務(wù)器要求高、數(shù)據(jù)傳輸慢、軟件個(gè)性化特點(diǎn)明顯降低,難以實(shí)現(xiàn)傳統(tǒng)模式下的特

殊功能要求。

瀏覽器是指可以顯示網(wǎng)頁(yè)服務(wù)器或者文件系統(tǒng)的HTML 文件內(nèi)容,并讓用戶與這些文件

交互的一種軟件。服務(wù)器是網(wǎng)絡(luò)上為客戶端計(jì)算機(jī)提供各種服務(wù)的高可用性計(jì)算機(jī)。

第九章系統(tǒng)安全性

第九章

1.系統(tǒng)安全的復(fù)雜性表現(xiàn)在哪幾個(gè)方面?

答:(1)多面性:大規(guī)模系統(tǒng)存在多個(gè)風(fēng)險(xiǎn)點(diǎn),每點(diǎn)都包括物理、邏輯及管理三方面安全。

(2)動(dòng)態(tài)性:信息技術(shù)不斷發(fā)展和攻擊手段層出不窮,系統(tǒng)安全問(wèn)題呈現(xiàn)出動(dòng)態(tài)性。

(3)層次性:系統(tǒng)安全涉及多方面且相當(dāng)復(fù)雜的問(wèn)題,需要采用系統(tǒng)工程方法解決。

(4)適度性:根據(jù)實(shí)際需要提供適度安全目標(biāo)加以實(shí)現(xiàn)。

2.對(duì)系統(tǒng)安全性的威脅有哪幾種類型?

答:假冒身份、數(shù)據(jù)截獲、拒絕服務(wù)、修改偽造信息、否認(rèn)操作、中斷傳輸、通信量分析。

3.攻擊者可通過(guò)哪些途徑對(duì)軟件和數(shù)據(jù)進(jìn)行威脅?

答:數(shù)據(jù)截獲,修改信息,偽造信息,中斷傳輸

4.可信任計(jì)算機(jī)系統(tǒng)評(píng)價(jià)標(biāo)準(zhǔn)將計(jì)算機(jī)系統(tǒng)的安全度分為哪幾個(gè)等級(jí)?

答:該標(biāo)準(zhǔn)將計(jì)算機(jī)系統(tǒng)安全程度分為8級(jí),有D1(安全度最低級(jí))、C1(自由安全保護(hù)級(jí))、

C2(受控存取控制級(jí))、B1、B2、B3、A1、A2。

5.何謂對(duì)稱加密算法和非對(duì)稱加密算法?

答:對(duì)稱加密也叫私鑰加密,是指加密和解密使用相同密鑰的加密算法。加密密鑰能夠從解

密密鑰中推算出來(lái),解密密鑰也能夠從加密密鑰中推算出來(lái)。在大多數(shù)對(duì)稱算法中,加密和

解密的密鑰相同,也稱為保密密鑰算法或單密鑰算法。

非對(duì)稱加密算法需要兩個(gè)密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私

鑰配對(duì),如果用公鑰加密數(shù)據(jù),只有用對(duì)應(yīng)的私鑰才能解密。

6.什么是易位法和置換算法?試舉例說(shuō)明置換算法。

答:易位法是指按一定規(guī)則,重新安排明文中的比特或字符順序形成密文,而字符本身保持

不變。置換法是按照一定規(guī)則,用一個(gè)字符去置換另一個(gè)字符形成密文。

如:How are you?的每個(gè)字符用后面的字母代替就是Ipx bsf zpv?

7.試說(shuō)明DES加密的處理過(guò)程。

答:分為四個(gè)階段:

第一階段,將明文分出64 位明文段,并做初始易位得到X0,左移32 位,記為L(zhǎng)0,

右移32位,記為R0。

第二階段,對(duì)X0進(jìn)行16次迭代,每一次用56位加密密鑰Ki。

第三階段,把經(jīng)過(guò)16次迭代處理的結(jié)果的左32位與右32位互換位置。

第四階段,進(jìn)行初始易位的逆變換。

8.試說(shuō)明非對(duì)稱加密的主要特點(diǎn)。

答:非對(duì)稱加密算法復(fù)雜、安全性依賴于算法與密鑰,加密解密速度慢。對(duì)稱密碼體制只有

密鑰,安全性就是密鑰的安全性,而非對(duì)稱加密有公鑰和私鑰,安全性更強(qiáng)。

9.試說(shuō)明保密數(shù)據(jù)簽名的加密和解密方式。

答:(1)發(fā)送者A 可用自己的私用密鑰Kda對(duì)明文P進(jìn)行加密,得到密文DKda(P)。

(2)A 再用B的公鑰Keb對(duì)DKda(P)加密,得到EKeb(DKda(P))后送B。

(3)B收到后,先用私鑰Kdb解密,得到DKda(EKeb(DKda(P)))=DKda(P)。

(4)B再用A的公鑰Kea 對(duì)DKda(P)解密,得到EKeb(DKda(P))=P。

10.數(shù)字證明書的作用是什么?用一例來(lái)說(shuō)明數(shù)字證明書的申請(qǐng)、發(fā)放和使用過(guò)程。

答:數(shù)字證明書又稱公鑰證明書,用于證明通信請(qǐng)求者的身份。

數(shù)字證明書的申請(qǐng)、發(fā)放和使用過(guò)程如下:

(1) 用戶 A 先向CA申請(qǐng)數(shù)字證明書,A 應(yīng)提供身份證明和希望使用的公鑰A。

(2) CA 收到A 發(fā)來(lái)的申請(qǐng)報(bào)告后,若接受申請(qǐng),便發(fā)給A 一份數(shù)字證明書,其中包括公鑰

A 和CA 發(fā)證者的簽名等信息,并對(duì)所有信息利用CA 私鑰加密(即對(duì)CA 進(jìn)行數(shù)字簽名)。

(3) 用戶 A 在向B 發(fā)送信息時(shí),由A用私鑰對(duì)報(bào)文加密(數(shù)字簽名),連同證明書發(fā)給B。

(4) 為能對(duì)收到的數(shù)字證明書解密,用戶B須向CA申請(qǐng)獲得CA 的公鑰B。CA 收到用戶

B 的申請(qǐng)后,可決定將公鑰B發(fā)給用戶B。

(5) 用戶 B 利用CA 公鑰B 對(duì)數(shù)字證明書解密,確認(rèn)該數(shù)字證明書系原件,并從數(shù)字證明

書中獲得公鑰A,并且確認(rèn)該公鑰A系用戶A的密鑰。

(6) 用戶 B再利用公鑰A 對(duì)用戶A 發(fā)來(lái)的加密報(bào)文解密,得到用發(fā)來(lái)報(bào)文的真實(shí)明文。

11.何謂鏈路加密?其主要特點(diǎn)是什么?

答:鏈路加密是對(duì)網(wǎng)絡(luò)相鄰節(jié)點(diǎn)間的通信線路上傳輸?shù)臄?shù)據(jù)的加密過(guò)程。特點(diǎn)是:

(1)相鄰節(jié)點(diǎn)間的物理信道上傳輸?shù)膱?bào)文是密文,在所有中間節(jié)點(diǎn)上的報(bào)文則是明文。

(2)對(duì)不同的鏈路分別采用不同的加密密鑰。

12.何謂端-端加密?其主要特點(diǎn)是什么?

答:端-端加密是在源主機(jī)或前端機(jī)FEP高層(從傳輸層到應(yīng)用層)對(duì)傳輸數(shù)據(jù)進(jìn)行的加密。

特點(diǎn):(1)整個(gè)網(wǎng)絡(luò)傳輸過(guò)程中的報(bào)文正文都是密文,信息到達(dá)目標(biāo)主機(jī)后才譯成明文。

(2)不能對(duì)報(bào)頭中的控制信息加密,否則中間結(jié)點(diǎn)無(wú)法得知目標(biāo)地址和控制信息。

13.可利用哪幾種方式來(lái)確定用戶身份的真實(shí)性?

答: (1)口令密碼組合;(2)物理標(biāo)志(3)生物標(biāo)志 (4)公開密鑰

14.在基于口令機(jī)制的身份認(rèn)證技術(shù)中,通常應(yīng)滿足哪些要求?

答:口令長(zhǎng)度適中 、自動(dòng)斷開連接 、隱蔽回送顯示 、記錄和報(bào)告。

15.基于物理標(biāo)志的認(rèn)證技術(shù)又可細(xì)分為哪幾種?

答:主要有基于磁卡或IC卡的兩種認(rèn)證技術(shù) 。

16.智能卡可分為哪幾種類型?這些是否都可用于基于用戶持有物的認(rèn)證技術(shù)中?

答:智能卡分為存儲(chǔ)器卡、微處理器卡和密碼卡等類型。

存儲(chǔ)器卡沒(méi)有安全功能,不能用于基于用戶持有物的認(rèn)證;微處理器卡和密碼卡采用了

加密措施,可以用于基于用戶持有物的認(rèn)證。

17.被選用的人的生理標(biāo)志應(yīng)具有哪幾個(gè)條件?請(qǐng)列舉幾種常用的生理標(biāo)志。

答:被選用的生理標(biāo)志應(yīng)具有三個(gè)基本條件,即足夠的可變性、穩(wěn)定性好、不易偽裝。

常用的生理標(biāo)志是指紋、視網(wǎng)膜組織、聲音、手指長(zhǎng)度等。

18.對(duì)生物識(shí)別系統(tǒng)的要求有哪些?一個(gè)生物識(shí)別系統(tǒng)通常是有哪幾部分組成的?

答:對(duì)生物識(shí)別系統(tǒng)的要求有:性能滿足要求(抗欺騙和防偽防攻擊)、能被用戶接受、系

統(tǒng)成本適當(dāng)。

一個(gè)生物識(shí)別系統(tǒng)通常由注冊(cè)和識(shí)別兩部分組成。注冊(cè)部分配有一張用戶注冊(cè)表,識(shí)別

部分要對(duì)用戶進(jìn)行身份認(rèn)證和生物特征識(shí)別。

19.試詳細(xì)說(shuō)明SSL所提供的安全服務(wù)。

答:SSL稱為安全套接層協(xié)議,用于提供Internet 上的信息保密,身份認(rèn)證服務(wù),目前SSL

已成為利用公開密鑰進(jìn)行身份認(rèn)證的工業(yè)標(biāo)準(zhǔn)。

SSL 提供的安全服務(wù)有:申請(qǐng)數(shù)字證書(服務(wù)器申請(qǐng)數(shù)字證書、客戶申請(qǐng)數(shù)字證書)

和SSL握手協(xié)議(身份認(rèn)證、協(xié)商加密算法和協(xié)商加密密鑰)。

20.什么是保護(hù)域?進(jìn)程與保護(hù)域之間存在著什么動(dòng)態(tài)聯(lián)系?

答:保護(hù)域是進(jìn)程對(duì)一組對(duì)象訪問(wèn)權(quán)的集合,規(guī)定了進(jìn)程能訪問(wèn)對(duì)象和執(zhí)行的操作。

進(jìn)程與保護(hù)域之間的動(dòng)態(tài)聯(lián)系是指進(jìn)程的可用資源集在個(gè)生命周期中是變化的;進(jìn)程運(yùn)行在

不同的階段可以根據(jù)需要從一個(gè)保護(hù)域切換到另一個(gè)保護(hù)域。

21.試舉例說(shuō)明具有域切換權(quán)的訪問(wèn)控制矩陣。

答:在訪問(wèn)矩陣中增加幾個(gè)對(duì)象,分別作為訪問(wèn)矩陣中的幾個(gè)域,當(dāng)且僅當(dāng)switch 包含在

access(i,j)時(shí),才允許進(jìn)程從域i切換到域j。例如在下圖中,域D1和D2對(duì)應(yīng)的項(xiàng)目中有S,

故允許域D1中的進(jìn)程切換到域D2 中,在域D2和D3 中也有S,表示D2 域中進(jìn)行的進(jìn)程

可切換到域D3中,但不允許該進(jìn)程再?gòu)挠駾3返回到域D1。

?

22.如何利用拷貝權(quán)來(lái)擴(kuò)散某種訪問(wèn)權(quán)?

答:如果域i 具有對(duì)象j 的某訪問(wèn)權(quán)acess(i,j)的拷貝權(quán),則運(yùn)行在域i的進(jìn)程可將其訪問(wèn)權(quán)

acess(i,j)擴(kuò)展到訪問(wèn)矩陣同一列中的其它域,即為運(yùn)行在其它域的進(jìn)程也賦予關(guān)于同一對(duì)象

的同樣訪問(wèn)(acess(i,j))。

23.如何利用擁有權(quán)來(lái)增刪某種訪問(wèn)權(quán)?

答:如果域i 具有關(guān)于對(duì)象j 的所有權(quán),則運(yùn)行在域i 的進(jìn)程可以增刪在j 列的任何項(xiàng)中的

任何訪問(wèn)權(quán)。或該進(jìn)程可以增刪在任何其它域中運(yùn)行的進(jìn)程關(guān)于對(duì)象j的任何訪問(wèn)權(quán)。

24.增加控制權(quán)的主要目的是什么?試舉例說(shuō)明控制權(quán)的應(yīng)用。

答:控制權(quán)用于改變某個(gè)域中運(yùn)行進(jìn)程關(guān)于不同對(duì)象的訪問(wèn)權(quán)。若某域訪問(wèn)權(quán)access(i,j)

中含有控制權(quán)C,則運(yùn)行在Di 域中的進(jìn)程能改變運(yùn)行在Qj 域中的任何進(jìn)程關(guān)于任何對(duì)象

的任何訪問(wèn)權(quán)。

25.什么是訪問(wèn)控制表?什么是訪問(wèn)權(quán)限表?

答:訪問(wèn)控制表是指對(duì)訪問(wèn)矩陣按列劃分,為每列建立一張?jiān)L問(wèn)控制表ACL,由有序?qū)?#xff08;域,

權(quán)集)組成,用來(lái)保證系統(tǒng)安全性的一種手段。

訪問(wèn)權(quán)限表是指對(duì)訪問(wèn)矩陣按行劃分,由每行構(gòu)成一張?jiān)L問(wèn)權(quán)限表。

26.系統(tǒng)如何利用訪問(wèn)控制表和訪問(wèn)權(quán)限表來(lái)實(shí)現(xiàn)對(duì)文件的保護(hù)?

答:當(dāng)進(jìn)程第一次試圖訪問(wèn)一個(gè)對(duì)象時(shí),必須先檢查訪問(wèn)控制表,查看是否有權(quán)訪問(wèn)該對(duì)象。

如果無(wú)則拒絕訪問(wèn),并構(gòu)成一個(gè)例外異常事件;否則便允許訪問(wèn),并為之建立訪問(wèn)權(quán)限,以

便快速驗(yàn)證其訪問(wèn)的合法性。當(dāng)進(jìn)程不再訪問(wèn)該對(duì)象時(shí)便撤銷該訪問(wèn)權(quán)限。

27.什么是病毒?它有什么樣的危害?

答:病毒是編制或者在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或數(shù)據(jù),影響計(jì)算機(jī)系統(tǒng)使用并

且能夠自我復(fù)制的一組計(jì)算機(jī)計(jì)算機(jī)指令或程序代碼。

計(jì)算機(jī)病毒的危害:占用系統(tǒng)空間、占用處理機(jī)時(shí)間、破壞文件、使機(jī)器運(yùn)行異常。

28. 計(jì)算機(jī)病毒的特征是什么?它與一般的程序有何區(qū)別?

答:計(jì)算機(jī)病毒的特征是寄生性、傳染性、隱蔽性和破壞性。

它與一般程序的區(qū)別是:病毒程序通常不是獨(dú)立的程序,具有自我復(fù)制和迅速傳播的傳

染性,想方設(shè)法隱藏自身,存在的基本目標(biāo)就是破壞性。

29.什么是文件型病毒?試說(shuō)明文件型病毒對(duì)文件的感染方式。

答:文件型病毒是指采用寄生方式附著在正常程序里,病毒發(fā)作時(shí)原來(lái)程序仍能正常運(yùn)行,

以致用戶不能及時(shí)發(fā)現(xiàn)而長(zhǎng)期潛伏下來(lái)的病毒。

文件型病毒對(duì)文件的感染方式是主動(dòng)攻擊和執(zhí)行時(shí)感染的方式。

30.病毒設(shè)計(jì)者采取了哪幾種隱藏方式來(lái)讓病毒逃避檢測(cè)?

答:(1)隱藏于目錄和注冊(cè)表空間。 (2)隱藏于程序的頁(yè)內(nèi)零頭里。

(3)更改用于磁盤分配的數(shù)據(jù)結(jié)構(gòu)。 (4)更改壞扇區(qū)列表。

31.用戶可采用哪些方法來(lái)預(yù)防病毒?

答:(1)定期在外存?zhèn)浞葜匾浖蛿?shù)據(jù) (2)使用安全性高的操作系統(tǒng)

(3)使用正版軟件 (4)使用高性能反病毒軟件

(5) 不輕易打開來(lái)歷不明的電子郵件 (6)定期檢查外存并清除病毒

32.試說(shuō)明基于病毒數(shù)據(jù)庫(kù)的病毒檢測(cè)方法。

答:(1)建立病毒數(shù)據(jù)庫(kù) (2)掃描硬盤上的可執(zhí)行文件

?

第十章

1.UNIX系統(tǒng)具有哪些特征?

答:開放性、多用戶多任務(wù)環(huán)境、功能強(qiáng)大高效、豐富網(wǎng)絡(luò)功能、支持多處理器。

2.試說(shuō)明UNIX系統(tǒng)的內(nèi)核結(jié)構(gòu)。

答:UNIX 內(nèi)核結(jié)構(gòu)分四層:最底層是硬件,次底層是OS 核心,第二層是OS 與用戶接口

shell及編譯程序等,最高層是應(yīng)用程序。

3.UNIX系統(tǒng)中的PCB含哪幾部分?用圖說(shuō)明各部分之間的關(guān)系。

答:UNIX 系統(tǒng)中的PCB含進(jìn)程表項(xiàng)、U區(qū)、系統(tǒng)區(qū)表、進(jìn)程區(qū)表。

?

4.進(jìn)程映像含哪幾部分?其中系統(tǒng)級(jí)上、下文動(dòng)態(tài)部分的作用是什么?

答:進(jìn)程映像含用戶上下文、寄存器上下文、系統(tǒng)級(jí)上下文。

系統(tǒng)級(jí)上下文動(dòng)態(tài)部分的作用是當(dāng)因中斷或系統(tǒng)調(diào)用進(jìn)入核心狀態(tài)時(shí),核心把一個(gè)寄存

器上下文壓入核心棧,退出系統(tǒng)調(diào)用時(shí),核心又彈出寄存器上下文,在上下文切換時(shí),核心

將壓入老進(jìn)程的上下文,彈出新進(jìn)程的上下文。

5.在UNIX系統(tǒng)中用于進(jìn)程控制的主要系統(tǒng)調(diào)用有哪些?它們各自的主要功能是什么?

答:用于進(jìn)程控制的主要系統(tǒng)調(diào)用有:

(1)fork系統(tǒng)調(diào)用:用于創(chuàng)建新進(jìn)程

(2)exit系統(tǒng)調(diào)用:實(shí)現(xiàn)進(jìn)程自我終止

(3)exec 系統(tǒng)調(diào)用:改變進(jìn)程原有代碼

(4)wait 系統(tǒng)調(diào)用:將調(diào)用進(jìn)程掛起并等待子進(jìn)程終止

6.為創(chuàng)建一個(gè)新進(jìn)程,須做哪些工作?

答:為新進(jìn)程分配一個(gè)進(jìn)程表項(xiàng)和進(jìn)程標(biāo)志符;檢查同時(shí)運(yùn)行的進(jìn)程數(shù)目;拷貝進(jìn)程表項(xiàng)中

的數(shù)據(jù);子進(jìn)程繼承父進(jìn)程的所有文件;為子進(jìn)程創(chuàng)建進(jìn)程上下文;子進(jìn)程執(zhí)行。

7.為何要采取進(jìn)程自我終止方式?如何實(shí)現(xiàn)exit?

答:為了及時(shí)回收進(jìn)程占用的資源,在進(jìn)程任務(wù)完成后應(yīng)盡快撤銷。Unix 內(nèi)核用exit 實(shí)現(xiàn)

進(jìn)程的自我終止。父進(jìn)程在創(chuàng)建子進(jìn)程時(shí),應(yīng)在子進(jìn)程末尾安排exit使子進(jìn)程能自我終止。

實(shí)現(xiàn) exit的具體操作是:關(guān)閉軟中斷、回收資源、寫記賬信息和置進(jìn)程為僵死狀態(tài)。

8.在UNIX系統(tǒng)中采用了何種調(diào)度算法?如何確定進(jìn)程的優(yōu)先數(shù)?

答:UNIX 系統(tǒng)采用動(dòng)態(tài)優(yōu)先數(shù)輪轉(zhuǎn)的進(jìn)程調(diào)度算法。優(yōu)先數(shù)確定公式:

優(yōu)先數(shù) =(最近使用CPU的時(shí)間/2)+基本用戶優(yōu)先數(shù)

9.在進(jìn)入sleep過(guò)程后,內(nèi)核應(yīng)做哪些處理?

答:進(jìn)入sleep過(guò)程后,核心首先保存進(jìn)入睡眠時(shí)的處理機(jī)運(yùn)行級(jí),提高處理機(jī)的運(yùn)行優(yōu)先

級(jí)屏蔽所有中斷,將該進(jìn)程置為睡眠狀態(tài),將睡眠地址保存在進(jìn)程表項(xiàng)中,將該進(jìn)程放入睡

眠隊(duì)列。如果進(jìn)程的睡眠不可中斷,在進(jìn)程上下文切換后,進(jìn)程便安穩(wěn)睡眠。當(dāng)進(jìn)程被喚醒

并被調(diào)度執(zhí)行,將恢復(fù)處理機(jī)的運(yùn)行級(jí)為進(jìn)入睡眠時(shí)的值,此時(shí)允許中斷處理機(jī)。

10.試說(shuō)明信號(hào)與中斷兩種機(jī)制間的異同處。

答:不同點(diǎn):中斷有優(yōu)先級(jí),而信號(hào)沒(méi)有,所有信號(hào)皆平等;信號(hào)處理程序在用戶態(tài)運(yùn)行,

而中斷處理程序是在核心態(tài)運(yùn)行;還有中斷響應(yīng)及時(shí),而信號(hào)響應(yīng)通常都是延時(shí)的。

相同點(diǎn):都采用異步通信方式;當(dāng)檢測(cè)出信號(hào)或中斷請(qǐng)求時(shí)都暫停正在執(zhí)行的程序而轉(zhuǎn)

去執(zhí)行相應(yīng)的處理程序;都在處理完畢返回到原來(lái)斷點(diǎn);對(duì)信號(hào)或中斷都可進(jìn)行屏蔽。

11.扼要說(shuō)明信號(hào)機(jī)制中信號(hào)的發(fā)送和對(duì)信號(hào)的處理功能。

答:信號(hào)發(fā)送是指由發(fā)送進(jìn)程把信號(hào)送到目標(biāo)進(jìn)程的proc 結(jié)構(gòu)中信號(hào)域的某一位上。

對(duì)信號(hào)的處理功能:首先利用系統(tǒng)調(diào)用signal(sig,func)預(yù)置對(duì)信號(hào)的處理方式,

func=1時(shí)屏蔽該類信號(hào);func=0時(shí),進(jìn)程收到信號(hào)后終止自己;func為非0非1時(shí),func

值作為信號(hào)處理程序的指針,系統(tǒng)從核心態(tài)轉(zhuǎn)為用戶態(tài)并執(zhí)行相應(yīng)的處理程序,處理完畢再

返回用戶程序的斷點(diǎn)處。

12.什么是管道?無(wú)名管道和有名管道的主要差別是什么?

答:管道是指能連接寫進(jìn)程和讀進(jìn)程,并允許它們以生產(chǎn)者消費(fèi)者方式進(jìn)行通信的一個(gè)共享

文件或pipe 文件。無(wú)名管道是個(gè)臨時(shí)文件,是利用系統(tǒng)調(diào)用pipe()建立起來(lái)的無(wú)路徑名

文件,只有調(diào)用pipe 的進(jìn)程及其子孫進(jìn)程才能識(shí)別此文件描述符而利用該文件(管道)進(jìn)

行通信;有名管道是利用mknod 系統(tǒng)調(diào)用建立的、可以在文件系統(tǒng)中長(zhǎng)期存在的有路徑名

文件,其它進(jìn)程可以知道其存在,并利用該路徑名訪問(wèn)的文件。

13.在讀、寫管道時(shí),應(yīng)遵循哪些規(guī)則?

答:(1)對(duì)pipe 文件大小的限制

(2)進(jìn)程互斥

(3)進(jìn)程寫管道時(shí)在管道空間上滿足生產(chǎn)者操作規(guī)則

(4)進(jìn)程讀管道時(shí)在管道空間上滿足消費(fèi)者操作規(guī)則

14.在消息機(jī)制中有哪些系統(tǒng)調(diào)用?說(shuō)明它們的用途。

答:在消息機(jī)制中的系統(tǒng)調(diào)用是msgctl( )、msgsnd( )、msgrcv( )。

msgctl( )系統(tǒng)調(diào)用于指定的消息隊(duì)列進(jìn)行操縱。

msgsnd( )系統(tǒng)調(diào)用來(lái)發(fā)送消息。

msgrcv( )系統(tǒng)調(diào)用從指定消息隊(duì)列中讀取一個(gè)消息。

15.在共享存儲(chǔ)機(jī)制中有哪些系統(tǒng)調(diào)用?扼要說(shuō)明它們的用途

答:在共享存儲(chǔ)機(jī)制中的系統(tǒng)調(diào)用有shmget() 、shmctl()、shmat()。

shmget( )用于建立一塊共享存儲(chǔ)區(qū),提供該區(qū)名字key和共享存儲(chǔ)區(qū)長(zhǎng)度size等參數(shù)。

shmctl( )系統(tǒng)調(diào)用于查詢共享存儲(chǔ)區(qū)的狀態(tài)信息。

shmat( )系統(tǒng)調(diào)用于將該共享存儲(chǔ)區(qū)附接到用戶給定的某個(gè)進(jìn)程虛地址shmaddr上,

并指定該存儲(chǔ)區(qū)的訪問(wèn)屬性是只讀還是可讀可寫。

16.核心在執(zhí)行shmget系統(tǒng)調(diào)用時(shí)需完成哪些工作?

答:(1)檢查共享存儲(chǔ)區(qū)表,若找到key 表項(xiàng),表明該區(qū)已建立,返回共享區(qū)描述符shmid;

(2)若未找到指定key 表項(xiàng),而flag 標(biāo)志為IPC_CREAT 且參數(shù)size值在系統(tǒng)限制值

內(nèi),則分配一系統(tǒng)空閑區(qū)作為共享區(qū)的頁(yè)表區(qū),分配相應(yīng)的內(nèi)存塊,將這些塊號(hào)填入頁(yè)表中;

(3)核心在共享存______x??l/___儲(chǔ)區(qū)和系統(tǒng)區(qū)表中,為新建立的共享區(qū)分配一空表項(xiàng),并填上存儲(chǔ)區(qū)

的關(guān)鍵字及大小、共享區(qū)頁(yè)表始址,指向系統(tǒng)區(qū)表項(xiàng)指針等,最后返回共享區(qū)描述符shmid。

17.在信號(hào)量機(jī)制中有哪些系統(tǒng)調(diào)用?說(shuō)明它們的用途。

答:在信號(hào)量機(jī)制中的系統(tǒng)調(diào)用是senget( )和semop( )。semget()用于用戶建立信號(hào)量集。

semop( )用來(lái)對(duì)信號(hào)量集進(jìn)行操作。

18.核心是如何對(duì)信號(hào)量進(jìn)行操作縱的?

答:核心根據(jù)sem_op改變信號(hào)量的值,分3 種情況:

若sem_op值為正,則將其值加到信號(hào)量值上,相當(dāng)于V 操作;若sem_op值為負(fù),

相當(dāng)于P 操作,若信號(hào)量值大于操作值的絕對(duì)值,則核心將一個(gè)負(fù)整數(shù)加到信號(hào)量值上,

否則核心將已操作的信號(hào)量恢復(fù)到系統(tǒng)調(diào)用開始時(shí)的值;若(sem_flg&IPC_NOWAIT)為真,

便立即返回,否則讓進(jìn)程睡眠等待.。

19.為實(shí)現(xiàn)請(qǐng)求調(diào)頁(yè)管理,在UNIX系統(tǒng)中配置了那些數(shù)據(jù)結(jié)構(gòu)?

答:UNIX 系統(tǒng)V 將進(jìn)程的每個(gè)區(qū)分為若干個(gè)虛頁(yè),這些虛頁(yè)可以分配到不鄰接的頁(yè)框中,

為此設(shè)置了一張頁(yè)表。其中每個(gè)表項(xiàng)中,記錄了每個(gè)虛頁(yè)和頁(yè)框的對(duì)照關(guān)系。

20.當(dāng)訪問(wèn)的缺頁(yè)是在可執(zhí)行文件上或在對(duì)換設(shè)備上時(shí),應(yīng)如何將它們調(diào)入內(nèi)存?

答:(1)缺頁(yè)在可執(zhí)行文件上。如果欲訪問(wèn)虛頁(yè)對(duì)應(yīng)磁盤塊描述表項(xiàng)類型是file,表示該缺

頁(yè)尚未運(yùn)行,其拷貝在可執(zhí)行文件中,核心應(yīng)將該頁(yè)調(diào)入內(nèi)存。調(diào)入過(guò)程是:根據(jù)對(duì)應(yīng)系統(tǒng)

區(qū)表項(xiàng)中的索引結(jié)點(diǎn)指針,找到該文件的索引節(jié)點(diǎn),把該頁(yè)的邏輯塊號(hào)作為偏移量,查找索

引結(jié)點(diǎn)中的磁盤塊號(hào)表,找到磁盤塊號(hào),將該頁(yè)調(diào)入內(nèi)存。

(2)缺頁(yè)在對(duì)換設(shè)備上。核心先為缺頁(yè)分配一內(nèi)存頁(yè),修改該頁(yè)表項(xiàng),指向內(nèi)存頁(yè),并將

頁(yè)面數(shù)據(jù)表項(xiàng)放入相應(yīng)散列隊(duì)列中,把該頁(yè)從對(duì)換設(shè)備上調(diào)入內(nèi)存,當(dāng)I/O操作完成時(shí),核心把請(qǐng)求調(diào)入該頁(yè)的進(jìn)程喚醒。

21.在將一頁(yè)換出時(shí),可分成哪幾種情況?應(yīng)如何處理這些情況?

答:分三種情況:(1)若在對(duì)換設(shè)備上有被換出頁(yè)的拷貝,內(nèi)容未改,則核心只將該頁(yè)頁(yè)

表項(xiàng)中的有效位清零,將引用計(jì)數(shù)減1,將該頁(yè)框數(shù)據(jù)表項(xiàng)放入空閑鏈表中。

(2)若在對(duì)換設(shè)備上沒(méi)有換出頁(yè)的拷貝,則將該頁(yè)寫到對(duì)換設(shè)備上。先將所有要換出頁(yè)鏈

入到待換出頁(yè)面鏈上。當(dāng)鏈上頁(yè)面數(shù)達(dá)到規(guī)定值時(shí)才將這些頁(yè)面寫到對(duì)換區(qū)中。

(3)在對(duì)換設(shè)備上有換出頁(yè)副本,但頁(yè)內(nèi)容已修改,核心應(yīng)釋放該頁(yè)在對(duì)換設(shè)備上原占有

的空間,再重新將該頁(yè)拷貝到對(duì)換設(shè)備上,使拷貝內(nèi)容最新。

22.如何對(duì)字符緩沖區(qū)進(jìn)行分配與回收?

答:在字符設(shè)備進(jìn)行I/O 時(shí),內(nèi)核利用getcf過(guò)程從空閑字符緩沖區(qū)隊(duì)列中取得空閑緩沖區(qū),

若隊(duì)列空,則無(wú)緩沖區(qū)可分配,返回;否則從隊(duì)首取得一個(gè)空閑緩沖區(qū),把該緩沖區(qū)指針

bp返給調(diào)用者。采取互斥訪問(wèn)措施,在過(guò)程開始處將處理機(jī)優(yōu)先級(jí)提升為6,在取得空緩沖

區(qū)之后再恢復(fù)處理機(jī)的優(yōu)先級(jí)。

當(dāng)不再需要緩沖區(qū)時(shí),調(diào)用putcf 過(guò)程釋放緩沖區(qū)。輸入?yún)?shù)是指向已不再需要的緩沖

區(qū)指針bp,把該緩沖區(qū)送回到空閑緩沖區(qū)隊(duì)列的隊(duì)首指針cfreelist指向的頭部。此時(shí)若有申

請(qǐng)空緩沖區(qū)而阻塞的進(jìn)程,則喚醒它。對(duì)空閑緩沖區(qū)隊(duì)列的訪問(wèn)應(yīng)互斥進(jìn)行。

23.試說(shuō)明盤塊緩沖區(qū)的組成和盤塊緩沖池的構(gòu)成。

答:UNIX系統(tǒng)的每一個(gè)盤塊緩沖區(qū)均有兩部分:一是用于存放數(shù)據(jù)的數(shù)據(jù)緩沖區(qū);另一部

分是緩沖控制塊,用于存放對(duì)應(yīng)緩沖區(qū)的管理信息。

盤塊緩沖池結(jié)構(gòu):(1)空閑鏈表(2)散列隊(duì)列。

24.getblk()和getblk(dev,blkno)進(jìn)程的主要區(qū)別是什么?

答:getblk()用于從空閑緩沖區(qū)隊(duì)列中獲得任意空閑緩沖區(qū)。getblk(dev,blkno)用于為指

定設(shè)備dev 和盤塊號(hào)為blkno 的盤塊申請(qǐng)一個(gè)緩沖區(qū)。僅當(dāng)要把數(shù)據(jù)寫入特定盤塊的內(nèi)容

不在緩沖區(qū)時(shí),才調(diào)用getblk過(guò)程分配一個(gè)空緩沖區(qū)。

25.試說(shuō)明gdopen、gdstart、gdstartegy和gdintr過(guò)程的主要功能。

答:gdopen用于打開磁盤驅(qū)動(dòng)器,輸入?yún)?shù)是設(shè)備號(hào),無(wú)輸出參數(shù)。

gdstart 用于裝配磁盤控制器中的各個(gè)寄存器,然后啟動(dòng)磁盤控制器。

gdstartegy 把指定緩沖首部排在磁盤控制器I/O 隊(duì)列末尾,并啟動(dòng)磁盤控制器。

gdintr用于磁盤I/O傳送完成并發(fā)出中斷請(qǐng)求時(shí)的磁盤中斷處理過(guò)程。

26.在UNIX系統(tǒng)中設(shè)置了哪些讀和寫過(guò)程?兩者的主要區(qū)別是什么?

答:讀過(guò)程有一般讀過(guò)程bread和提前讀過(guò)程breada。

寫過(guò)程有一般寫過(guò)程bwrite、異步寫過(guò)程bawrite和延遲寫過(guò)程bdwrite。

27.試說(shuō)明UNIX文件系統(tǒng)的特點(diǎn)?

答:A.文件系統(tǒng)的組織是分級(jí)樹形結(jié)構(gòu)形式B.文件的物理結(jié)構(gòu)為混合索引式文件結(jié)

構(gòu)

C.采用成組鏈接法管理空閑盤塊。D.引入了索引結(jié)點(diǎn)的文件檢索技術(shù)。

28.在UNIX系統(tǒng)中的文件物理結(jié)構(gòu)采用了何種形式?試舉例說(shuō)明。

答:UNIX 文件物理結(jié)構(gòu)采用混合索引式文件結(jié)構(gòu)。

在查找文件時(shí),只要找到了文件的索引結(jié)點(diǎn),用直接或間接尋址方式獲得該文件的盤塊。

29.在UNIX系統(tǒng)中如何將文件的邏輯塊號(hào)轉(zhuǎn)換為物理盤塊號(hào)?

答:尋址方式不同,轉(zhuǎn)換方法也不同。

(1)直接尋址,僅當(dāng)文件的邏輯塊號(hào)不大于10時(shí)采用。如訪問(wèn)對(duì)象是字節(jié)偏移量9999處的數(shù)據(jù)。則9999/1024=9余783,則文件邏輯塊號(hào)9,直接索引地址項(xiàng)i-addr(9)中的

塊號(hào),其塊內(nèi)偏移地址為783字節(jié)處就是文件的9999字節(jié)處。

(2)一次間址,僅當(dāng)文件的邏輯塊號(hào)大于10而不大于10+256時(shí)采用。如訪問(wèn)對(duì)象是字節(jié)偏移量18000處的數(shù)據(jù)。則18000/1024=17余592,則邏輯塊號(hào)為10<17<10+256,需要通過(guò)一次間接索引方式。先從i-addr(10)中得到一次間址盤塊號(hào),再將邏輯盤塊號(hào)減10,根據(jù)一次間址中的邏輯塊號(hào)得到間址塊號(hào)地址項(xiàng)的下標(biāo),再?gòu)闹械玫阶罱K的物理盤塊號(hào)。這里的邏輯盤塊號(hào)17,從i-addr(10)中得到的塊號(hào)設(shè)為428,則17-10=7就是一次間址號(hào),其對(duì)應(yīng)的盤塊號(hào)就是要找的物理盤塊號(hào),塊內(nèi)偏移地址為592處就是文件的18000字節(jié)處。

(3)多次間址,僅當(dāng)文件的邏輯塊號(hào)大于266而不大于64266時(shí)采用。如訪問(wèn)對(duì)象是字

節(jié)偏移量420000處的數(shù)據(jù)。則邏輯塊號(hào)為266<410<64266,通過(guò)二次間址索引。在

i-addr(11)中得到一次間址盤塊號(hào),再將邏輯盤塊號(hào)減266,根據(jù)一次間址中的邏輯塊號(hào)得

到間址塊號(hào)地址項(xiàng)的下標(biāo),再?gòu)闹械玫蕉伍g址,再找到對(duì)應(yīng)的物理塊號(hào),塊內(nèi)偏移地址

160處就是文件的420000字節(jié)處。

30.如何對(duì)磁盤索引節(jié)點(diǎn)進(jìn)行分配與回收?

答:分配過(guò)程ialloc是:先檢查超級(jí)塊是否上鎖,檢索i 結(jié)點(diǎn)棧空否,從空閑i 結(jié)點(diǎn)編號(hào)棧

中分配一個(gè)i結(jié)點(diǎn)并初始化,填寫有關(guān)文件屬性,分配內(nèi)存i結(jié)點(diǎn),將磁盤i結(jié)點(diǎn)總數(shù)減1,

并置超級(jí)塊修改標(biāo)志后返回。

回收過(guò)程ifree是:先檢查超級(jí)塊上鎖否;檢查i結(jié)點(diǎn)編號(hào)棧滿否;若i 結(jié)點(diǎn)編號(hào)棧未滿,

便使回收的i結(jié)點(diǎn)的編號(hào)進(jìn)棧,并使當(dāng)前空閑i 結(jié)點(diǎn)數(shù)加1;置超級(jí)塊修改標(biāo)志后返回。

31.何時(shí)需要構(gòu)造目錄項(xiàng)?核心需完成哪些工作?

答:當(dāng)用戶(進(jìn)程)要?jiǎng)?chuàng)建新文件時(shí),內(nèi)核便應(yīng)在其父目錄文件中構(gòu)造一個(gè)目錄項(xiàng);當(dāng)某進(jìn)

程需要共享另一用戶的某文件時(shí)內(nèi)核也將為共享該文件的用戶建立一個(gè)目錄項(xiàng)。由系統(tǒng)調(diào)用

creat過(guò)程完成目錄項(xiàng)的構(gòu)造。

32.何時(shí)需刪除一個(gè)目錄項(xiàng)?核心須完成哪些工作?

答:對(duì)于某用戶獨(dú)享的文件,當(dāng)該用戶不需要它時(shí),應(yīng)將它刪除而騰出存儲(chǔ)空間。核心須完

成的工作是利用unlink斷開連接,當(dāng)nlink值為0 時(shí),系統(tǒng)將自動(dòng)刪除該文件。

總結(jié)

以上是生活随笔為你收集整理的计算机操作系统第四版课后习题答案(完整版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。