




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章操作系統(tǒng)引論
1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?
答:(1)有效性(2)方便性(3)可擴(kuò)充性(4)開放性
2.OS的作用可表現(xiàn)在哪幾個方面?
答:(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口
(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者
(3)OS實(shí)現(xiàn)了對計(jì)算機(jī)資源的抽象
3.為什么說OS實(shí)現(xiàn)了對計(jì)算機(jī)資源的抽象?
答:OS首先在裸機(jī)上覆蓋一層I/O設(shè)備管理軟件,實(shí)現(xiàn)了對計(jì)算機(jī)硬件操作的第
一層次抽
象;在第一層軟件上再覆蓋文件管理軟件,實(shí)現(xiàn)了對硬件資源操作的第二層次抽
象。OS通
過在計(jì)算機(jī)硬件上安裝多層系統(tǒng)軟件,增強(qiáng)了系統(tǒng)功能,隱藏了對硬件操作的細(xì)
節(jié)由它們
共高實(shí)現(xiàn)了對計(jì)算機(jī)資源的抽象。
4.試說明推動多道批處理系統(tǒng)形成和發(fā)展的主要動力是什么?
答:主要動力來源于四個方面的社會需求與技術(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.試說明推動分時(shí)系統(tǒng)形成和發(fā)展的主要動力是什么?
答:推動分時(shí)系統(tǒng)形成和發(fā)展的主要動力是更好地滿足用戶的需要。主要表現(xiàn)在:
CPU的
分時(shí)使用縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間;人機(jī)交互能力使用戶能直接控制自己的作
業(yè);主機(jī)的
共享使多用戶能同時(shí)使用同一臺計(jì)算機(jī),獨(dú)立地處理自己的作業(yè)。
7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?
答:關(guān)鍵問題是當(dāng)用戶在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處
理該命令,
在用戶能接受的時(shí)延內(nèi)將結(jié)果返回給用戶。
解決方法:針對及時(shí)接收問題,可以在系統(tǒng)中設(shè)置多路卡,使主機(jī)能同時(shí)接收用
戶從各個收
端上輸入而數(shù)據(jù);為每個終端配置緩沖區(qū),暫存用戶鍵入的命令或數(shù)據(jù)。針對及
時(shí)處理問題,
應(yīng)使所有的用戶作業(yè)都直接進(jìn)入內(nèi)存,并且為每個作業(yè)分配一個時(shí)間片,允許作
業(yè)只在自己
的時(shí)間片內(nèi)運(yùn)行,這樣在不長的時(shí)間內(nèi),能使每個作業(yè)都運(yùn)行一次。
8.為什么要引入實(shí)時(shí)OS?
答:實(shí)時(shí)操作系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請求,在規(guī)定的時(shí)間內(nèi)完成對
該事件的處
理,并控制所有實(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ù)?試舉例說明。
答:硬實(shí)時(shí)任務(wù)是指系統(tǒng)必須滿足任務(wù)對截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)
毒例事說;運(yùn)載火箭的控制等。
軟實(shí)時(shí)任務(wù)是指它的截止時(shí)間并不嚴(yán)格,偶爾錯過了任務(wù)的截止時(shí)間,對系統(tǒng)產(chǎn)
生的影
響不大。舉例:網(wǎng)頁內(nèi)容的更新、火車售票系統(tǒng)。
10.試從交互性'及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。
答:(1)交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪
問系統(tǒng)中某
些特定的專用服務(wù)程序。不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)和資源共享等
服務(wù)。
(2)及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所
能接受
的等待時(shí)間來確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對象所要求的開始截止
時(shí)間或完成
截止時(shí)間來確定的,一般為秒級到毫秒級,甚至有的要低于100微妙。
(3)可靠性:分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)具
有高度
的可靠性。因?yàn)槿魏尾铄e都可能帶來巨大的經(jīng)濟(jì)損失,甚至是災(zāi)難性后果,所以
在實(shí)時(shí)系統(tǒng)
中,往往都采取了多級容錯措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性。
11.0S有哪幾大特征?其最基本的特征是什么?
答:并發(fā)性'共享性、虛擬性和異步性四個基本特征;最基本的特征是并發(fā)性。
12.在多道程序設(shè)計(jì)的0S環(huán)境下的資源共享與一般情況下的資源共享有何不
同?對獨(dú)占資源應(yīng)采取何種方式?
一般情況下的資源共享只要通過適當(dāng)?shù)陌才?,用戶之間并不會產(chǎn)生對資源的
競爭。在0S環(huán)境下的資源共享是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進(jìn)
程共同使用。
解決的方法:1.互斥共享方式。2.同時(shí)訪問方式
13、什么是時(shí)分復(fù)用技術(shù)?
答:時(shí)分復(fù)用技術(shù),將資源在不同的時(shí)間片內(nèi)分配給各種進(jìn)程使該資源被重復(fù)
利用,從而提高資源的利用率。如果采用時(shí)分復(fù)用技術(shù)的虛擬處理機(jī),能夠在不
同的時(shí)間片內(nèi)處理多個用戶的請求,從而使得用戶感覺自己獨(dú)占主機(jī),而處理機(jī)
在這期間內(nèi)也被充分的利用。
14、是什么原因使操作系統(tǒng)具有異步性?
答:操作系統(tǒng)的異步性體現(xiàn)在三個方面:一是進(jìn)程的異步性,進(jìn)程以人們不可預(yù)
知的速度向前推進(jìn)。二是程序的不可再現(xiàn)性,即程序執(zhí)行的結(jié)果有時(shí)是不確定的,
即每個程序何時(shí)執(zhí)行,執(zhí)行順序以及完成數(shù)據(jù)是不確定的。
15.處理機(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)行過程中的狀態(tài)轉(zhuǎn)
換。
進(jìn)程同步:為多個進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)。
進(jìn)程通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。
處理機(jī)調(diào)度:
(1)作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個作業(yè),為他們分配運(yùn)
行所需
的斐源(首選是分配內(nèi)存)。
(2)進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個進(jìn)程,把處理機(jī)
分配給
它,并設(shè)置運(yùn)行現(xiàn)場,使進(jìn)程投入執(zhí)行。
16、內(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)存空間與對應(yīng)的物理地址。
內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請求調(diào)用功能,置換功能等。
17、設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?
答:主要功能有:緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。
主要任務(wù):完成用戶提出的1\0請求,為用戶分配1\0設(shè)備;提高CPU和1\0設(shè)備的
利用率;提高|\0速度;以及方便用戶使用1\0設(shè)備。
18.文件管理有哪些主要功能?其主要任務(wù)是什么?
答:文件管理主要功能:文件存儲空間的管理、目錄管理、文件的讀'寫管理和
保護(hù)。文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證
文件安全性。
19.試說明推動傳統(tǒng)OS演變?yōu)楝F(xiàn)在OS的主要因素是什么?
答:系統(tǒng)安全、網(wǎng)絡(luò)的功能和服務(wù)、支持多媒體。
20、什么是微內(nèi)核OS
答:足夠小的內(nèi)核;基于客戶'服務(wù)器模式;應(yīng)用機(jī)制與策略分離原理;采用面
向?qū)ο蠹夹g(shù);
21、微內(nèi)核的操作系統(tǒng)有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?
答;1.提高了系統(tǒng)的可擴(kuò)展性;
2.增強(qiáng)了系統(tǒng)的可靠性;
3.可移植性;
4.易于改編應(yīng)用軟件。
22、現(xiàn)代操作系統(tǒng)較之傳統(tǒng)操作系統(tǒng)又增強(qiáng)了哪些功能和特征?
答:進(jìn)程管理、低級存儲器管理、中斷和陷入處理。
23、在微內(nèi)核0S中,為什么要采用客戶'服務(wù)器模式?
答:C\s有獨(dú)特的優(yōu)點(diǎn):
1、數(shù)據(jù)的分布和存儲;
2、便于集中管理;
3、靈活性和可擴(kuò)充性;
4、易于改編應(yīng)用軟件。
24、在基于微內(nèi)核結(jié)構(gòu)的0S中,應(yīng)用了哪些技術(shù)?
答:在基于微內(nèi)核的0S中采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)。
25、何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?
答:把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,
而留下一個盡量小的內(nèi)核,用它來完成操作系統(tǒng)最基本的核心功能,稱這種技術(shù)
為微內(nèi)核技術(shù),在微內(nèi)核中通常提供了進(jìn)程管理,低級存儲器管理,中斷和陷入
處理等功能
26、模塊接口法存在哪些問題?可通過什么樣的途徑來解決?
答:(1)模塊接口法存在的問題:①在0S設(shè)計(jì)時(shí),各模塊間的接口規(guī)定很難滿
足在模塊完成后對接口的實(shí)際需求。②在0S設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系
列的決定,每一個決定必須建立在上一個決定的基礎(chǔ)上。但模塊化結(jié)構(gòu)設(shè)計(jì)的各
模塊設(shè)計(jì)齊頭并進(jìn),無法尋找可靠的順序,造成各種決定的無序性,使程序設(shè)計(jì)
人員很難做到設(shè)計(jì)中的每一步?jīng)Q定都建立在可靠的基礎(chǔ)上,因此模塊接口法被稱
為“無序模塊法”。
(2)解決途徑:將模塊接口法的決定順序無序變有序,引入有序分層法。
27.試列出WindowsOS中五個主要版本,并說明它們分別較之前一個版本
有何改辿。
答(1)MicrosoftWindows1.0是微軟公司在個人電腦上開發(fā)圖形界面的首次
嘗試。
(2)Windows95是混合的16位/32位系統(tǒng),第一個支持32位。帶來了更強(qiáng)大、
更穩(wěn)定'更實(shí)用的桌面圖形用戶界面,結(jié)束了桌面操作系統(tǒng)間的競爭。
(3)Windows98是微軟公司的混合16位/32位Windows操作系統(tǒng),改良了硬
件標(biāo)準(zhǔn)的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng)。
(4)WindowsXP是基于Windows2000的產(chǎn)品,擁有新用戶圖形界面月神Luna。
簡化了用戶安全特性,整合了防火墻。
(5)WindowsVista包含了上百種新功能;特別是新版圖形用戶界面和
WindowsAero全新界面風(fēng)格、加強(qiáng)的搜尋功能(WindowsIndexingService)x
新媒體創(chuàng)作工具以及重新設(shè)計(jì)的網(wǎng)絡(luò)'音頻、輸出(打印)和顯示子系統(tǒng)。
28.在8位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?
答:單用戶單任務(wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.
29、操作系統(tǒng)與與用戶之間的接口有哪些?
1、用戶接口:聯(lián)機(jī)用戶接口;脫機(jī)用戶接口;圖形用戶接口。
2、程序接口
第二章
1.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(PrecedenceGraph)是一個有向無循環(huán)圖,記為
DAG(DirectedAcycIicGraph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。
2.畫出下面四條語句的前趨圖:
S1:a=x+y;
S2:b=z+1;
S3:c-a-b;
S4:w=c+1;
3.為什么程序并發(fā)執(zhí)行會產(chǎn)生間斷性特征?
答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合
作,致使這些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行
期間出現(xiàn)間性。
4.程序并HR執(zhí)行時(shí)為什么會失去封閉性和可再現(xiàn)性?
答:程序并發(fā)執(zhí)行時(shí),多個程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由
多個程序改變,致使程序運(yùn)行失去了封閉性,也會導(dǎo)致其失去可再現(xiàn)性。
5.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會產(chǎn)生什么樣的影響?
答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對并發(fā)執(zhí)行的程序加以控制和
描述,在操作系統(tǒng)中引入了進(jìn)程概念。
影響:使程序的并發(fā)執(zhí)行得以實(shí)行。
6.試從動態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?
答:(1)動態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因
得不到資源而暫停執(zhí)行,由撤銷而消亡。進(jìn)程有一定的生命期,而程序只是一組
有序的指令集合是靜態(tài)實(shí)體。
⑵并發(fā)性是進(jìn)雇的重域輸E,同時(shí)也是OS的重要特征。引入進(jìn)程的目的正是為
了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。
⑶獨(dú)立性是指進(jìn)程實(shí)體是一個能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)中獨(dú)立獲得資
源和獨(dú)立調(diào)度的基本單位。對于未建立任何進(jìn)程的程序,不能作為獨(dú)立單位參加
運(yùn)行。
7.試說明PCB的作用,為什么說PCB是進(jìn)程存在的惟一標(biāo)志?
答:PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。作用是
使一個在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個能獨(dú)立運(yùn)行的基本單
位,成為能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程。OS是根據(jù)PCB對并發(fā)執(zhí)行的進(jìn)程進(jìn)行控
制和管理的。
8.PCB提供了進(jìn)程管理和進(jìn)程調(diào)度所需要的哪些信息?
答:進(jìn)程標(biāo)識符、處理機(jī)狀態(tài)、進(jìn)程調(diào)度信息、進(jìn)程控制信息。
9、進(jìn)程控制塊的組織方式有哪幾種?
答:1)線性方式(線性表),2)鏈接方式(鏈接隊(duì)列),3)索引方式(索引
表)。
10、何謂操作系統(tǒng)內(nèi)核,內(nèi)核的主要功能是什么?
答:現(xiàn)代操作系統(tǒng)一般將。s劃分為若干個層次,再將。s的不同功能分別設(shè)置在不
同的層次中。往往將一些與硬件緊密相關(guān)的(如中斷處理程序)、各種常用的設(shè)
備驅(qū)動程序以及運(yùn)行頻率較高的模塊(如時(shí)鐘管理、進(jìn)程調(diào)度和許多模塊公用的
一些基本操作)都安排在緊靠硬件的軟件層次中,使之常駐內(nèi)存,并對他們進(jìn)行
保護(hù)。通常把這一部分稱之為操作系統(tǒng)的內(nèi)核。
負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性
能和穩(wěn)定性。
11.試說明進(jìn)程在三個基本狀態(tài)之間轉(zhuǎn)換的典型原因。
答:(1)就緒狀態(tài)T執(zhí)行狀態(tài):進(jìn)程分配到CPU資源
(2)執(zhí)行狀態(tài)-就緒狀態(tài):時(shí)間片用完
(3)執(zhí)行狀態(tài)T阻塞狀態(tài):I/O請求
(4)阻塞狀態(tài)T就緒狀態(tài):I/O完成
12.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?
答:1、引入掛起狀態(tài)處于五種不同的需要:終端用戶需要,父進(jìn)程需要,操作
系統(tǒng)需要,對換
需要和負(fù)荷調(diào)節(jié)需要。
2、處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度。
13.在進(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)過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息。
14.試說明引起進(jìn)程創(chuàng)建的主要事件。
答:引起進(jìn)程創(chuàng)建的主要事件有:用戶登錄'作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請求。
15.試說明引起進(jìn)程被撤銷的主要事件。
答:引起進(jìn)程被撤銷的主要事件有:1、正常結(jié)束;
2、異常結(jié)束:越界錯誤、保護(hù)錯、非法指令、特權(quán)指令錯、運(yùn)行超時(shí)、等待超
時(shí)'算術(shù)運(yùn)算錯、I/O故障;
3、外界干預(yù):操作員或操作系統(tǒng)干預(yù)'父進(jìn)程請求、父甲程終I匕
16.在創(chuàng)建一個進(jìn)程時(shí)所要完成的主要工作是什么?
答:進(jìn)程之間存在著直接制約和間接制
(1)OS發(fā)現(xiàn)請求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語約兩種制約關(guān)系,其中直接制約(同
(2)申請空白PCB;步)是由于進(jìn)程間的相互合作而引
(3)為新進(jìn)程分配資源;
起的,而間接制約(互斥)則是由
(4)初始化進(jìn)程控制塊;
(5)將新進(jìn)程插入就緒隊(duì)列.于進(jìn)程間共享臨界資源而引起的。
17.在撤銷一個進(jìn)程時(shí)所要完成的主要工作是什么?
宏.
1=1?
(1)根據(jù)被終止進(jìn)程標(biāo)識符,從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ì)列或列表中移出,等待其它程序搜集信息。
18.試說明引起進(jìn)程阻塞或被喚醒的主要事件是什么?
答:a.請求系統(tǒng)服務(wù);b.啟動某種操作;c.新數(shù)據(jù)尚未到達(dá);d.無新工作可
做.
19.為什么要在OS中引入線程?
答:在操作系統(tǒng)中引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,
使OS具
有更好的并發(fā)性,提高CPU的利用率。進(jìn)程是分配資源的基本單位,而線程則是系
統(tǒng)調(diào)度的
基本單位。
20.試說明線程具有哪些屬性?
答:(1)輕型實(shí)體(2)獨(dú)立調(diào)度和分派的基本單位(3)可并發(fā)執(zhí)行(4)共享
進(jìn)程資源。
21.黃從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開銷方面對進(jìn)程和線程進(jìn)行比較。
答:
(1)調(diào)度性。線程在OS中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的
基本單位。
(2)并發(fā)性。進(jìn)程可以并發(fā)執(zhí)行,一個進(jìn)程的多個線程也可并發(fā)執(zhí)行。
(3)擁有資源。進(jìn)程始終是擁有資源的基本單位,線程只擁有運(yùn)行時(shí)必不可少
的斐源本
身高本未擁有系統(tǒng)資源,但可以訪問隸屬進(jìn)程的資源。
(4)系統(tǒng)開銷。操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)付出的開銷顯著大于線程。
22.線程控制塊TCB中包含了哪些內(nèi)容?
答:一般TCB中的內(nèi)容較少,因?yàn)橛嘘P(guān)資源分配等多數(shù)信息已經(jīng)記錄于所屬進(jìn)程
的PCB中
TCB中的主要信息包括線程標(biāo)識、線程狀態(tài)、調(diào)度參數(shù)、現(xiàn)場、鏈接指針;
其中現(xiàn)場信息主要包括通用寄存器、指令計(jì)數(shù)器PC以及用戶棧指針.對于操作系
統(tǒng)支持的線程,TCB中還應(yīng)包含系統(tǒng)棧指針。
23.何謂用戶級線程和內(nèi)核支持線程?
答:
"l)用戶級線程:僅存在于用戶空間中的線程,無須內(nèi)核支持。這種線程的創(chuàng)
建、撤銷、
線程間的同步與通信等功能,都無需利用系統(tǒng)調(diào)用實(shí)現(xiàn)。用戶級線程的切換通常
發(fā)生在一個
應(yīng)用進(jìn)程的諸多線程之間,同樣無需內(nèi)核支持。
(2)內(nèi)核支持線程:在內(nèi)核支持下運(yùn)行的線程。無論是用戶進(jìn)程中的線程,還
是系統(tǒng)線程
中的線程,其創(chuàng)建、撤銷和切換等都是依靠內(nèi)核,在內(nèi)核空間中實(shí)現(xiàn)的。在內(nèi)
核空間里還
為每個內(nèi)核支持線程設(shè)置了線程控制塊,內(nèi)核根據(jù)該控制塊感知某線程的存在并
實(shí)施控制。
24.試說明用戶級線程的實(shí)現(xiàn)方法。
答:用戶級線程是在用戶空間中的實(shí)現(xiàn)的,所有的用戶級線程都具有相同的結(jié)構(gòu),
運(yùn)行在一個中間系統(tǒng)上。
運(yùn)行時(shí)系統(tǒng):用于管理和控制線程的函數(shù)的集合。
內(nèi)核控制線程或輕型進(jìn)程LWP:可通過系統(tǒng)調(diào)用獲得內(nèi)核提供服務(wù),利用LWP進(jìn)程
作為中間系統(tǒng)。
25.試說明內(nèi)核支持線程的實(shí)現(xiàn)方法。
答:系統(tǒng)在創(chuàng)建新進(jìn)程時(shí),分配一個任務(wù)數(shù)據(jù)區(qū)PTDA,其中包括若干個線程控制
塊TCB
空間。創(chuàng)建一個線程分配一個TCB,有關(guān)信息寫入TCB,為之分配必要的資源。當(dāng)
PTDA
中的TCB用完,而進(jìn)程又有新線程時(shí),只要所創(chuàng)建的線程數(shù)目未超過系統(tǒng)允許值,
系統(tǒng)可
在為之分配新的TCB;在撤銷一個線程時(shí),也應(yīng)回收線程的所有資源和TCB。
26.多線程模型有哪幾種類型?多對一模型有何優(yōu)缺點(diǎn)?
答:多對一模型、一對一模型和多對多模型。多對一模型的主要缺點(diǎn)在于,如
果一個線程在訪問內(nèi)核時(shí)發(fā)生阻塞,則整個進(jìn)程都會被阻塞;此外,在任一時(shí)刻,
只有一個線程能夠訪問內(nèi)核,多個線程不能同時(shí)在多個處理機(jī)上運(yùn)行。
第三章處理機(jī)調(diào)度與死鎖
1.高級調(diào)度與低級調(diào)度的主要任務(wù)是什么?為什么要引入中級調(diào)度?
答:高級調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊(duì)列中的那些作
業(yè)調(diào)入內(nèi)存。
低級調(diào)度是保存處理機(jī)的現(xiàn)場信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)
程。
引入中級調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時(shí)不能
運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外
存狀態(tài)或掛起狀態(tài)。
2.處理機(jī)調(diào)度算法的共同目標(biāo)是什么?批處理系統(tǒng)的調(diào)度目標(biāo)又是什么?
答:共同目標(biāo):資源利用率,公平性,平衡性,策略強(qiáng)制執(zhí)行。
批處理系統(tǒng)的調(diào)度目標(biāo):平均周轉(zhuǎn)時(shí)間短,系統(tǒng)吞吐量高,處理機(jī)利用率高。
3.何謂作業(yè)、作業(yè)步和作業(yè)流?
答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說明書。系統(tǒng)根據(jù)該說明書對程序
的運(yùn)行進(jìn)行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從外存調(diào)入內(nèi)存。
作業(yè)步是指每個作業(yè)運(yùn)行期間都必須經(jīng)過若干個相對獨(dú)立相互關(guān)聯(lián)的順序加工
的0
作業(yè)流是指若干個作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作
系統(tǒng)的控制下,逐個作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流。
4.在什么情況下需要使用作業(yè)控制塊JCB?其中包含了哪些內(nèi)容?
答:每當(dāng)作業(yè)進(jìn)入系統(tǒng)時(shí),系統(tǒng)便為每個作業(yè)建立一個作業(yè)控制塊JCB,根據(jù)作
業(yè)類型將它插入到相應(yīng)的后備隊(duì)列中。
JCB包含的內(nèi)容通常有:1)作業(yè)標(biāo)識;2)用戶名稱;3)用戶賬戶;4)作業(yè)類型
(CPU繁忙型、I/O芳名型、批量型、終端型);5)作業(yè)狀態(tài);6)調(diào)度信息(優(yōu)
先級、作業(yè)已運(yùn)行);7)斐源要求;8)進(jìn)入系統(tǒng)時(shí)間;9)開始處理時(shí)間;10)作
業(yè)完成時(shí)間;;11)作業(yè)退出時(shí)間12)資源使用情況等
5.在作業(yè)調(diào)度中應(yīng)如何確定接納多少個作業(yè)和接納哪些作業(yè)?
答:作業(yè)調(diào)度每次接納進(jìn)入內(nèi)存的作業(yè)數(shù),取決于多道程序度。應(yīng)將哪些作業(yè)從
外存調(diào)入內(nèi)存,取決于采用的調(diào)度算法。最簡單的是先來服務(wù)調(diào)度算法,較常用
的是短作業(yè)優(yōu)先調(diào)度算法和基于作業(yè)優(yōu)先級的調(diào)度算法。
6.為什么要引入高響應(yīng)比優(yōu)先調(diào)度算法?它有何優(yōu)點(diǎn)?
答:在批處理系統(tǒng)中,F(xiàn)CFS算法所考慮的只是作業(yè)的等待時(shí)間,而忽視了作業(yè)的
運(yùn)行時(shí)間。而SJF算法正好與之相反,只考慮作業(yè)的運(yùn)行時(shí)間,而忽視了作業(yè)的
等待時(shí)間。高響應(yīng)比優(yōu)先調(diào)度算法則是既考慮了作業(yè)的等待時(shí)間,又考慮作業(yè)運(yùn)
行時(shí)間的調(diào)度算法,因此既照顧了短作業(yè),又不致使長作業(yè)的等待時(shí)間過長,從
而改善了處理機(jī)調(diào)度的性能。
7.試說明低級調(diào)度的主要功能。
保存處理機(jī)的現(xiàn)場信息'按某種算法選取進(jìn)程、把處理機(jī)分配給進(jìn)程
8.在搶占調(diào)度方式中,搶占的原則是什么?
答:搶占的原則有:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先權(quán)原則等。
9.在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?
答:
7i)面向用戶的準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)
則。
(2)面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好'各類資源的平衡利用。
10.在批處理系統(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)先,多級反饋隊(duì)
列調(diào)度算法。
分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法。
實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法。
11.何謂靜態(tài)和動態(tài)優(yōu)先級?確定靜態(tài)優(yōu)先級的依據(jù)是什么?
答:靜態(tài)優(yōu)先級是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個運(yùn)行期間保持不變的
優(yōu)先級。
動態(tài)優(yōu)先級是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)
間增加而改變的優(yōu)先級,可以獲得更好的調(diào)度性能。
確定進(jìn)程優(yōu)先級的依據(jù):進(jìn)程類型'進(jìn)程對斐源的需求和用戶要求。
12.試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。
答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度。
不同點(diǎn):FCFS調(diào)度算法每次都從后備隊(duì)列中選擇一個或多個最先進(jìn)入該隊(duì)列的作
業(yè),將它們調(diào)入內(nèi)存、分配資源'創(chuàng)建進(jìn)程、插入到就緒隊(duì)列。該算法有利于長
作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF算法每次調(diào)度都從后備隊(duì)列中選擇一個或
若干個估計(jì)運(yùn)行時(shí)間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,
不利于長作業(yè)/進(jìn)程。
13.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大?。?/p>
答:時(shí)間片應(yīng)略大于一次典型的交互需要的時(shí)間。一般應(yīng)考慮三個因素:系統(tǒng)對
相應(yīng)時(shí)間的
要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力。
14.通過一個例子來說明通常的優(yōu)先級調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?
答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開始截止時(shí)間和任務(wù)緊急/松
弛程度的任務(wù)優(yōu)先級調(diào)度算法,通常的優(yōu)先級調(diào)度算法不能滿足實(shí)時(shí)系統(tǒng)的調(diào)度
實(shí)時(shí)性要求而不適用。
15.為什么說多級反饋隊(duì)列調(diào)度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業(yè)用戶提交的作業(yè)大多屬于較小的交互型作業(yè),系統(tǒng)只要使
這些作業(yè)在第一隊(duì)列規(guī)定的時(shí)間片內(nèi)完成,終端作業(yè)用戶就會感到滿
足。
(2)短批處理作業(yè)用戶,開始時(shí)像終端型作業(yè)一樣,如果在第一隊(duì)列中執(zhí)
行一個時(shí)間片段即可完成,便可獲得與終端作業(yè)一樣的響應(yīng)時(shí)間。對
于稍長作業(yè),通常只需在第二和第三隊(duì)列各執(zhí)行一時(shí)間片即可完成,
其周轉(zhuǎn)時(shí)間仍然較短。
(3)長批處理作業(yè),它將依次在第1,2,…,n個隊(duì)列中運(yùn)行,然后再按輪
轉(zhuǎn)方式運(yùn)行,用戶不必?fù)?dān)心其作業(yè)長期得不到處理。所以,多級反饋
隊(duì)列調(diào)度算法能滿足多用戶需求。
16.為什么說傳統(tǒng)的幾種調(diào)度算法都不能算是公平調(diào)度算法?
答:以上介紹的幾種調(diào)度算法所保證的只是優(yōu)先運(yùn)行,如優(yōu)先級算法是優(yōu)先級最
高的作業(yè)優(yōu)先運(yùn)行,但并不保證作業(yè)占用了多少處理機(jī)時(shí)間。另外也未考慮到調(diào)
度的公平性。
17.保證調(diào)度算法是如何做到調(diào)度的公平性的?
答:保證調(diào)度算法是另外一種類型的調(diào)度算法,它向用戶所做出的保證并不是優(yōu)
先運(yùn)行,而是明確的性能保證,該算法可以做到調(diào)度的公平性。一種比較容易實(shí)
現(xiàn)的性能保證是處理機(jī)分配的公平性。如果在系統(tǒng)中有n個相同類型的進(jìn)程同時(shí)
運(yùn)行,為公平起見,須保證每個進(jìn)程都獲得相同的處理機(jī)時(shí)間1/n。
18.公平分享調(diào)度算法又是如何做到調(diào)度的公平性的?
答:在公平分享調(diào)度算法中,調(diào)度的公平性主要是針對用戶而言,使所有用戶能
獲得相同的處理機(jī)時(shí)間,或所要求的時(shí)間比例。
19.為什么在實(shí)時(shí)系統(tǒng)中,要求系統(tǒng)(尤其是CPU)具有較強(qiáng)的處理能力?
答:在實(shí)時(shí)系統(tǒng)中通常有多個實(shí)時(shí)任務(wù),若處理機(jī)的處理能力不強(qiáng),則有可能因
處理機(jī)忙不過來,而致使某些實(shí)時(shí)任務(wù)不能得到及時(shí)處理,從而導(dǎo)致發(fā)生難以預(yù)
料的后果
20.按調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?
答:非搶占式和搶占式。非搶占式又分為非搶占式輪轉(zhuǎn)調(diào)度算法和非搶占式優(yōu)先
調(diào)度算法,搶占式又分為基于時(shí)鐘中斷的搶占式優(yōu)先級調(diào)度算法和立即搶占的優(yōu)
先級調(diào)度算法。
21.什么是最早截止時(shí)間優(yōu)先調(diào)度算法?舉例說明。
答:根據(jù)任務(wù)的開始截止時(shí)間確定的任務(wù)優(yōu)先級調(diào)度算法。截止時(shí)間越早則優(yōu)先
級越高。該算法要求在系統(tǒng)中保持一個實(shí)時(shí)任務(wù)就緒隊(duì)列,該隊(duì)列按各任務(wù)截止
時(shí)間的先后排序。
22.什么是最低松弛度優(yōu)先調(diào)度算法?舉例說明。
答:該算法是根據(jù)任務(wù)的緊急(或松弛)程度,來確定任務(wù)的優(yōu)先級。任務(wù)的緊急
程度越高,為該任務(wù)所賦予的優(yōu)先級就越高,以使之優(yōu)先執(zhí)行。
例如,一個任務(wù)在200ms時(shí)必須完成,而它本身所需的運(yùn)行時(shí)間就有
100ms,因此,調(diào)度程序必須在100ms之前調(diào)度執(zhí)行,該任務(wù)的緊急程度(松弛程
度)為100ms。
又如,另一任務(wù)在400ms時(shí)必須完成,它本身需要運(yùn)行150ms,則其松
弛程度為250ms。
23.何謂“優(yōu)先級倒置”現(xiàn)象,可采取什么方法來解決?
答:當(dāng)前0S廣泛采用優(yōu)先級調(diào)度算法和搶占方式,然而在系統(tǒng)中存在著影響進(jìn)程
運(yùn)行的資源而可能產(chǎn)生“優(yōu)先級倒置”的現(xiàn)象,即高優(yōu)先級進(jìn)程(或線程)被低優(yōu)
先級進(jìn)程(或線程)延遲或阻塞。
24.試分別說明可重用資源和可消耗資源的性質(zhì)。
答:可重用性資源:每一個可重用性資源中的單元只能分配給一個進(jìn)程使用,不
允許多個進(jìn)程共享。進(jìn)程在使用可重用性資源時(shí),須按照這樣的順序:請求資源、
使用資源、釋放斐源。系統(tǒng)中每一類可重用性費(fèi)源中的單元數(shù)目是相對固定的,
進(jìn)程在運(yùn)行期間既不能創(chuàng)建也不能刪除它。
可消耗性斐源:每一類可消耗性斐源的單元數(shù)目在進(jìn)程運(yùn)行期間是可以
不斷變化的,有時(shí)它可以有許多,有時(shí)可能為0。進(jìn)程在運(yùn)行過程中,可以不斷
創(chuàng)造可消耗性資源的單元,將它們放入該資源類的緩沖區(qū)中,以增加該資源類的
單元數(shù)目。進(jìn)程在運(yùn)行過程中,可以請求若干個可消耗性資源單元,用于進(jìn)程自
己的消耗,不再將它們返回給該斐源類中。
25.試舉例說明競爭不可搶占資源所引起的死鎖。
答:例如,系統(tǒng)中有兩個進(jìn)程P1和P2,它們都準(zhǔn)備寫兩個文件F1和F2,而這兩者
都屬于可重用和不可搶占性資源。進(jìn)程P1先打開F1,然后再打開文件F2;進(jìn)程P2
先打開文件F2,后打開F1,下面示出了這段代碼。P1
P2
Open(f1,w);Open(f2,w);
Open(f2,w);Open(f1,w);
兩個進(jìn)程P1和P2在并發(fā)執(zhí)行時(shí),如果P1先打開F1和F2,然后P2才
去打開F1(或F2),由于文件F1(F2)已被P1打開,故P2會被阻塞。當(dāng)P1寫完文件
F1(或F2)而關(guān)閉F1(F2)時(shí),P2會由阻塞狀態(tài)轉(zhuǎn)為就緒狀態(tài),被調(diào)度執(zhí)行后重新打
開文件F1(或F2)o在這種情況下,P1和P2都能正常運(yùn)行下去。若P2先打開F1和F2,
然后P1才去打開F1(或F2),P1和P2同樣也可以正常運(yùn)行下去。
但如果在P1打開F1的同時(shí),P2去打開F2,每個進(jìn)程都占有一個打開
的文件,此時(shí)就可能出現(xiàn)問題。因?yàn)楫?dāng)P1試圖去打開F2,而P2試圖去打開F1時(shí),
這兩個進(jìn)程都會因文件已被打開而阻塞,它們希望對方關(guān)閉自己所需要的文件,
但誰也無法運(yùn)行,因此這兩個進(jìn)程將會無限期地等待下去,而形成死鎖。
26.為了破壞“請求和保持”條件而提出了兩種協(xié)議,試比較這兩種協(xié)議。、
答:第一種協(xié)議在所有進(jìn)程開始運(yùn)行之前,必須一次性地申請其在整個運(yùn)行過程
中所需的全部資源,并且在分配資源時(shí),只要有一種資源不能滿足進(jìn)程的要求,
即使其它所需的各種資源都空閑也不分配給該進(jìn)程,而讓該進(jìn)程等待。因此有資
源被嚴(yán)重浪費(fèi)、進(jìn)程經(jīng)常會發(fā)生饑餓現(xiàn)象等缺點(diǎn)。
第二種協(xié)議是對第一種協(xié)議的改進(jìn),它允許一個進(jìn)程只獲得運(yùn)行初期所
需的資源后,便開始運(yùn)行。進(jìn)程運(yùn)行過程中再逐步釋放已分配給自己的,且已用
畢的全部資源,然后再請求新的所需資源。如此便可提高設(shè)備的利用率,還可減
少進(jìn)程發(fā)生饑餓的概率。
27.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?
答:死鎖是指多個進(jìn)程在運(yùn)行過程中因爭奪斐源而造成的一種僵局,當(dāng)進(jìn)程處于
這種僵持狀態(tài)時(shí),若無外力作用,它們都將無法再向前推進(jìn)。
產(chǎn)生死鎖的原因?yàn)楦偁庂Y源和進(jìn)程間推進(jìn)順序非法。其必要條件是:互
斥條件'請求和保持條件、不剝奪條件'環(huán)路等待條件。
28.當(dāng)決死鎖問題的幾個方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法使資源利用
率最高?
答:解決死鎖的四種方法即預(yù)防、避免、檢測和解除死鎖中,預(yù)防死鎖最容易實(shí)
現(xiàn);避免死鎖使資源的利用率最高。
29.請?jiān)敿?xì)說明可通過哪些途徑預(yù)防死鎖。
答:(1)破壞“請求和保持”條件,就是如果系統(tǒng)有足夠資源,便一次性把進(jìn)程
需要的所有資源分配給它■
⑵破蒙“不可行占”'條件,就是已經(jīng)擁有資源的進(jìn)程,當(dāng)它提出新資源請
求而不能立即滿足時(shí),必須釋放它已保持的所有資源,待以后需要時(shí)再重新申
I青9
(3)破壞“循環(huán)等待”條件,就是將所有資源按類型排序標(biāo)號,所有進(jìn)程對資源
的請求必須嚴(yán)格按序號遞增的次序提出。
30.在銀行家算法的例子中,如果P0發(fā)出請求向量由Request(0,2,0)改為
Request(0,1,0),
問系統(tǒng)可否將資源分配給它?
答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在T0時(shí)刻的資源分
配如圖所示:
^情況MaxAllocationNeedAvailable
進(jìn)程ABCABCABCABC
Po753010743332
Pl322200122
902302600
p2
222211Oil
p3
433002431
p4
(2)具體分析如下:
①RequstO(0,1,0)VNeedO(7,4,3);
②RequstO(0,1,0)<=AvaiIabIe(2,3,0);
系統(tǒng)先假定可為PO分配資源,并修改AvailableO,Allocation。和Need。向量,由
此形成
的資源變化情況如下圖所示:
情況MaxAllocationNeedAvailable
進(jìn)程ABCABcABCABC
Po763010743322
Pi322200122
902302600
P2
222211011
P3
43300243
P4
(3)P0請求資源:P0發(fā)出請求向量RequstO(0,1,0),系統(tǒng)按銀行家算法進(jìn)行檢查:
①RequstO(0,1,0)<=NeedO(7,4,3);
②RequstO(0,1,0)<=AvaiIabIe(2,3,0);
③系統(tǒng)暫時(shí)先假定可為P0分配資源,并修改有關(guān)數(shù)據(jù),如下圖
所示
P"費(fèi)源倩或JWork|Need|Allocation|Work+Allocation|
ABcABCABcABcFinish
Po322733020342Ture
Pi342122200542Ture
542600302844Ture
P2
Pa8440112111055Ture
P,10554310021057Ture
綜上所述系統(tǒng)可以將資源分配給它。
31.銀行家算法中出現(xiàn)以下資源分配,試問(1)該狀態(tài)是否安全?(2)若進(jìn)
程P2提出
Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
ProcessAllocationNeedAvailable
Po003200121622
Pi10001750
13542356
P2
03320652
P3
00140656
P4
試問:(1)該狀態(tài)是否安全?
(2)若進(jìn)程P2提出請求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
答:⑴安全,因?yàn)榇嬖诎踩蛄校鸓0,P3,P4,P1,P2}
(2)系統(tǒng)能分配資源,分析如下。
①Request(1,2,2,2)<=Need2(2,3,5,6);
②Request(1,2,2,2)<=AvaiIabIe2(1,3,5,4);
③系統(tǒng)先假定可為P2分配資源,并修改AvaiIable2,Allocation2和Need2向量,
由此形成的斐源變化情況如下圖所示:
ProcessAllocationNeedAvailable
Po003200120400
Pl10001750
p225762356
p303320652
p400140656
④再利用安全性算法檢查此時(shí)系統(tǒng)是否安全。如下圖
ProcessWorkAllocationNeedWork+AllocationFinish
P20400257623562976true
Po29760032001229108true
Pl291081000175039108tme
39108033206523121310true
P3
3121310001406563121414true
P4
由此進(jìn)行的安全性檢查得知,可以找到一個安全序列{P2,PO,P1,P3,P4)o
第四章
1.為什么要配置層次式存儲器?
答:設(shè)置多個存儲器可以使存儲器兩端的硬件能并行工作;采用多級存儲系統(tǒng),
特另是
Cache技術(shù),是減輕存儲器帶寬對系統(tǒng)性能影響的最佳結(jié)構(gòu)方案;在微處理機(jī)內(nèi)
部設(shè)置各
種緩沖存儲器,減輕對存儲器存取的壓力。增加CPU中寄存器數(shù)量大大緩解對存
儲器壓力。
2.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場合?
答:(1)絕對裝入方式,只適用于單道程序環(huán)境。
(2)可重定位裝入方式,適用于多道程序環(huán)境。
(3)動態(tài)運(yùn)行時(shí)裝入方式,用于多道程序環(huán)境;不允許程序運(yùn)行時(shí)在內(nèi)存中移
位置。
3.何謂靜態(tài)鏈接?靜態(tài)鏈接時(shí)需要解決兩個什么問題?
答:靜態(tài)鏈接是指在程序運(yùn)行之前,先將各自目標(biāo)模塊及它們所需的庫函數(shù),鏈
接成一個完整的裝入模塊,以后不再拆開的鏈接方式。
將幾個目標(biāo)鏈接裝配成一個裝入模塊時(shí),需解決以下兩個問題:
1、將相對地址進(jìn)行修改。即將除第一個模塊外的相對地址修改成裝入模塊中的
相應(yīng)的相對地址。(第一個模塊A的相對地址不變,仍為0)
2、變換外部調(diào)用符號。即將每個模塊中所用的外部調(diào)用符號,都變換為相對地
址。
4.何謂裝入時(shí)動態(tài)鏈接?裝入時(shí)動態(tài)連接方式有何優(yōu)點(diǎn)?
答:對比靜態(tài)鏈接,裝入時(shí)動態(tài)鏈接是在裝入內(nèi)存時(shí),邊鏈接邊裝入。裝入時(shí)動
態(tài)鏈接可以讓目標(biāo)模塊可共享,易于修改。因?yàn)?,動態(tài)鏈接在每次裝入內(nèi)存時(shí)都
需要重新鏈接,所以,對單個的目標(biāo)模塊很容易修改和更新,而且目標(biāo)模塊的共
學(xué)也很容易。
5.何謂運(yùn)行時(shí)動態(tài)鏈接?運(yùn)行時(shí)動態(tài)鏈接方式有何優(yōu)點(diǎn)?
答:對比裝入時(shí)動態(tài)鏈接,運(yùn)行時(shí)動態(tài)鏈接是在程序運(yùn)行時(shí)才鏈接所需的目標(biāo)模
塊。運(yùn)行時(shí)動態(tài)鏈接可以讓程序運(yùn)行所必須得模塊之外的模塊不鏈接,加快程序
的裝入過程,節(jié)省大量的內(nèi)存空間。
6.在動態(tài)分區(qū)分配方式中,應(yīng)如何將各空閑分區(qū)鏈接成空閑分區(qū)鏈?
答:在動態(tài)分區(qū)分配中,介紹了七種算法,其中首次適應(yīng)'循環(huán)首次適應(yīng)算法需
要按照地址遞增的順序鏈接分區(qū),最佳適應(yīng)、最壞適應(yīng)算法需要按照分區(qū)的大小
來鏈接分區(qū),快速適應(yīng)、伙伴系統(tǒng)、哈希算法需要按照分區(qū)的大小分類鏈接成不
同種類的空閑分區(qū)鏈。
7.為什么要引入動態(tài)重定位?如何實(shí)現(xiàn)?
答:在內(nèi)存分配過程中,不免出現(xiàn)許多不可利用的小的空閑空間以至于造成了內(nèi)
存的利用率不高。如果讓已經(jīng)存在的程序緊湊起來,那么,那些不可利用的小的
空閑空間也就連成了更大的空閑空間以供利用,移動已經(jīng)在內(nèi)存中的程序就是動
態(tài)重定位。關(guān)于如何實(shí)現(xiàn),在從系統(tǒng)中增設(shè)一個重定位寄存器,用它來存放程序
(數(shù)據(jù))在內(nèi)存中的起始地址,程序運(yùn)行時(shí),真正訪問的內(nèi)存地址是相對地址與重
定位寄存器中的地址相加而成的。絕對地址是在程序運(yùn)行時(shí)產(chǎn)生,那么對內(nèi)存中
的程序也就可以移動位置而可以用相對地址。
8.什么是基于順序搜索的動態(tài)分區(qū)分配算法?它可分為哪幾種?
答:我們通常將系統(tǒng)中的空閑分區(qū)鏈接成一個鏈,然后在分配分區(qū)的時(shí)候依次搜
索空閑分區(qū)鏈上的空閑分區(qū),去尋找一個其大小能滿足要求的分區(qū),定義如何搜
索的算法就是基于順序搜索的動態(tài)分區(qū)分配算法。它分為首次適應(yīng)算法、循環(huán)首
次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法。
9.在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情
況?
答:回收內(nèi)存的時(shí)候,我們把將要回收的內(nèi)存區(qū)的首址拿到空閑分區(qū)鏈表中比對
找出插入點(diǎn)(按照空閑分區(qū)鏈的構(gòu)建算法),如果將要回收的內(nèi)存和插入點(diǎn)的左、
右或者兩者都相鄰,那就把相鄰的區(qū)合并成一個區(qū),如果不相鄰那就單獨(dú)作為一
個區(qū)插入進(jìn)去,并修改相關(guān)的數(shù)據(jù)結(jié)構(gòu)中的值。
10.什么是基于索引搜索的動態(tài)分區(qū)分配算法?它可分為哪幾種?
答:我們把空閑分區(qū)按照某種屬性(通常是大?。┓诸?,把每一類都鏈接起來形成
一個鏈表,建立一個表把每類鏈表的相關(guān)信息寫進(jìn)去以供索引,按照這個數(shù)據(jù)分
配空閑分區(qū)的算法叫做基于索引搜索的動態(tài)分區(qū)分配算法。它分為快速適應(yīng)算
法、伙伴系統(tǒng)、哈希算法。
11.令buddy^x)表示大小為地址為x的塊的伙伴系統(tǒng)地址,試寫出
budd先(x)的通用表達(dá)式。
答:當(dāng)xMOD=0時(shí),buddyK(x)=x+2\當(dāng)xMOD2k+1=2k
k
時(shí),buddyK(x)=x-2
12.分區(qū)存儲管理中常用那些分配策略?比較它們的優(yōu)缺點(diǎn)。
答:分區(qū)存儲管理中的常用分配策略:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法'最佳
適應(yīng)算法、最壞適應(yīng)算法。
首次適應(yīng)算法優(yōu)缺點(diǎn):保留了高址部分的大空閑區(qū),有利于后來的大型作業(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)生碎片幾率小,對中小型文件分配
分區(qū)操作有利;存儲器中缺乏大空閑區(qū),對大型文件分區(qū)
分配不利。
13.為什么要引入對換?對換可分為哪幾種類型?
答:為了提高系統(tǒng)的吞吐量,提高內(nèi)存的利用率和處理機(jī)的利用率。對換可分為
整體對換和局部對換(分段或頁面對換)。
14.對文件區(qū)管理的目標(biāo)和對對換空間管理的目標(biāo)有何不同?
答:對文件區(qū)的管理,主要是注重存儲器利用率,其次才是存取的速度,故采取
的是離散存儲方式。但是對于對換區(qū),我們主要是注重文件的存取速度,其次才
是存儲器的利用率,故采用的是連續(xù)分配的方式。
15.為實(shí)現(xiàn)對換,系統(tǒng)應(yīng)具備哪幾方面的功能?
答:為了實(shí)現(xiàn)對換,系統(tǒng)必須實(shí)現(xiàn)的是:對對換空間的管理,進(jìn)程的換入和進(jìn)程
的換出。
16.在以進(jìn)程為單位進(jìn)行對換時(shí),每次是否都將整個進(jìn)程換出?為什么?
答:在選擇換出程序之后,在對進(jìn)程進(jìn)行換出時(shí),只能換出那些非共享的程序和
數(shù)據(jù)段,而對于那些共享的數(shù)據(jù)段,只要有其他進(jìn)程還需要,就不能換出。實(shí)質(zhì)
上,共享的程序和數(shù)據(jù)段不屬于哪個進(jìn)程。
17.基于離散分配時(shí)所用的基本單位不同,可將離散分配分為哪幾種?
答:分為分頁存儲管理方式,分段存儲管理方式,段頁式存儲管理方式。
18.什么是頁面?什么是物理塊?頁面的大小應(yīng)如何確定?
答:將進(jìn)程的邏輯地址空間分成若干等分,同時(shí)相應(yīng)的把內(nèi)存也分成若干等分,
前者產(chǎn)生的分組叫做頁面,后者產(chǎn)生的分組稱為物理塊或頁框。頁面的大小應(yīng)選
擇適中,應(yīng)該是2的器,通常為1K~8K,根據(jù)分配算法靈活變化。
19.什么是頁表?頁表的作用是什么?
答:分頁系統(tǒng)采用的是離散分配方式,所以,進(jìn)程的各個頁允許離散的存儲在內(nèi)
存的任意物理塊中,所以就建立一張映射表反應(yīng)他們的對應(yīng)關(guān)系,這張表就叫頁
表。頁表反應(yīng)的是進(jìn)程的邏輯地址和內(nèi)存的物理地址的映射。通過查找頁表可以
知道進(jìn)程的邏輯地址的相應(yīng)頁在內(nèi)存中放在何處。
20.為實(shí)現(xiàn)分頁存儲管理,需要哪些硬件支持?
答:需要頁表寄存器、物理地址寄存器和聯(lián)想寄存器(快表)。頁表寄存器和物理
地址寄存器是地址變換機(jī)構(gòu)所需的基本寄存器,聯(lián)想寄存器是優(yōu)化了地址轉(zhuǎn)換過
程后需要添加的一個寄存器。
21.在分頁系統(tǒng)中是如何實(shí)現(xiàn)地址變換的?
答:首先,進(jìn)程運(yùn)行時(shí)從進(jìn)程的PCB中把頁表始址和頁表長度放入頁表寄存器中,
當(dāng)進(jìn)程要訪問某個邏輯地址中的數(shù)據(jù)的時(shí)候,分頁地址變換機(jī)構(gòu)會自動的將有效
地址(邏輯地址)分為頁號和頁內(nèi)地址。講頁號和頁表寄存器中的頁表長度相比,
如果頁號比較大則說明訪問越界,拋出中斷。否則利用頁號、頁表始址和頁表項(xiàng)
長度計(jì)算出相應(yīng)的頁表中的位置(因?yàn)轫摫碓趦?nèi)存中,所以需要計(jì)算對應(yīng)的地址,
而不是想象中的直接匹配頁號,相當(dāng)于“起點(diǎn)+單位數(shù)*單位長度”),從而得到
物理塊號。把物理塊號和頁內(nèi)地址同時(shí)送入物理地址寄存器中,相結(jié)合得到物理
地址。
22.具有快表時(shí)是如何實(shí)現(xiàn)地址變換的?
答:首先,以前轉(zhuǎn)換過程中查找過的頁表項(xiàng)會被記錄在快表之中。在每次需要訪
問邏輯地址中的數(shù)據(jù)的時(shí)候,都會根據(jù)頁號先到快表中查看有沒有對應(yīng)的匹配
項(xiàng),如果有就直接得到相應(yīng)的物理塊號而不需要進(jìn)過利用始址、頁號和頁表項(xiàng)長
度計(jì)算后去內(nèi)存中查表。得到物理塊號后依然是送到物理地址寄存器中和頁內(nèi)地
址結(jié)合形成最后的物理地址。
23.較詳細(xì)的說明引入分段存儲管理是為了滿足用戶的哪幾方面的需要?
答:方便編程、信息共享、信息保護(hù)、動態(tài)增長和動態(tài)鏈接。
24.在具有快表的段頁式存儲管理方式中,如何實(shí)現(xiàn)地址變換?
答:與分頁系統(tǒng)中方式一樣,只是多了一個維度就是檢索段號以后才可以得到頁
表,再用段內(nèi)頁號和頁表進(jìn)行匹配,得到物理塊號,最后和頁內(nèi)地址結(jié)合得到物
理地址。
25.為什么說分段系統(tǒng)比分頁系統(tǒng)更易于實(shí)現(xiàn)信息的共享和保護(hù)?
答:信息的共享和保護(hù)都是以信息的邏輯單位為基礎(chǔ)的,所以,經(jīng)常是以一個段
為基本單位進(jìn)行保護(hù)和共享的。但是在分頁系統(tǒng)中,可能一個信息的邏輯單位有
很多頁,且一頁中可能含有不同程序段的數(shù)據(jù)或程序。
26.分頁和分段存儲管理有何區(qū)別?
答:頁是信息的物理單位,而段是信息的邏輯單位。頁的大小固定而且由系統(tǒng)決
定,段的大小不固定,通常由編譯程序劃分。分頁用戶程序地址空間是一維的,
分段用戶程序地址空間是二維的。
27.試全面比較連續(xù)分配和離散分配方式。
答:連續(xù)分配方式不需要額外的硬件支持,且實(shí)現(xiàn)算法相對簡單。但是在很多情
況下會造成內(nèi)存利用率低,系統(tǒng)吞吐量小和CPU利用率低等情況,雖然可以通過
緊湊等方式有所調(diào)節(jié),但是緊湊也會造成很大的系統(tǒng)開銷。離散分配方式需要額
外的硬件支持,且實(shí)現(xiàn)的算法相對比較復(fù)雜,但是出于用戶或操作系統(tǒng)的角度,
離散分配方式在系統(tǒng)性能上或?qū)崿F(xiàn)功能上明顯比連續(xù)分配更靈活。比如信息的保
護(hù)和共享等等方面,離散比連續(xù)更加容易實(shí)現(xiàn)。
第五章虛擬存儲器
1、常規(guī)存儲器管理方式具有哪兩大特征?它對系統(tǒng)性能有何影響?
答:一次性:進(jìn)程必須全部裝入內(nèi)存,對空間浪費(fèi)非常大;
駐留性:在程序運(yùn)行過程中,進(jìn)程全部駐留在內(nèi)存,暫時(shí)不用的數(shù)據(jù)無法釋
放。
2.什么是程序運(yùn)行時(shí)的時(shí)間局限性和空間局限性?
答:(1)時(shí)間局限性:如果程序中的某條指令一旦執(zhí)行,則不久的將來該指令
可能再次被執(zhí)行;如果某個存儲單元被訪問,則不久的將來該存儲單元可能再次
被訪問。產(chǎn)生時(shí)間局限性的典型原因是在程序中存在著大量的循環(huán)操作。(2)
空間局限性:一旦程序訪問了某個存儲單元,則在不久的將來,其附近的存儲單
元也最有可能被訪問,即程序在一段時(shí)間內(nèi)所訪問的地址,可能集中在一定的范
圍內(nèi)。產(chǎn)生空間局限性的典型原因是程序是順序執(zhí)行的。
3.虛擬存儲器有哪些特征?其中最本質(zhì)的特征是什么?
答:虛擬存儲器有多次性、對換性'虛擬性三大特征。最本質(zhì)的特征是虛擬性。
4.實(shí)現(xiàn)虛擬存儲器需要哪些硬件支持?
1.請求分頁(段)的頁(段)表機(jī)制
2.缺頁(段)中斷機(jī)構(gòu)
3.地址變換機(jī)構(gòu)
5.實(shí)現(xiàn)虛擬存儲器需要哪幾個關(guān)鍵技術(shù)?
答:(1)在分頁請求系統(tǒng)中是在分頁的基礎(chǔ)上,增加了請求調(diào)頁功能和頁面置
換功能所形成的頁式虛擬存儲系統(tǒng)。允許只裝入少數(shù)頁面的程序(及數(shù)據(jù)),便
啟動運(yùn)行。
(2)在請求分段系統(tǒng)中是在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段及分段置
換功能后形成的段式虛擬存儲系統(tǒng)。允許只裝入少數(shù)段(而非所有段)的用戶程
序和數(shù)據(jù),即可啟動運(yùn)行。
6.在請求分頁系統(tǒng)中,頁表應(yīng)包括哪些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?
答:頁表應(yīng)包括:頁號、物理塊號、狀態(tài)位P、訪問字段A、修改位M和外存地址。
狀態(tài)位P:指示該頁是否調(diào)入內(nèi)存,供程序訪問時(shí)參考;
訪問字段A:用于記錄本頁在一段時(shí)間內(nèi)被訪問的次數(shù),或最近已有多長時(shí)間未
被訪問,提供給置換算法選擇換出頁面時(shí)參考;
修改位M:表示該頁在調(diào)入內(nèi)存后是否被修改過;
外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調(diào)入該頁時(shí)使用。
7.試比較缺頁中斷機(jī)構(gòu)與一般的中斷,它們之間有何明顯的區(qū)別?
答:1.一般中斷只需要保護(hù)現(xiàn)場然后就直接跳到需及時(shí)處理的地方。
2.缺頁中斷除了保護(hù)現(xiàn)場之外,還要判斷內(nèi)存中是否有足夠的空間存儲所
需的頁或段,然后再把所需頁調(diào)進(jìn)來再使用。
8.請?jiān)敿?xì)說明請求分頁系統(tǒng)的地址變換過程。
答:請求分頁系統(tǒng)的地址變換過程如下:(圖略去)
1)取邏輯地址分解為頁號P和頁內(nèi)偏移w;
2)根據(jù)頁號查找頁表,獲得該頁的描述信息;
3)若該頁中斷位為1,產(chǎn)生缺頁中斷;
4)更新該頁的描述信息;
5)根據(jù)頁塊號和頁內(nèi)偏移w,計(jì)算物理地址。
9、何謂固定分配局部置換和可變分配全局置換的內(nèi)存分配策略?
(1)固定分配局部置換:為每個進(jìn)程分配一組固定數(shù)目的物理塊,在進(jìn)程運(yùn)行
期間不再改變;如果在進(jìn)程運(yùn)行的過程中發(fā)生缺頁,則只能從分配給該進(jìn)程的n
個頁面中選出一頁換出,然后調(diào)入新的一頁。
(2)可變分配全局置換:先為每個進(jìn)程分配一定數(shù)目的物理塊,在進(jìn)程運(yùn)行期
間塊數(shù)目可以適當(dāng)增加或減少;如果在進(jìn)程運(yùn)行的過程中發(fā)生缺頁,則從OS所保
留的空閑物理塊中取出一塊,分配給該進(jìn)程,或者在所有進(jìn)程的全部物理塊中,
按算法選出應(yīng)換出的頁面,將其換出,空出一塊來,調(diào)入新的一頁。
10.在請求分頁系統(tǒng)中,應(yīng)從何處將所需頁面調(diào)入內(nèi)存?
答:請求分頁系統(tǒng)中的缺頁從何處調(diào)入內(nèi)存分三種情況:
(1)系統(tǒng)擁有足夠?qū)Q區(qū)空間時(shí),可以全部從對換區(qū)調(diào)入所需頁面,提高調(diào)頁
速度。在進(jìn)程運(yùn)行前將與該進(jìn)程有關(guān)的文件從文件區(qū)拷貝到對換區(qū)。
(2)系統(tǒng)缺少足夠?qū)Q區(qū)空間時(shí),不被修改的文件直接從文件區(qū)調(diào)入;當(dāng)換出
這些頁面時(shí),未被修改的不必?fù)Q出,再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。對于可能
修改的,在換出時(shí)便調(diào)到對換區(qū),以后需要時(shí)再從對換區(qū)調(diào)入。
(3)UNIX方式。未運(yùn)行頁面從文件區(qū)調(diào)入。曾經(jīng)運(yùn)行過但被換出頁面,下次從
對換區(qū)調(diào)入。UNIX系統(tǒng)允許頁面共享,某進(jìn)程請求的頁面有可能已調(diào)入內(nèi)存,
直接使用不再調(diào)入。
11.試說明在請求分頁系統(tǒng)中頁面的調(diào)入過程。
答:每當(dāng)程序所要訪問的頁面未在內(nèi)存時(shí),便向CPU發(fā)出一缺頁中斷,中斷處
理程序首先保留CPU環(huán)境,分析中斷原因后轉(zhuǎn)入缺頁中斷處理程序。該程序通
過查找頁表,得到該頁在外存的物理塊后,如果此時(shí)內(nèi)存能容納新頁,則啟動磁
盤I/O將所缺之頁調(diào)入內(nèi)存,然后修改頁表。如果內(nèi)存已滿,則須先按照某種置
換算法從內(nèi)存中選出一頁準(zhǔn)備換出;如果該頁未被修改過,可不必將該頁寫回磁
盤;但如果此頁已被修改,則必須將它寫回磁盤,然后再把所缺的頁調(diào)入內(nèi)存,
并修改頁表中的相應(yīng)表項(xiàng),置其存在位為“1”,并將此頁表項(xiàng)寫入快表中。在
缺頁調(diào)入內(nèi)存后,利用修改后的頁表,去形成所要訪問數(shù)據(jù)的物理地址,再去訪
問內(nèi)存數(shù)據(jù)。整個頁面的調(diào)入過程對用戶是透明的。
12.在請求分頁系統(tǒng)中,常采用哪幾種頁面置換算法?
答:采用的頁面置換算法有:最佳置換算法和先進(jìn)先出置換算法,最近最久未使
用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩沖算法等。
13.在一個請求分頁系統(tǒng)中,采用FIFO頁面置換算法時(shí),假如一個作業(yè)的頁面走
向?yàn)?、3、2、1、4、3、5、4、3、2、1、5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別
為3和4時(shí),試計(jì)算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并比較所得結(jié)果。
答:M=3時(shí),采用FIFO頁面置換算法的缺頁次數(shù)為9次,缺頁率為75%;M=4時(shí),
采用FIFO頁面置換算法的缺頁次數(shù)為10次,缺頁率為83%。
由此可見,增加分配給作業(yè)的內(nèi)存塊數(shù),反而增加了缺頁次數(shù),提高了缺頁率,
這種現(xiàn)象被稱為是BeIady現(xiàn)象。
14.實(shí)現(xiàn)LRU算法所需的硬件支持是什么?
答:需要寄存器和棧等硬件支持。寄存器用于記錄某進(jìn)程在內(nèi)存中各頁的使用情
況,棧用于保存當(dāng)前使用的各個頁面的頁面號。
15.試說明改進(jìn)型Clock置換算法的基本原理.
答:因?yàn)樾薷倪^的頁面在換出時(shí)付出的開銷比未被修改過的頁面大,在改進(jìn)型
Clock算法中,既考慮頁面的使用情況,還要增加置換代價(jià)的因素;在選擇頁面
作為淘汰頁面時(shí),把同時(shí)滿足未使用過和未被修改作為首選淘汰頁面。
16.影響頁面換進(jìn)換出效率的若干因素是什么?
答:1)頁面置換算法。(2)寫回磁盤的頻率。(3)讀入內(nèi)存的頻率。
17.頁面緩沖算法的主要特點(diǎn)是什么?它是如何降低頁面換進(jìn)換出的頻率的?
答:(1)頁面緩沖算法的特點(diǎn)
①顯著地降低了頁面換進(jìn)、換出的頻率,使磁盤I/O的操作次數(shù)大為減
少,因而減少了頁面換進(jìn)、換出的開銷;
②正是由于換入換出的開銷大幅度減小,才能使其采用一種較簡單的置
換策略,如先進(jìn)先出(FIFO)算法,它不需要特殊硬件的支持,實(shí)現(xiàn)起來
非常簡單。
(2)降低頁面換進(jìn)、換出的頻率的方法
①空閑頁面鏈表:實(shí)際上該鏈表是一個空閑物理塊鏈表,是系統(tǒng)掌握的空閑物理
塊,用于分配給頻繁發(fā)生缺頁的進(jìn)程,以降低該進(jìn)程的缺頁率。當(dāng)這樣的進(jìn)程需
要讀入一個頁面時(shí),便可利用空閑物理塊鏈表中的第一個物理塊來裝入該頁。當(dāng)
有一個未被修改的頁要換出時(shí),實(shí)際上并不將它換出到外存,而是把它們所在的
物理塊掛在空閑鏈表的末尾。
②修改頁面鏈表:它是由己修改的頁面所形成的鏈表。設(shè)置該鏈表的目的是為了
減少已修改頁面換出的次數(shù)。當(dāng)進(jìn)程需要將一個已修改的頁面換出時(shí),系統(tǒng)并不
立即把它換出到外存上,而是將它所在的物理塊掛在修改頁面鏈表的末尾。這樣
做的目的是:降低將已修該頁面寫回磁盤的頻率,降低將磁盤內(nèi)容讀入內(nèi)存的頻
率。
18.什么是抖動?產(chǎn)生抖動的原因是什么?
18、在請求分頁系統(tǒng)中,產(chǎn)生“抖動”的原因是什么?
在請求分頁式存儲管理中,頁在內(nèi)存與外存之間頻繁調(diào)度,以至于調(diào)度頁面所需
時(shí)間比進(jìn)程實(shí)際運(yùn)行的時(shí)間還多,此時(shí)系統(tǒng)性能急劇下降。這種現(xiàn)象稱為顛簸或
抖動。原因:問題產(chǎn)生的原因:
(1)分配給進(jìn)程的物理塊數(shù)太少,不能滿足進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6 徽 章(教學(xué)設(shè)計(jì))蘇教版二年級下冊綜合實(shí)踐活動
- 大型公共建筑合同投標(biāo)保函范本
- 分期房產(chǎn)合同范本
- 13《 畫楊桃》教學(xué)設(shè)計(jì)2023-2024學(xué)年統(tǒng)編版語文二年級下冊
- 同城小店轉(zhuǎn)讓合同范本
- 企業(yè)模具合同范本
- 5這些事我來做 第一課時(shí)(教學(xué)設(shè)計(jì))-部編版道德與法治四年級上冊
- 耐火原料采購合同范本
- 8《網(wǎng)絡(luò)新世界》(第一課時(shí))教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治四年級上冊統(tǒng)編版
- 勞務(wù)合同范本 貨運(yùn)
- 2023年云南公務(wù)員錄用考試《行測》題
- 電子商務(wù)運(yùn)營(第二版) 課件 項(xiàng)目1 認(rèn)識電商運(yùn)營
- 領(lǐng)導(dǎo)干部離任交接表
- 2024年無人駕駛環(huán)衛(wèi)行業(yè)研究報(bào)告-通渠有道
- 人教版(2024新版)七年級上冊英語各單元重點(diǎn)語法知識點(diǎn)講義
- 湘教版三年級美術(shù)下冊教案全冊
- 重癥監(jiān)護(hù)-ICU的設(shè)置、管理與常用監(jiān)測技術(shù)
- 法律顧問服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 新時(shí)代勞動教育教程(高校勞動教育課程)全套教學(xué)課件
- St完整版本.-Mary's-醫(yī)院睡眠問卷
- 《化妝品穩(wěn)定性試驗(yàn)規(guī)范》
評論
0/150
提交評論