考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-140-278_第1頁
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-140-278_第2頁
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-140-278_第3頁
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-140-278_第4頁
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-140-278_第5頁
已閱讀5頁,還剩246頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

假設(shè)訪問一次內(nèi)存的時(shí)間為t,在基本分頁存儲管理方式中,有效訪問時(shí)間分為第一次訪問內(nèi)存時(shí)間(即查找頁表對應(yīng)的頁表項(xiàng)所耗費(fèi)的時(shí)間t)與第二次訪問內(nèi)存時(shí)間(即將頁表項(xiàng)(3)引入快表管理的有效時(shí)間4.兩級和多級頁表(1)兩級頁表(Two-LevelPageTable)兩級頁表的邏輯地址結(jié)構(gòu)如圖4-17所示。圖4-17兩級頁表結(jié)構(gòu)外層頁表的始址。圖4-18顯示了兩級頁表的地址變換機(jī)構(gòu)。圖4-18具有兩級頁表的地址變換機(jī)構(gòu)(2)多級頁表對于32位的機(jī)器,采用兩級頁表結(jié)構(gòu)是合適的,但對于64位的機(jī)器,可利用三級頁表結(jié)構(gòu)5.反置頁表(InvertedPageTable)(1)反置頁表的引入(2)地址變換與之匹配的頁表項(xiàng),則該頁表項(xiàng)(中)的序號i便是該頁所在的物理塊號,可用該塊號與頁1.分段存儲管理方式的引入(1)方便編程通常,用戶把自己的作業(yè)按照邏輯關(guān)系劃分為若干個(gè)段,每個(gè)段都從的名字和長度。因此,程序員們都迫切地需要訪問的邏輯地址是由段名(段號)和段內(nèi)偏移量(段內(nèi)地址)決定的,這不僅可以方便程序員編程,也可使程序非常直觀,更具可讀性。(2)信息共享(3)信息保護(hù)(4)動(dòng)態(tài)增長(5)動(dòng)態(tài)鏈接要調(diào)用某個(gè)目標(biāo)程序時(shí),才將該段(目標(biāo)程序)調(diào)入內(nèi)存并進(jìn)行鏈接??梢姡瑒?dòng)態(tài)鏈接要求的是以目標(biāo)程序(即段)作為鏈接的基本單位,因此,分段存儲管理方式非常適合于動(dòng)態(tài)鏈2.分段系統(tǒng)的基本原理(1)分段邏輯地址由段號(段名)和段內(nèi)地址所組成。分段地址中的地址具有如下結(jié)構(gòu):(2)段表長度,如圖4-19所示。段表可以存放在一組寄存器中,這樣有利于提高地址轉(zhuǎn)換速度,但圖4-19利用段表實(shí)現(xiàn)地址映射(3)地址變換機(jī)構(gòu)①在進(jìn)行地址變換時(shí),系統(tǒng)將邏輯地址中的段號與段表長度TL進(jìn)行比較b.若未越界,則根據(jù)段表的始址和該段的段號,計(jì)算出該段對應(yīng)段表項(xiàng)的位置,從中讀出②檢查段內(nèi)地址d是否超過該段的段長SLa.若超過,即d>SL,同樣發(fā)出越界中斷信號。圖4-20分段系統(tǒng)的地址變換過程(4)分頁和分段的主要區(qū)別a.分頁存儲管理方式b.分段存儲管理方式a.分頁存儲管理方式b.分段存儲管理方式a.分頁存儲管理方式b.分段存儲管理方式3.信息共享(1)分頁系統(tǒng)中對程序和數(shù)據(jù)的共享(2)分段系統(tǒng)中程序和數(shù)據(jù)的共享4.段頁式存儲管理方式(1)分頁、分段式存儲管理方式的優(yōu)點(diǎn)(2)段頁式存儲管理方式概述①定義②優(yōu)點(diǎn)b.能很好地解決內(nèi)存的外部碎片問題。(3)段頁式存儲管理方式的基本原理4-23(a)顯示了一個(gè)作業(yè)地址空間的結(jié)構(gòu)。該作業(yè)有三個(gè)段:主程序段、子程序段和數(shù)據(jù)段;頁面大小為4KB。在段頁式系統(tǒng)中,其地址結(jié)構(gòu)由段號、段內(nèi)頁號及頁內(nèi)地址三部分所組成,如圖4-23(b)所示。圖4-23作業(yè)地址空間和地址結(jié)構(gòu)在段頁式系統(tǒng)中,為了實(shí)現(xiàn)從邏輯地址到物理地址的變換,系統(tǒng)中需要同時(shí)配置段表和頁表。段表的內(nèi)容與分段系統(tǒng)略有不同,它不再是內(nèi)存始址和段長,而是頁表始址和頁表長度。圖4-24示出了利用段表和頁表進(jìn)行從用戶地址空間到物理(內(nèi)存)空問的映射。操作系統(tǒng)操作系統(tǒng)11I頁號狀態(tài)存儲塊#主存段表大小段表始址11101段號0123401234圖4-24利用段表和頁表實(shí)現(xiàn)地址映射(4)地址變換過程①地址變換機(jī)構(gòu)a.進(jìn)行地址變換時(shí),首先利用段號S,將它與段長TL進(jìn)行比較。b.若S<TL,表示未越界,于是利用段表始址和段號來求出該段所對應(yīng)的段表項(xiàng)在段表中的位置,從中得到該段的頁表始址.c.并利用邏輯地址中的段內(nèi)頁號P來獲得對應(yīng)頁的頁表項(xiàng)位置,從中讀出該頁所在的物理塊號b,再利用塊號b和頁內(nèi)地址來構(gòu)成物理地址。圖4-25示出了段頁式系統(tǒng)中的地址變換機(jī)構(gòu)。圖4-25段頁式系統(tǒng)中的地址變換機(jī)構(gòu)②內(nèi)存訪問過程在段頁式系統(tǒng)中,為了獲得一條指令或數(shù)據(jù),須三次訪問內(nèi)存:a.訪問內(nèi)存中的段表,從中取得頁表始址;b.訪問內(nèi)存中的頁表,從中取出該頁所在的物理塊號,并將該塊號與頁內(nèi)地址一起形成指令或數(shù)據(jù)的物理地址;c.從第二次訪問所得的地址中取出指令或數(shù)據(jù)。1.為什么要配置層次式存儲器?(1)設(shè)置多個(gè)存儲器可以使存儲器兩端的硬件能并行工作;(2)采用多級存儲系統(tǒng),特別是Cache技術(shù),是減輕存儲器帶寬對系統(tǒng)性能影響的最佳結(jié)構(gòu)方案;(3)在微處理機(jī)內(nèi)部設(shè)置各種緩沖存儲器,減輕對存儲器存取的壓力;(4)增加CPU中寄存器數(shù)量能大大緩解對存儲器的壓力。2.可采用哪幾種方武將程序裝入內(nèi)存?它們分別適用于何種場合?(1)絕對裝入方式適用于單道程序環(huán)境,而且必須事先已知用戶程序(進(jìn)程)駐留在內(nèi)存開始位置R,則編譯程序所產(chǎn)生的目標(biāo)模塊(即裝入模塊)便從R處開始向上擴(kuò)展;(2)可重定位裝入方式(3)動(dòng)態(tài)運(yùn)行時(shí)裝入方式3.何謂靜態(tài)鏈接?靜態(tài)鏈接時(shí)需要解決兩個(gè)什么問題?答:(1)靜態(tài)鏈接的定義(2)靜態(tài)鏈接時(shí)需要解決的兩個(gè)問題4.何謂裝入時(shí)動(dòng)態(tài)鏈接?裝入時(shí)動(dòng)態(tài)鏈接方式有何優(yōu)點(diǎn)?答:(1)裝入時(shí)動(dòng)態(tài)鏈接的定義裝入時(shí)動(dòng)態(tài)鏈接是指用戶源程序經(jīng)編譯后所得的目標(biāo)模塊,是在裝入內(nèi)存時(shí)邊裝入邊鏈接的,即在裝入一個(gè)目標(biāo)模塊時(shí),若發(fā)生一個(gè)外部模塊調(diào)用事件,將引起裝入程序去找出相應(yīng)的外部目標(biāo)模塊,并將它裝入內(nèi)存。(2)裝入時(shí)動(dòng)態(tài)鏈接方式的優(yōu)點(diǎn)①便于修改和更新采用動(dòng)態(tài)鏈接方式,由于各目標(biāo)模塊是分開存放的,所以要修改或更新各目標(biāo)模塊是件非常容易的事。②便于實(shí)現(xiàn)對目標(biāo)模塊的共享采用裝入時(shí)動(dòng)態(tài)鏈接方式時(shí),OS就很容易將一個(gè)目標(biāo)模塊鏈接到幾個(gè)應(yīng)用模塊上,實(shí)現(xiàn)多個(gè)應(yīng)用程序?qū)υ撃K的共享。5何謂運(yùn)行時(shí)動(dòng)態(tài)鏈接?運(yùn)行時(shí)動(dòng)態(tài)鏈接方式有何優(yōu)點(diǎn)?答:(1)運(yùn)行時(shí)動(dòng)態(tài)鏈接的定義運(yùn)行時(shí)動(dòng)態(tài)鏈接是對裝入時(shí)動(dòng)態(tài)鏈接方式的一種改進(jìn),是指對某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該目標(biāo)模塊時(shí),才對它進(jìn)行鏈接的鏈接方式。對某些模塊的鏈接推遲到程序執(zhí)行時(shí)才進(jìn)行鏈接,亦即,在執(zhí)行過程中,當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存時(shí),立即由OS去找到該模塊并將之裝入內(nèi)存,把它鏈接到調(diào)用者模塊上。凡在執(zhí)行過程中未被用到的目標(biāo)模塊,都不會被調(diào)入內(nèi)存和被鏈接到裝入模塊上。(2)運(yùn)行時(shí)動(dòng)態(tài)鏈接的優(yōu)點(diǎn)①加快程序的裝入過程;②節(jié)省大量的內(nèi)存空間。6.在動(dòng)態(tài)分區(qū)分配方式中,應(yīng)如何將各空閑分區(qū)鏈接成空閑分區(qū)鏈?答:動(dòng)態(tài)分區(qū)分配是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為之分配內(nèi)存空間。為了實(shí)現(xiàn)對空閑分區(qū)的分配和鏈接,在每個(gè)分區(qū)的起始部分,設(shè)置一些用于控制分區(qū)分配的信息,以及用于鏈接各分區(qū)所用的前向指針;在分區(qū)尾部則設(shè)置一后向指針,通過前、后向鏈接指針,可將所有的空閑分區(qū)鏈接成一個(gè)雙向鏈。當(dāng)分區(qū)分配出去后,把狀態(tài)位由“0”改為“1”,此時(shí)前后向指針已無意義。7.為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?答:(1)引入動(dòng)態(tài)重定位的原因在連續(xù)分配方式中,必須把一個(gè)系統(tǒng)或用戶程序裝入一連續(xù)的內(nèi)存空間。如果在系統(tǒng)中只有若干個(gè)小的分區(qū),即使它們?nèi)萘康目偤痛笥谝b入的程序,但由于這些分區(qū)不相鄰接,也無法把該程序裝入內(nèi)存。若想把程序裝入,可采用的一種方法是:將內(nèi)存中的所有作業(yè)進(jìn)行移動(dòng),使它們?nèi)枷噜徑?,這樣,即可把原來分散的多個(gè)小分區(qū)拼接成一個(gè)大分區(qū),這時(shí)就可把作業(yè)裝入該區(qū)。這種通過移動(dòng)內(nèi)存中作業(yè)的位置,以把原來多個(gè)分散的小分區(qū)拼接成一個(gè)了變化,此時(shí)若不對程序和數(shù)據(jù)的地址加以修改(變換),則程序必將無法執(zhí)行。為此,在每次“緊湊”后,都必須對移動(dòng)了的程序或數(shù)據(jù)進(jìn)行重定位。(2)引入動(dòng)態(tài)重定位的實(shí)現(xiàn)在動(dòng)態(tài)運(yùn)行時(shí)裝入的方式中,作業(yè)裝入內(nèi)存后的所有地址都仍然是相對地址,將相對地址轉(zhuǎn)換為物理地址的工作,被推遲到程序指令要真正執(zhí)行時(shí)進(jìn)行。為使地址的轉(zhuǎn)換不會影響到指令的執(zhí)行速度,必須有硬件地址變換機(jī)構(gòu)的支持,即須在系統(tǒng)中增設(shè)一個(gè)重定位寄存器,用它來存放程序(數(shù)據(jù))在內(nèi)存中的起始地址。程序在執(zhí)行時(shí),真正訪問的內(nèi)存地址是相對地址與重定位寄存器中的地址相加而形成的。當(dāng)系統(tǒng)對內(nèi)存進(jìn)行了“緊湊”而使若干程序從內(nèi)存的某處移至另一處時(shí),不需對程序做任何修改,只要用該程序在內(nèi)存的新起始地址去置換原來的起始地址即可。8.什么是基于順序搜索的動(dòng)態(tài)分區(qū)分配算法?它可分為哪幾種?為了實(shí)現(xiàn)動(dòng)態(tài)分區(qū)分配,通常是將系統(tǒng)中的空閑分區(qū)鏈接成一個(gè)鏈。所謂順序搜索,是指依次搜索空閑分區(qū)鏈上的空閑分區(qū),去尋找一個(gè)其大小能滿足要求的分區(qū)?;陧樞蛩阉鞯膭?dòng)態(tài)分區(qū)分配算法有如下四種:①首次適應(yīng)算法;②循環(huán)首次適應(yīng)算法;③最佳適應(yīng)算法;④最壞適應(yīng)算法。9.在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情況?答:(1)進(jìn)程運(yùn)行完畢釋放內(nèi)存時(shí),系統(tǒng)根據(jù)回收區(qū)的首址,從空閑區(qū)鏈(表)中找到相應(yīng)的插入點(diǎn),此時(shí)可能出現(xiàn)以下四種情況:①回收區(qū)與插入點(diǎn)的前一個(gè)空閑分區(qū)F?相鄰接。②回收分區(qū)與插入點(diǎn)的后一空閑分區(qū)F?相鄰接。③回收區(qū)同時(shí)與插入點(diǎn)的前、后兩個(gè)分區(qū)鄰接。④回收區(qū)既不與F?鄰接,又不與F?鄰接。(2)針對上述四種情況對應(yīng)的處理方法如下:①將回收區(qū)與插入點(diǎn)的前一分區(qū)合并,不必為回收分區(qū)分配新表項(xiàng),而只需修改其前一分區(qū)F?的大?。虎趯煞謪^(qū)合并,形成新的空閑分區(qū),但用回收區(qū)的首址作為新空閑區(qū)的首址,大小為兩者③將三個(gè)分區(qū)合并,使用F?的表項(xiàng)和F?的首址,取消F?的表項(xiàng),大小為三者之和;④為回收區(qū)單獨(dú)建立一新表項(xiàng),填寫回收區(qū)的首址和大小,并根據(jù)其首址插入到空閑鏈中的適當(dāng)位置。10.什么是基于索引搜索的動(dòng)態(tài)分區(qū)分配算法?它可分為哪幾種?為了實(shí)現(xiàn)動(dòng)態(tài)分區(qū)分配,通常是將系統(tǒng)中的空閑分區(qū)鏈接成一個(gè)鏈。所謂順序搜索,是指依次搜索空閑分區(qū)鏈上的空閑分區(qū),其尋找一個(gè)其大小能滿足要求的分區(qū)?;谒饕阉鞯膭?dòng)態(tài)分區(qū)分配算法有如下四種:①首次適應(yīng)算法;②循環(huán)首次適應(yīng)算法;③最佳適應(yīng)算法;④最壞適應(yīng)算法。11.令buddyk(x)為大小為2k、地址為X的塊的伙伴系統(tǒng)地址,試寫出buddyk(x)的通用表達(dá)式。12.分區(qū)存儲管理中常用哪些分配策略?比較它們的優(yōu)缺點(diǎn)。答:(1)分區(qū)存儲管理中常用的分配策略分區(qū)存儲管理中的常用分配策略有首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法和快速適應(yīng)算法5種(2)5種常用分配策略的優(yōu)缺點(diǎn)b.缺點(diǎn)b.缺點(diǎn)b.缺點(diǎn)b.缺點(diǎn)b.缺點(diǎn)13.為什么要引入對換?對換可分為哪幾種類型?答:(1)引入對換的原因存空間,甚至有時(shí)可能出現(xiàn)在內(nèi)存中所有進(jìn)程都被阻塞而迫使CPU停止下來等待的情況。(2)對換類型的分類14.對文件區(qū)管理的目標(biāo)和對對換空間管理的目標(biāo)有何不同?答:(1)對文件區(qū)管理的主要目標(biāo)(2)對對換空間管理的主要目標(biāo)15.為實(shí)現(xiàn)對換,系統(tǒng)應(yīng)具備哪幾方面的功能?(1)對換空間的管理在具有對換功能的OS中,通常把外存分為文件區(qū)和對換區(qū)。前者用于存放文件,后者用于(2)進(jìn)程的換出(3)進(jìn)程的換入最久(換出到磁盤上)的進(jìn)程作為換入進(jìn)程,將之換入,直至已無可換入的進(jìn)程或無可換出16.在以進(jìn)程為單位進(jìn)行對換時(shí),每次是否都將整個(gè)進(jìn)程換出?為什么?答:(1)在以進(jìn)程為單位進(jìn)行對換時(shí),并非每次都將整個(gè)進(jìn)程換出。(2)在以進(jìn)程為單位進(jìn)行對換式,并非每次都將整個(gè)進(jìn)程換出的原因17.基于離散分配時(shí)所用的基本單位不同,可將離散分配分為哪幾種?(1)分頁存儲管理方式(2)分段存儲管理方式(3)段頁式存儲管理方式。18.什么是頁面?什么是物理塊?頁面的大小應(yīng)如何確定?(2)物理塊(3)頁面大小擇適中,且頁面大小應(yīng)是2的冪,通常為1KB-8KB。19.什么是頁表?頁表的作用是什么?答:(1)頁表的定義(2)頁表的作用20.為實(shí)現(xiàn)分頁存儲管理,需要哪些硬件支持?(1)頁表機(jī)制(2)地址變換機(jī)構(gòu)21.在分頁系統(tǒng)中是如何實(shí)現(xiàn)地址變換的?答:(1)當(dāng)進(jìn)程要訪問某個(gè)邏輯地址中的數(shù)據(jù)時(shí),分頁地址變換機(jī)構(gòu)會自動(dòng)地將有效地址(相對地址)分為頁號和頁內(nèi)地址兩部分,再以頁號為索引去檢索頁表。(2)查找操作由硬件執(zhí)行。在執(zhí)行檢索之前,先將頁號與頁表長度進(jìn)行比較,如果頁號大(3)將有效地址寄存器中的頁內(nèi)地址送入物理地址寄存器的塊內(nèi)地址字段中。這樣便完成22.具有快表時(shí)是如何實(shí)現(xiàn)地址變換的?(2)直接從快表中讀出該頁所對應(yīng)的物理塊號,并送到物理地址寄存器中。如在快表中未(3)將此頁表項(xiàng)存入快表的一個(gè)寄存器單元中,亦即,重新修改快表。但如果聯(lián)想寄存器23.較詳細(xì)地說明引入分段存儲管理是為了滿足用戶哪幾方面的需要。(1)方便編程用戶把自己的作業(yè)按照邏輯關(guān)系劃分為若干個(gè)段,每個(gè)段都從0開始編址,并有自己的名字和長度。因此,希望訪問的邏輯地址是由段名(段號)和段內(nèi)偏移量(段內(nèi)地址)決定的。(2)信息共享(3)信息保護(hù)(4)動(dòng)態(tài)增長(5)動(dòng)態(tài)鏈接的目標(biāo)程序裝入內(nèi)存并啟動(dòng)運(yùn)行,當(dāng)運(yùn)行過程中又需要調(diào)用某段時(shí),才將該段(目標(biāo)程序)24.在具有快表的段頁式存儲管理方式中,如何實(shí)現(xiàn)地址變換?(2)直接從快表中讀出該頁所對應(yīng)的物理塊號,并送到物理地址寄存器中。如在塊表中未(3)將此頁表項(xiàng)存入快表的一個(gè)寄存器單元中,亦即,重新修改快表。但如果聯(lián)想寄存器已滿,則OS必須找到一個(gè)老的且已被認(rèn)為不再需要的頁表項(xiàng),將它換出。25.為什么說分段系統(tǒng)比分頁系統(tǒng)更易于實(shí)現(xiàn)信息的共享和保護(hù)?(1)分頁系統(tǒng)中的每個(gè)頁面是分散存儲的,為了實(shí)現(xiàn)信息共享和保護(hù),頁面之間需要一一26.分頁和分段存儲管理有何區(qū)別?(1)頁是信息的物理單位,分頁是為實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存(2)頁的大小固定且由系統(tǒng)決定,由系統(tǒng)把邏輯地址劃分為頁號和頁內(nèi)地址兩部分,是機(jī)27.試全面比較連續(xù)分配和離散分配方式。答:(1)連續(xù)分配方式定分區(qū)和動(dòng)態(tài)分區(qū)兩種。連續(xù)分配方式會形成許多碎片,雖然可以通過緊湊方式將許多碎片拼接成可用的大塊空間,但須為之付出很大開銷。(2)離散分配方式離散分配方式分為分頁、分段和段頁式存儲管理。分頁式存儲管理旨在提高內(nèi)存利用率,分段式存儲管理旨在滿足用戶(程序員)的需要,段頁式存儲管理則將兩者結(jié)合起來,具有分段系統(tǒng)便于實(shí)現(xiàn)、可共享、易于保護(hù)和動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像分頁系統(tǒng)那樣很好地解決外部碎片及可離散地為各段分配內(nèi)存等問題,是比較有效的存儲管理方式。4.3考研真題與典型題詳解一、選擇題1.存儲管理的目的是()。A.方便用戶B.提高內(nèi)存利用率C.方便用戶和提高內(nèi)存利用率D.增加內(nèi)存實(shí)際容量【答案】C查看答案【解析】存儲管理的目的有兩個(gè):一是方便用戶,二是提高內(nèi)存利用率。2.可變式分區(qū)又稱為動(dòng)態(tài)分區(qū),它是在系統(tǒng)運(yùn)行過程中()時(shí)動(dòng)態(tài)建立的。A.在作業(yè)裝入B.在作業(yè)創(chuàng)建C.在作業(yè)完成D.在作業(yè)未裝入【答案】A查看答案【解析】動(dòng)態(tài)分區(qū)分配是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為之分配內(nèi)存空間。為把一個(gè)新作業(yè)裝入內(nèi)存,須按照一定的分配算法,從空閑分區(qū)表或空閑分區(qū)鏈中選出一分區(qū)分配給該作業(yè),故它是在作業(yè)裝入時(shí)動(dòng)態(tài)建立的。3.計(jì)算機(jī)系統(tǒng)的二級存儲包括()。A.CPU寄存器和主存緩沖區(qū)B.超高速緩存和內(nèi)存儲器D.主存儲器和輔助存儲器【答案】D查看答案【解析】由于主存儲器能被處理器直接訪問,而輔助存儲器則不能,因此,在進(jìn)程運(yùn)行時(shí),必須把它的程序和數(shù)據(jù)放到主存儲器中,考慮到存儲器的空間不足,一般計(jì)算機(jī)系統(tǒng)都采用二級存儲的方法,利用輔助存儲器存放準(zhǔn)備運(yùn)行的程序和數(shù)據(jù),當(dāng)需要時(shí)或主存空間允許時(shí),隨時(shí)將它們讀入主存儲器。4.操作系統(tǒng)實(shí)現(xiàn)()存儲管理的代價(jià)最小。[燕山大學(xué)2006研]【答案】A查看答案【解析】實(shí)現(xiàn)分頁、分段和段頁式存儲管理都需要特殊的硬件的支持,因而代價(jià)比較高。分區(qū)存儲管理是滿足多道程序運(yùn)行的最簡單的存儲管理方案,這種管理方法特別適用于小型機(jī)、微型機(jī)上的多道程序系統(tǒng)。5.分區(qū)的保護(hù)措施主要是()。[電子科技大學(xué)2005研]A.界地址保護(hù)B.程序狀態(tài)保護(hù)C.用戶權(quán)限保護(hù)D.存取控制表保護(hù)【答案】A查看答案【解析】目前分區(qū)的保護(hù)措施常用的是界限寄存器保護(hù),也就是界地址保護(hù)。6.在存儲管理中采用對換和覆蓋,目的是()。[上海交通大學(xué)2005研]A.物理上擴(kuò)充B.實(shí)現(xiàn)主存共享C.節(jié)省存儲空間D.提高CPU利用率7.最容易造成很多小碎片的可變分區(qū)分配算法是()。[南昌大學(xué)2005研]A.首次適應(yīng)算法B.最佳適應(yīng)算法C.最壞適應(yīng)算法D.以上算法都不會【答案】B查看答案8.下面有關(guān)分區(qū)存儲管理的正確說法是()。[西安電子科技大學(xué)2006研]A.一個(gè)分區(qū)的存儲管理又稱單連續(xù)存儲管理B.多分區(qū)存儲管理可以為固定分區(qū)方式C.固定分區(qū)管理采用靜態(tài)重定位方法把作業(yè)裝入到分區(qū)中D.可變分區(qū)管理采用動(dòng)態(tài)重定位需要硬件支持,即下限寄存器和上限寄存器E.多分區(qū)存儲管理可以為可變分區(qū)方式【答案】A查看答案9.設(shè)主存的分配情況如下圖所示。當(dāng)有一個(gè)進(jìn)程需申請45KB的存儲區(qū)時(shí),若采用最佳適應(yīng)法,則所分到的分區(qū)首地址為()。[北京理工大學(xué)2005研]【解析】按照最佳適應(yīng)法的要求,第三塊(大小60KB)區(qū)域是既能滿足要求,又是最小的10.采用段式存儲管理時(shí),一個(gè)程序如何分段是在()決定的。[武漢理工大學(xué)2005研]A.分配主存時(shí)B.用戶編程時(shí)C.裝作業(yè)時(shí)D.程序執(zhí)行時(shí)【答案】B查看答案二、填空題1.進(jìn)程的目標(biāo)代碼在虛擬存儲器中不考慮和,只規(guī)定-0【答案】物理存儲器大??;信息存放的實(shí)際位置;每個(gè)進(jìn)程中相互關(guān)聯(lián)的信息的相對位置?!窘馕觥吭谔摂M存儲器中,由于具備了對換性,可以允許作業(yè)在其運(yùn)行過程中換出、換入,2.請求分頁系統(tǒng)中一個(gè)進(jìn)程訪問頁面的次序?yàn)椋?、2、1、3、0、2、4、0、2、1、3、4,利用FIFO算法,當(dāng)進(jìn)程使用3個(gè)頁框時(shí)缺頁次,使用4個(gè)頁框時(shí)缺頁_次(缺頁次數(shù)含初始調(diào)入次數(shù))?!窘馕觥縁IFO算法,如表4-1所示為FIFO(3頁框)算法的缺頁情況。表4-1FIFO(3頁框)算法缺頁情況頁上表的頁面調(diào)入情況,發(fā)生了缺頁中斷9次。1234缺031203031203120312033204334121上表的頁面調(diào)入情況,發(fā)生了缺頁中斷10次。3.提高內(nèi)存利用率主要是通過功能實(shí)現(xiàn)的,的基本任務(wù)是為每道程序做-0使每道程序能在不受干擾的環(huán)境下運(yùn)行,主要是通過功能實(shí)現(xiàn)的。[首都師范大學(xué)2005【答案】對換,內(nèi)存擴(kuò)充:允許用戶程序的地址空間大于內(nèi)存空間:內(nèi)存保護(hù)。查看答案【解析】綜合考查存儲管理的相關(guān)知識:裸機(jī)地址到物理地址的變換、內(nèi)存到外存的對換、允許用戶程序的地址空間大于內(nèi)存空間、內(nèi)存分配、內(nèi)存保護(hù)、地址映射、對換、內(nèi)存擴(kuò)充4.所謂虛擬存儲器是指具有和_功能,能從邏輯上對內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲器系統(tǒng)。[四川大學(xué)2005研]【答案】請求;置換。查看答案【解析】考查虛擬存儲器的定義。5.每個(gè)進(jìn)程都擁有自己的虛擬存儲器,且虛擬存儲器的容量是受計(jì)算機(jī)的和確定。[南昌大學(xué)2006研]【答案】內(nèi)存容量;外存容量。查看答案【解析】考查虛擬存儲器實(shí)際容量。虛擬存儲器的實(shí)際容量是內(nèi)存和外存之和,最大容量則是由計(jì)算機(jī)地址結(jié)構(gòu)決定的。例如,地址總線是32位的,則虛存的最大容量為232=4GB。6.僅把作業(yè)的一部分裝入內(nèi)存便可運(yùn)行作業(yè)的存儲系統(tǒng)稱為,其邏輯容量由決定,運(yùn)行速度接近速度。[山東大學(xué)2006研]【答案】虛擬存儲系統(tǒng);內(nèi)存和外存之和;內(nèi)存。查看答案【解析】考查虛擬存儲器的概念和特點(diǎn)。所謂虛擬存儲器,是指具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量加以擴(kuò)充的一種存儲器系統(tǒng)。其邏輯容量由內(nèi)存和外存之和決定,體現(xiàn)了其虛擬性的特征,運(yùn)行速度接近內(nèi)存速度。7.為了有效地管理請求頁式虛存系統(tǒng),OS面臨三個(gè)基本問題,它們是和 。[北京工業(yè)大學(xué)2005研1【答案】缺頁中斷;頁面替換;地址轉(zhuǎn)換。查看答案【解析】考查OS對請求頁式虛存系統(tǒng)的支持。操作系統(tǒng)面臨以下問題,缺頁時(shí)怎么辦,內(nèi)存中沒有塊怎么辦,如何實(shí)現(xiàn)地址映射。因此也決定了分頁請求系統(tǒng)需要以下硬件的支持:①請求分頁的頁表機(jī)制,它是在純分頁的頁表機(jī)制上增加若干項(xiàng)而形成的,作為請求分頁的數(shù)據(jù)結(jié)構(gòu);②缺頁中斷機(jī)構(gòu),即每當(dāng)用戶程序要訪問的頁面尚未調(diào)入內(nèi)存時(shí),便產(chǎn)生一缺頁中斷,以請求OS將所缺的頁調(diào)入內(nèi)存;③地址變換機(jī)構(gòu),它同樣是在純分頁地址變換機(jī)構(gòu)的基礎(chǔ)上發(fā)展形成的。8.分頁式虛擬存儲空間中,當(dāng)發(fā)現(xiàn)某頁不在的時(shí)候,將由_產(chǎn)生缺頁中斷,當(dāng)沒有空閑主存塊時(shí),需要用調(diào)度算法進(jìn)行頁面_,如果這時(shí)沒有選擇好一種好的調(diào)度算法,就會產(chǎn)生現(xiàn)象。[南昌大學(xué)2006研]【答案】內(nèi)存;硬件;替換;抖動(dòng)。查看答案【解析】考查分頁式虛擬存儲系統(tǒng)下的缺頁中斷機(jī)制。分頁請求系統(tǒng)具有的缺頁中斷機(jī)構(gòu),可當(dāng)用戶程序要訪問的頁面尚未調(diào)入內(nèi)存時(shí),產(chǎn)生缺頁中斷,以請求OS將所缺的頁調(diào)入內(nèi)存;如果此時(shí)選擇的調(diào)度算法性能較差,就會產(chǎn)生抖動(dòng)現(xiàn)象。9.在請求分頁系統(tǒng)中,引用位標(biāo)識,它的用途是-0【答案】該頁面最近有沒有被訪問過;為頁面淘汰算法在選擇淘汰頁時(shí)提供參考查看答案【解析】在請求分頁系統(tǒng)中,用戶程序通常先放在輔存,運(yùn)行時(shí)只裝入一部分到主存。由于分配的主存塊數(shù)通常少于進(jìn)程的虛頁數(shù),因而執(zhí)行程序時(shí),要經(jīng)常調(diào)出和調(diào)入,進(jìn)行頁面淘汰。通過頁表設(shè)立引用位標(biāo)志,用于標(biāo)識某個(gè)頁面最近有沒有被訪問。根據(jù)程序局部性原理,沒被訪問過的頁面,最近一段時(shí)間可能也不會被訪問,從而被淘汰。10.在多用戶環(huán)境中為了實(shí)現(xiàn)多用戶之間的隔離,必須采用措施?!窘馕觥看鎯ΡWo(hù)要實(shí)現(xiàn)的功能是保證一道程序在執(zhí)行過程中不會有意或無意地破壞另一道程序(包括操作系統(tǒng)程序)在內(nèi)存中的代碼和數(shù)據(jù)。而多用戶之間的隔離,就必須對用戶程序和數(shù)據(jù)都有完善的保護(hù),所以必須采用存儲保護(hù)的措施。答:采用分區(qū)式存儲管理的系統(tǒng),有存儲分配過程中產(chǎn)生的、不能供用戶作業(yè)使用的主存里連續(xù)分配方式會形成許多“碎片”,可通過“緊湊”方法將碎片拼接成可此付出很大開銷。如果允許將一個(gè)進(jìn)程直接分散地分配到許多不相鄰接的分區(qū)中,就不必再進(jìn)行“緊湊”?;谶@一思想而產(chǎn)生了離散分配方式。根據(jù)離散分配時(shí)所用基本單位的不同,又可把離散分配方式分為以下3種:(1)分頁存儲管理;(2)分段存儲管理;(3)段頁式存儲管理。即使這樣,內(nèi)存碎片還是會出現(xiàn),雖然減少了。但分區(qū)方式不同,碎片的名稱和特征都不同。在固定分區(qū)中,就稱為“內(nèi)碎片”,每個(gè)固定分區(qū)都可能出現(xiàn),這與頁面大小有關(guān)。可變分區(qū)2.在請求頁式存儲管理中,什么叫快表?為什么要引入快表?畫出具有快表的地址變換機(jī)構(gòu)圖。[西北大學(xué)2006研]答:為了提高查表的速度,在分頁地址變換機(jī)構(gòu)中加入一組高速緩沖存儲器,用來存放當(dāng)前作業(yè)的最常用的頁號和與之相應(yīng)的物理塊號。一般稱這樣的寄存器組為快表或聯(lián)想存儲器。根據(jù)分析可畫出如圖4-37所示的具有快表的地址變換機(jī)構(gòu)圖:(1)利用快表查找;(2)利用頁表查找;(3)利用頁表中查找到的頁號、塊號更新快表。圖4-37快表的地址變換機(jī)構(gòu)圖3.試敘述動(dòng)態(tài)分區(qū)中采用自由鏈對內(nèi)存進(jìn)行管理的方法,并京郵電大學(xué)2005研]答:(1)首次適應(yīng)算法。這種算法把空閑分區(qū)按其所在存儲空間中地址遞增的順序鏈接在(2)最佳適應(yīng)算法。此種算法把空閑分區(qū)鏈表按分區(qū)大小由小到大進(jìn)行組織。當(dāng)有作業(yè)申(3)最差適應(yīng)算法。這種算法要求把空閑區(qū)按從大到小遞減的順序組織成空閑區(qū)鏈表。當(dāng)4.某系統(tǒng)采用動(dòng)態(tài)分區(qū)存儲管理技術(shù),某時(shí)刻在內(nèi)存中有三個(gè)空閑區(qū),它們的首地址和分區(qū)的大小分別是:空閑區(qū)1{100KB,10KB},空閑區(qū)2{200KB,30KB},空閑區(qū)3{300KB,15KB}?,F(xiàn)有如下作業(yè)序列:作業(yè)1請求15KB,作業(yè)2請求16KB,作業(yè)3請求10KB,要求:[華中科技大學(xué)2005研]1.畫出此時(shí)刻內(nèi)存分布圖。2.用首次適應(yīng)算法和最佳適應(yīng)算法畫出此時(shí)的自由主存隊(duì)列結(jié)構(gòu)。3.哪種算法能將改作業(yè)序列裝入內(nèi)存?答:(1)內(nèi)存分布圖如下所示。(2)首次適應(yīng)算法下自由主存隊(duì)列結(jié)構(gòu)如下圖所示。(3)最佳適應(yīng)算法能將此作業(yè)裝入內(nèi)存。將15KB的空閑塊分給作業(yè)1,作業(yè)2分到空閑塊30KB的前16KB,作業(yè)3分到10KB的空閑塊,此時(shí)自由隊(duì)列只有一塊14KB的空閑塊,起始地址是216KB。5.一個(gè)進(jìn)程的大小占6個(gè)頁面,每頁的大小為1KB,系統(tǒng)為它分配了四個(gè)物理塊。當(dāng)前進(jìn)程的頁表如下(都為十進(jìn)制數(shù),且從0開始計(jì)數(shù)):請分別計(jì)算1237、3178、2211、5121單元的物理地址。[成都信息工程學(xué)院2005研]答:1237=1024+213,故1237對應(yīng)的虛頁號為1,頁內(nèi)地址為213,由頁表知1號對應(yīng)的物理塊為2,所以物理地址為2213。同理,3178=3×1024+106,虛頁號3對應(yīng)的物理塊號為1,則物理地址為1×1024+106=1130。2211=2×1024+163,但是虛頁號2對應(yīng)的物理塊不在頁表中,所以無法得知其物理地址。5121=5×1024+1,虛頁號5對應(yīng)的物理塊號為7,所以物理地址為7×1024+1=7169。6.某系統(tǒng)采用段頁式存儲管理,有關(guān)的數(shù)據(jù)結(jié)構(gòu)如下圖。[南京航空航天大學(xué)2005研](1)說明在段頁式系統(tǒng)中動(dòng)態(tài)地址變換過程。(2)計(jì)算虛地址69732的物理地址,要求用十進(jìn)制表示,并寫出計(jì)算過程。答:按照段頁式存儲管理系統(tǒng)的地址轉(zhuǎn)換過程:(1)在段頁式系統(tǒng)中,為了實(shí)現(xiàn)從邏輯地址到物理地址的變換,系統(tǒng)中須同時(shí)配置段表和頁表。由于允許將一個(gè)段中的頁進(jìn)行離散分配,段表表項(xiàng)內(nèi)容略有變化:不再是段的內(nèi)存始址和段長,而是頁表始址和頁表長度。在段頁式系統(tǒng)中要獲得一條指令或數(shù)據(jù),需要三次訪問內(nèi)存:(1)訪問段表;(2)訪問頁表;(3)存取數(shù)據(jù)。訪問過程圖如下:(2)根據(jù)題意,段內(nèi)地址為16位,從而段表大小為65536,69732=1×65536+4196。段號為1,又69732對應(yīng)的二進(jìn)制數(shù)為:10000011101000000,所以頁號為0,頁內(nèi)地址為:7.某虛擬存儲器的用戶編程空間共32個(gè)頁面,每頁為1KB,內(nèi)存為16KB。假定某時(shí)刻一用戶頁表中已調(diào)入內(nèi)存的頁面的頁號和物理塊號的對照表如下。[南京理工大學(xué)2006研]則(1)此時(shí),指令中地址空間至少需要多少位?(2)邏輯地址0A5C(十六進(jìn)制)所對應(yīng)的物理地址是什么(用十進(jìn)制表示)?答:(1)因?yàn)橛脩粲?2個(gè)頁面,所以頁號占5位,每頁為1K,則頁內(nèi)地址為10位。指令中的地址空間即邏輯地址空間,所以共需15位。(2)0A5C(H)=10×162+5×161+12×16?=2560+8所以,0A5C(H)對應(yīng)的物理地址為125C(H)。8.在請求頁式系統(tǒng)中,一程序的頁面走向?yàn)?、3、4、5、2、3、6、2、3、4、5、6,設(shè)分次數(shù),并對結(jié)果進(jìn)行分析說明。[浙江工業(yè)大學(xué)2005研]FIFO算法:M=3時(shí),缺頁9次,M=4時(shí),缺頁10次。這說明FIFO算法出現(xiàn)了Belady異?,F(xiàn)象。LRU算法:M=3時(shí),缺頁10次,M=4時(shí),缺頁8次。M=3時(shí):9.什么叫重定位?采用內(nèi)存分區(qū)管理時(shí),如何實(shí)現(xiàn)程序運(yùn)行時(shí)的動(dòng)態(tài)重定位?[西北工業(yè)大學(xué)2005研](1)靜態(tài)地址重定位:即在虛空間程序執(zhí)行之前由裝配進(jìn)程完成映射工作,完成各個(gè)首地②駐留性地址轉(zhuǎn)換成內(nèi)存地址,它依靠硬件地址變換機(jī)制完成:物理線性地址=基地址+程序虛地址動(dòng)態(tài)重定位的實(shí)現(xiàn)。通常,這種轉(zhuǎn)換由專門的硬件機(jī)構(gòu)來完成,通常采用一個(gè)重定位寄存器,在每次進(jìn)行存儲訪問時(shí),對取出的邏輯地址加上重定位寄存器的內(nèi)容,形成正確的物理地址,重定位寄存器的內(nèi)容是程序裝入內(nèi)存的起始地址。10.某段式存儲管理中采用如表4-3所示的段表:段號段的長度/B內(nèi)存起始地址01234(1)給定段號和段內(nèi)地址,說明段式管理中的變換過程。(2)計(jì)算[0,430],[1,10],[2,500],[3,400],[4,20],[5,100]的內(nèi)存地址,其中方括號內(nèi)的第一元素是段號,第二元素是段內(nèi)地址。(3)說明存取主存中的一條指令或數(shù)據(jù)至少要訪問幾次主存。答:(1)為了實(shí)現(xiàn)從邏輯地址到物理地址的變換,在系統(tǒng)中需要設(shè)置段表寄存器,存放段表起始地址和段表長度TL。在進(jìn)行地址變換時(shí),系統(tǒng)將邏輯地址中的段號與段表長度TL進(jìn)行比較。若S>=TL,則表示段號太大,是訪問越界(段號越界),產(chǎn)生越界中斷,若未越界,則根據(jù)段表的起始地址和段號,計(jì)算出該段對應(yīng)段表項(xiàng)的位置,從中讀出該段在內(nèi)存中的起始位置和段長SL,再檢查段內(nèi)地址D是否超過該面的段長SL。若超過,即D>=SL,則同樣發(fā)出越界中斷信號(段內(nèi)地址越界);若未越界,則將該段的起始地址與段內(nèi)地址D相加,即得到要訪問的內(nèi)存物理地址。(2)[0,430]的物理地址是:219+430=-649;[1,10]的物理地址是:33009+10=3310;因?yàn)椋?00>100,所以[2,500]越界(段內(nèi)地址越界)。[3,400]的物理地址是:1237+400=1637;[4,20]的物理地址是:1952+20=1972;因?yàn)椋?>4,所以[5,100]越界(段號越界)。(3)存取主存中的一條指令或數(shù)據(jù)至少要訪問2次主存,一次是訪問段表,另一次是訪問需要的指令和數(shù)據(jù)。第5章虛擬存儲器5.1復(fù)習(xí)筆記一、虛擬存儲器概述1.常規(guī)存儲管理方式的特征和局部性原理(1)特征①一次性是指作業(yè)必須一次性地全部裝入內(nèi)存后方能開始運(yùn)行。這一特征導(dǎo)致了大作業(yè)無法在小內(nèi)存中運(yùn)行,以及無法進(jìn)一步提高系統(tǒng)的多道程序度,直接限制了對處理機(jī)的利用率和系統(tǒng)的吞吐量的提高。a.程序執(zhí)行時(shí),除了少部分的轉(zhuǎn)移和過程調(diào)用指令外,在大多數(shù)情況下是順序執(zhí)行的。b.過程調(diào)用將會使程序的執(zhí)行軌跡由一部分區(qū)域轉(zhuǎn)至另一部分區(qū)域。但經(jīng)研究看出,過程調(diào)用的深度在大多數(shù)情況下都不超過5。這就是說,程序?qū)谝籧.程序中存在許多循環(huán)結(jié)構(gòu),這些結(jié)構(gòu)雖然只由少數(shù)指令構(gòu)成,但是它們將被多次執(zhí)行。d.程序中還包括許多對數(shù)據(jù)結(jié)構(gòu)的處理,如對數(shù)組進(jìn)行操作,這些處理往往都局限于很小b.空間局限性(3)虛擬存儲器的基本工作情況2.虛擬存儲器的定義和特征(1)虛擬存儲器的定義(2)虛擬存儲器的特征①多次性③虛擬性3.虛擬存儲器的實(shí)現(xiàn)方法(1)分頁請求系統(tǒng)分頁請求系統(tǒng)是在分頁系統(tǒng)的基礎(chǔ)上增加了請求調(diào)頁功能和頁a.請求分頁的頁表機(jī)制b.缺頁中斷機(jī)構(gòu)每當(dāng)用戶程序要訪問的頁面尚未調(diào)入內(nèi)存時(shí),便產(chǎn)生一缺頁中斷c.地址變換機(jī)構(gòu)運(yùn)行時(shí)所需的頁面(尚未在內(nèi)存中的)調(diào)入內(nèi)存,再將內(nèi)存中暫時(shí)不用的頁面從內(nèi)存置換到(2)請求分段系統(tǒng)a.請求分段的段表機(jī)制b.缺段中斷機(jī)構(gòu)c.地址變換機(jī)構(gòu)時(shí)不用的段從內(nèi)存置換到磁盤上,再將程序正在運(yùn)行時(shí)所需的段(尚未在內(nèi)存中的)調(diào)入內(nèi)1.請求分頁中的硬件支持(1)請求頁表機(jī)制①狀態(tài)位(存在位)P②訪問字段A置換算法(程序)在選擇換出頁面時(shí)參考。③修改位M(2)缺頁中斷機(jī)構(gòu)在請求分頁系統(tǒng)中,每當(dāng)所要訪問的頁面不在內(nèi)存時(shí),便產(chǎn)生一缺頁中斷,請求OS將所缺轉(zhuǎn)入缺頁中斷處理程序進(jìn)行處理,以及在中斷處理完成后再恢復(fù)CPU環(huán)境等幾個(gè)步驟。a.在指令執(zhí)行期間產(chǎn)生和處理中斷信號b.一條指令在執(zhí)行期間可能產(chǎn)生多次缺頁中斷在圖5-1所示,系統(tǒng)中的硬件機(jī)構(gòu)應(yīng)能保存多次中斷時(shí)的狀態(tài),并保證最后能返回到中斷前圖5-1涉及6次缺頁中斷的指令(3)地址變換機(jī)構(gòu)再增加了某些功能所形成的。圖5-2示出了請求分頁系統(tǒng)中的地址變換過程。在進(jìn)行地址變圖5-2請求分頁中的地址變換過程2.請求分頁中的內(nèi)存分配(1)最小物理塊數(shù)的確定(2)內(nèi)存分配策略①固定分配局部置換(FixedAllocation,LocalReplacement)a.固定分配b.局部置換②可變分配全局置換(VariableAllocation,GlobalReplacement)a.可變分配b.全局置換如果進(jìn)程在運(yùn)行中發(fā)現(xiàn)缺頁,則將OS所保留的空閑物理塊(一般組織為一個(gè)空閑物理塊隊(duì)列)取出一塊分配給該進(jìn)程,或者以所有進(jìn)程的全部物理塊a.該策略是基于進(jìn)程的類型或根據(jù)程序員的要求,為每個(gè)進(jìn)程分配一定數(shù)目的物理塊,但b.如果進(jìn)程在運(yùn)行中頻繁地發(fā)生缺頁中斷,則系統(tǒng)須再為該進(jìn)程分配若干附加的物理塊,(3)物理塊分配算法即根據(jù)進(jìn)程的大小按比例分配物理塊。如果系統(tǒng)中共有n個(gè)進(jìn)程,每個(gè)進(jìn)程的頁面數(shù)為S,又假定系統(tǒng)中可用的物理塊總數(shù)為m,則每個(gè)進(jìn)程所能分到的物理塊數(shù)為b;可由下式計(jì)算:3.頁面調(diào)入策略(1)何時(shí)調(diào)入頁面b.優(yōu)點(diǎn)c.缺點(diǎn)調(diào)頁成功率不高,僅約50%。請求,由OS將其所需頁面調(diào)入內(nèi)存。b.優(yōu)點(diǎn)c.缺點(diǎn)這種策略每次僅調(diào)入一頁,故須花費(fèi)較大的系統(tǒng)開銷,增加了磁盤I/O的啟動(dòng)頻率。(2)從何處調(diào)入頁面改,則不必再將它們重寫到磁盤(換出),以后再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。但對于那由于UNIX系統(tǒng)允許頁面共享,因此,某進(jìn)程所請求的頁面有可能已被其它進(jìn)程調(diào)入內(nèi)存,(3)頁面調(diào)入過程每當(dāng)程序所要訪問的頁面未在內(nèi)存時(shí)(存在位為“0”),便向CPU發(fā)出一缺頁中斷,中斷處理程序首先保留CPU環(huán)境,分析中斷原因后轉(zhuǎn)入缺頁中斷處理程序。則啟動(dòng)磁盤I/O,將所缺之頁調(diào)入內(nèi)存,然后修改頁過(修改位為“0"),可不必將該頁寫回磁盤;但如果此頁已被修改(修改位為“1”),則必(4)缺頁率假設(shè)一個(gè)進(jìn)程的邏輯空間為n頁,系統(tǒng)為其分配的內(nèi)存物理塊數(shù)為m(m≤n)。如果在進(jìn)程的運(yùn)行過程中,訪問頁面成功(即所訪問頁面在內(nèi)存中)的次數(shù)為S,訪問頁面失敗(即所訪問頁面不在內(nèi)存中,需要從外存調(diào)入)的次數(shù)為F,則該進(jìn)程總的頁面訪問次數(shù)為A=S+F,那么該進(jìn)程在其運(yùn)行過程中的缺頁率即為a.頁面大?、俑攀鯾.進(jìn)程所分配物理塊的數(shù)目c.頁面置換算法d.程序固有特性假設(shè)被置換的頁面被修改的概率是β,其缺頁中斷處理時(shí)間為ta,被置換頁面沒有被修改的缺頁中斷時(shí)間為tb,那么,缺頁中斷處理時(shí)間的計(jì)算公式為1.最佳置換算法和先進(jìn)先出置換算法(1)最佳(Optimal)置換算法最長(未來)時(shí)間內(nèi)不再被訪問的頁面。b.優(yōu)點(diǎn)c.缺點(diǎn)7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1進(jìn)程運(yùn)行時(shí),先將7,0,1三個(gè)頁面裝入內(nèi)存。以后,當(dāng)進(jìn)程要訪問頁面2時(shí),將會產(chǎn)生缺頁中斷。此時(shí)OS根據(jù)最佳置換算法將選擇頁面7予以淘汰。這是因?yàn)轫撁?將作為第5個(gè)被訪問的頁面,頁面1是第14個(gè)被訪問的頁面,而頁面7則要在第18次頁面訪問時(shí)才需調(diào)入。下次訪問頁面0時(shí),因它已在內(nèi)存而不必產(chǎn)生缺頁中斷。當(dāng)進(jìn)程訪問頁面3時(shí),又將引起頁面1被淘汰;因?yàn)?,它在現(xiàn)有的1,2,0三個(gè)頁面中,將是以后最晚才被訪問的。圖5-3示出了采用最佳置換算法時(shí)的置換圖。由圖可看出,采用最佳置換算法發(fā)生了6次頁面置換。圖5-3利用最佳頁面置換算法時(shí)的置換圖(2)先進(jìn)先出(FIFO)頁面置換算法FIFO算法是最早出現(xiàn)的置換算法。該算法總是淘汰最先進(jìn)入內(nèi)存的頁面,即選擇在內(nèi)存中c.缺點(diǎn)②舉例說明采用FIFO算法進(jìn)行頁面置換(圖5-4)。當(dāng)進(jìn)程第一次訪問頁面2時(shí),將把第7頁換出,因?yàn)樗亲钕缺徽{(diào)入內(nèi)存的;在第一次訪問頁面3時(shí),又將把第0頁換出,因?yàn)樗诂F(xiàn)有的2、0、1三個(gè)頁面中是最老的頁。由圖5-4可以看出,利用FIFO算法時(shí),進(jìn)行了12次頁面707020圖5-4利用FIFO置換算法時(shí)的置換圖2.最近最久未使用和最少使用置換算法(1)LRU(LeastRecentlyUsed)置換算法的描述a.最近最久未使用(LRU)的頁面置換算法是根據(jù)頁面調(diào)入內(nèi)存后的使用情況做出決策的。b.該算法賦予每個(gè)頁面一個(gè)訪問字段,用來記錄一個(gè)頁面自上次被訪問以來所經(jīng)歷的時(shí)間t。當(dāng)需淘汰一個(gè)頁面時(shí),選擇現(xiàn)有頁面中其t值最大的,即最近最久未使用的頁面予以淘利用LRU算法對上例進(jìn)行頁面置換的結(jié)果如圖5-5所示。當(dāng)進(jìn)程第一次對頁面2進(jìn)行訪問時(shí),由于頁面7是最近最久未被訪問的,故將它置換出去。當(dāng)進(jìn)程第一次對頁面3進(jìn)行訪問時(shí),第1頁成為最近最久未使用的頁,將它換出。由圖可以看出,前5個(gè)時(shí)間的圖像與最佳圖5-5LRU頁面置換算法(2)LRU置換算法的硬件支持②棧(3)最少使用(LeastFrequentlyUsed,LFU)置換算法在采用LFU算法時(shí),應(yīng)為在內(nèi)存中的每個(gè)頁面設(shè)置一個(gè)移位寄存器,用來記錄3.Clock置換算法(1)簡單的Clock置換算法經(jīng)使用過,而置換時(shí)是將未使用過的頁面換出去,故又把該算法稱為最近未用算法或NRU(NotRecentlyUsed)算圖5-8簡單Clock置換算法的流程和示例(2)改進(jìn)型Clock置換算法在改進(jìn)型Clock算法中,除須考慮頁面的使用情況外,還須再增加一個(gè)因素,即置換代價(jià),①頁面類型由訪問位A和修改位M可以組合成下面四種類型的頁面:a.1類(A=0,M=0):表示該頁最近既未被訪問,又未被修改,是最佳淘汰頁。b.2類(A=0,M=1):表示該頁最近未被訪問,但己被修改,并不是很好的淘汰頁。c.3類(A=1,M=0):表示最近已被訪問,但未被修改,該頁有可能再被訪問。d.4類(A=1,M=1):表示最近已a(bǔ).從指針?biāo)甘镜漠?dāng)前位置開始,掃描循環(huán)隊(duì)列,尋找A=0且M=0的第一類頁面,將所遇到的第一個(gè)頁面作為所選中的淘汰頁。在第一次掃描期問不改變訪問b.如果第一步失敗,即查找一輪后未遇到第一類頁面,則開始第二輪掃描,尋找A=0且M=1的第二類頁面,將所遇到的第一個(gè)這類頁面作為淘汰頁。在第二輪掃描期間,將所有掃描過的頁面的訪問位都置0。c.如果第二步也失敗,亦即未找到第二類頁面,則將指針返回到開始的位置,并將所有的訪問位復(fù)0。然后重復(fù)第一步,即尋找A=0且M=0的第一類頁面,如果仍失敗,必要時(shí)再重復(fù)第二步,尋找A=0且M=1的第二類頁面,此時(shí)就一4.頁面緩沖算法(PageBufferingAlgorithm,PBA)(1)影響頁面換進(jìn)換出效率的若干因素a.對于已經(jīng)被修改過的頁面,在將其換出時(shí),應(yīng)當(dāng)寫回磁盤。b.如果是采取每當(dāng)有一個(gè)頁面要被換出時(shí)就將它寫回磁盤的策略,這意味著每換出一個(gè)頁c.如果在系統(tǒng)中已建立了一個(gè)已修改換出頁面的鏈表,則對每一個(gè)要被換出的頁面(已修改),系統(tǒng)可暫不把它們寫回磁盤,而是將它們掛在已修改換出頁面的鏈表上,僅當(dāng)被換出頁面數(shù)目達(dá)到一定值時(shí),再將它們一起寫回到磁盤上,這樣就顯著地減少了磁盤I/O的操(2)頁面緩沖算法PBAa.顯著地降低了頁面換進(jìn)、換出的頻率,使磁盤I/O的操作次數(shù)大為減少,因而減少了頁b.正是由于換入換出的開銷大幅度減小,才能使其采用一種較簡單的置換策略,如先進(jìn)先VAX/VMS操作系統(tǒng)中,內(nèi)存分配策略上采用了可變分配和局部置換方式,系統(tǒng)為每個(gè)進(jìn)a.空閑頁面鏈表b.修改頁面鏈表它是由己修改的頁面所形成的鏈表。設(shè)置該鏈表的目的5.訪問內(nèi)存的有效時(shí)間(1)被訪問頁在內(nèi)存中,且其對應(yīng)的頁表項(xiàng)在快表中顯然,此時(shí)不存在缺頁中斷情況,內(nèi)存的有效訪問時(shí)間(EAT)分為查找快表的時(shí)間(λ)和訪問實(shí)際物理地址所需的時(shí)間(t):(2)被訪問頁在內(nèi)存中,且其對應(yīng)的頁表項(xiàng)不在快表中(3)被訪問頁不在內(nèi)存中假設(shè)缺頁中斷處理時(shí)間為ε,則(4)考慮快表的命中率和缺頁率等因素EAT=λ+a×t+(1-a)×[t+f×(ε+λ+t)+(如果不考慮命中率,僅考慮缺頁率,即上式中的λ=0和a=0,設(shè)缺頁中斷處理時(shí)間為φ,由1.多道程序度與“抖動(dòng)”(1)多道程序度與處理機(jī)的利用率用率。處理機(jī)的實(shí)際利用率如圖5-9中的實(shí)線所示。圖5-9處理機(jī)的利用率發(fā)生“抖動(dòng)”的根本原因是,同時(shí)在系統(tǒng)中運(yùn)行的進(jìn)程太多,由此分配給每一個(gè)進(jìn)程的物理塊太少,不能滿足進(jìn)程正常運(yùn)行的基本要求,致使每個(gè)進(jìn)程在運(yùn)行時(shí),頻繁地出現(xiàn)缺頁,必須請求系統(tǒng)將所缺之頁調(diào)入內(nèi)存。這會使得在系統(tǒng)中排隊(duì)等待頁面調(diào)進(jìn)/調(diào)出的進(jìn)程數(shù)目增加。2.工作集(1)缺頁率與物理塊的關(guān)系進(jìn)程發(fā)生缺頁率的時(shí)間間隔與進(jìn)程所獲得的物理塊數(shù)有關(guān)。圖5-10示出了缺頁率與物理塊數(shù)之間的關(guān)系。圖5-10缺頁率與物理塊數(shù)之間的關(guān)系(2)工作集的定義工作集是指在某段時(shí)間間隔△里,進(jìn)程實(shí)際所要訪問頁面的集合,它是1968年由Denning提出并推廣的。(1)采取局部置換策略②優(yōu)點(diǎn)③缺點(diǎn)(2)把工作集算法融入到處理機(jī)調(diào)度中Denning于1980年提出了“L=S”的準(zhǔn)則來調(diào)節(jié)多道程序度,其中L是缺頁之間的平均時(shí)間,缺頁的速度已超過磁盤的處理能力。只有當(dāng)L與S接近時(shí),磁盤和處理機(jī)都可達(dá)到它們的(4)選擇暫停的進(jìn)程1.請求分段中的硬件支持(1)請求段表機(jī)制的訪問字段A、修改位M、存在位P和外存始址四個(gè)字段外,還增加了存取方式字段和增補(bǔ)位。這些字段供程序在調(diào)進(jìn)、調(diào)出時(shí)參考。在段表項(xiàng)中,除了段名(號)、段長、段在內(nèi)存中的起始地址(段基址)外,還增加了以下字段:加存取方式字段,如果該字段為兩位,則存取屬性是只執(zhí)行、只讀和允許讀/寫。②訪問字段A③修改位M④存在位P(2)缺段中斷機(jī)構(gòu)生一次缺段中斷信號,進(jìn)入OS后由缺段中斷處理程序?qū)⑺璧亩握{(diào)入內(nèi)存。缺段中斷的處理過程如圖5-12所示。圖5-12請求分段系統(tǒng)中的中斷處理過程(3)地址變換機(jī)構(gòu)入內(nèi)存,并修改段表,然后才能再利用段表進(jìn)行地址變換。圖5-13示出了請求分段系統(tǒng)的圖5-13請求分段系統(tǒng)的地址變換過程2.分段的共享與保護(hù)(1)共享段表項(xiàng)。在表項(xiàng)的上面記錄了共享段的段號、段長、內(nèi)存始址、狀態(tài)(存在)位、外存始址以及共享計(jì)數(shù)等信息。接下去就是記錄了共享此分段的每個(gè)進(jìn)程的情況。共享段表如圖5-14所①共享進(jìn)程計(jì)數(shù)count設(shè)置共享進(jìn)程計(jì)數(shù)count。當(dāng)某進(jìn)程不再需要而釋放它時(shí),系統(tǒng)并不立即回收該段所占內(nèi)存區(qū),而是檢查count是否為0,若不是0,則表示還有進(jìn)程需要它,僅當(dāng)所有共享該段的進(jìn)程全都不再需要它時(shí),此時(shí)count為0,才由系統(tǒng)回收該段所占內(nèi)存區(qū)。③段號圖5-14共享段表項(xiàng)(2)共享段的分配與回收段表中增加一表項(xiàng),填寫有關(guān)數(shù)據(jù),把count置為1之后,當(dāng)又有其它進(jìn)程需要調(diào)用該共享存取控制等,再執(zhí)行count=count+1操作,以表明有兩個(gè)進(jìn)程共享該段。應(yīng)的表項(xiàng),以及執(zhí)行count=count-1操作。若結(jié)果為0,則須由系統(tǒng)回收該共享段的物理內(nèi)存,以及取消在共享段表中該段所對應(yīng)的表項(xiàng),表明此時(shí)已沒有進(jìn)程使用該段:否則(減1結(jié)果不為0),只是取消調(diào)用者進(jìn)程在共享段表中的有關(guān)記錄。(3)分段保護(hù)a.只讀,即只允許進(jìn)程對該段中的程序或數(shù)據(jù)進(jìn)b.只執(zhí)行,即只允許進(jìn)程調(diào)用該段去執(zhí)行,但不準(zhǔn)讀該段的內(nèi)容,更不允許對該段執(zhí)行寫c.讀,寫,即允許進(jìn)程對該段進(jìn)行讀,寫訪問。這是一種功能較完善的保護(hù)機(jī)制。在該機(jī)制中規(guī)定:低編號的環(huán)具有于0號環(huán)內(nèi);某些重要的實(shí)用程序和操作系統(tǒng)服務(wù)占居中間環(huán);而一般的應(yīng)用程序,則被安a.一個(gè)程序可以訪問駐留在相同環(huán)或較低特權(quán)環(huán)(外環(huán))中的數(shù)據(jù);b.一個(gè)程序可以調(diào)用駐留在相同環(huán)或較高特權(quán)環(huán)(內(nèi)環(huán))中的服務(wù)。圖5-15示出了在環(huán)保護(hù)機(jī)構(gòu)中的調(diào)用程序和數(shù)據(jù)訪問的關(guān)系。圖5-15環(huán)保護(hù)機(jī)構(gòu)1.常規(guī)存儲器管理方式具有哪兩大特征?它對系統(tǒng)性能有何影響?答:(1)常規(guī)存儲器管理方式的特征作業(yè)運(yùn)行結(jié)束。盡管運(yùn)行中的進(jìn)程會因I/O等原因而被阻塞,可能處于長期等待狀態(tài),或者有的程序模塊在運(yùn)行過一次后就不再需要(運(yùn)行)了,它們都仍將駐留在內(nèi)存中,繼續(xù)占(2)常規(guī)存儲管理方式的特征對系統(tǒng)性能的影響一次性及駐留性特征使得許多在程序運(yùn)行中不用或暫時(shí)不用的程序(數(shù)據(jù))占據(jù)了大量的內(nèi)2.什么是程序運(yùn)行時(shí)的時(shí)間局限性和空間局限性?答:(1)時(shí)間局限性(2)空間局限性3.虛擬存儲器有哪些特征?其中最本質(zhì)的特征是什么?答:(1)虛擬存儲器的特征②對換性(2)虛擬存儲器最本質(zhì)的特征4.實(shí)現(xiàn)虛擬存儲器需要哪些硬件支持?答:(1)為實(shí)現(xiàn)請求分頁存儲管理方式的系統(tǒng),除了需要一臺具有定容量的內(nèi)存及外存的即每當(dāng)用戶程序要訪問的頁面尚未調(diào)入內(nèi)存時(shí),便產(chǎn)生一缺頁中斷,以請求OS將(2)為實(shí)現(xiàn)請求分段存儲管理方式的系統(tǒng),除了需要一臺具有一定容量的內(nèi)存及外存的計(jì)每當(dāng)用戶程序所要訪問的段尚未調(diào)入內(nèi)存時(shí),產(chǎn)生一個(gè)缺段中斷,請求OS將所缺的段調(diào)入5.實(shí)現(xiàn)虛擬存儲器需要哪幾個(gè)關(guān)鍵技術(shù)?它允許只裝入少數(shù)頁面程序(及數(shù)據(jù)),便可啟動(dòng)運(yùn)行;它允許只裝入少數(shù)(而非所有)用戶程序段和數(shù)據(jù)段,便可啟動(dòng)運(yùn)行。6.在請求分頁系統(tǒng)中,頁表應(yīng)包括哪些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?答:頁表應(yīng)包括頁號、物理塊號、狀態(tài)位P、訪問字段A、修改位M和外存地址?,F(xiàn)對其(1)狀態(tài)位P:用于指示該頁是否已調(diào)入內(nèi)存,供程序訪問時(shí)參考;(2)訪問字段A:用于記錄本頁在一段時(shí)間內(nèi)被訪問的次數(shù),或記錄本頁最近已有多長時(shí)①可變分配(3)修改位M:表示該頁在調(diào)入內(nèi)存后是否被修改過。由于內(nèi)存中的每一頁都在外存上保(4)外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調(diào)入該頁時(shí)參考。7.試比較缺頁中斷機(jī)構(gòu)與一般的中斷,它們之間有何明顯的區(qū)別?答:(1)在指令執(zhí)行期間產(chǎn)生和處理中斷信號。通常,CPU都是在一條指令執(zhí)行完后,才(2)一條指令在執(zhí)行期間可能產(chǎn)生多次缺頁中斷。如圖5-16中所示。系統(tǒng)中的硬件機(jī)構(gòu)應(yīng)圖5-16涉及6次缺頁中斷的指令8.試說明請求分頁系統(tǒng)中的地址變換過程。答:(1)在進(jìn)行地址變換時(shí),首先檢索快表,試圖從中找出所要訪問的頁。若找到,便修(2)如果在快表中未找到該頁的頁表項(xiàng),則應(yīng)到內(nèi)存中去查找頁表,再從找到的頁表項(xiàng)中的狀態(tài)位P來了解該頁是否已調(diào)入內(nèi)存。若該頁已調(diào)入內(nèi)存,這時(shí)應(yīng)將該頁的頁表項(xiàng)寫入項(xiàng);若該頁尚未調(diào)入內(nèi)存,這時(shí)應(yīng)產(chǎn)生缺頁中斷,請求OS從外存把該頁調(diào)入內(nèi)存。9.何謂固定分配局部置換和可變分配全局置換的內(nèi)存分配策略?答:(1)固定分配局部置換(FixedAllocation,LocalReplacement)理塊是根據(jù)進(jìn)程類型(交互型或批處理型等)或根據(jù)程序員、程序管理員的建議來確定的。(2)可變分配全局置換(VariableAllocation,GlobalReplacement)②全局置換是指如果進(jìn)程在運(yùn)行中發(fā)現(xiàn)缺頁,則將OS所保留的空閑物理塊(一般組織為一個(gè)空閑物理塊隊(duì)列)取出一塊分配給該進(jìn)程,或者以所有進(jìn)程的全部物理塊為標(biāo)10.在請求分頁系統(tǒng)中,應(yīng)從何處將所需頁面調(diào)入內(nèi)存?(1)系統(tǒng)擁有足夠的對換區(qū)空間(2)系統(tǒng)缺少足夠的對換區(qū)空間(3)UNIX方式11.試說明在請求分頁系統(tǒng)中頁面的調(diào)入過程。答:(1)每當(dāng)程序所要訪問的頁面未在內(nèi)存時(shí)(存在位為“0”),便向CPU發(fā)出一缺頁中斷,中斷處理程序首先保留CPU環(huán)境,分析中斷原因后轉(zhuǎn)入缺頁中斷處(2)缺頁中斷處理程序通過查找頁表得到該頁在外存的物理塊后,如果此時(shí)內(nèi)存能容納新頁,則啟動(dòng)磁盤I/O,將所缺之頁調(diào)入內(nèi)存,然后修改頁表。(3)如果內(nèi)存已滿,則須先按照某種置換算法,從內(nèi)存中選出一頁準(zhǔn)備換出;如果該頁未(4)在缺頁調(diào)入內(nèi)存后,利用修改后的頁表形成所要訪問數(shù)據(jù)的物理地址,再去訪問內(nèi)存12.在請求分頁系統(tǒng)中,常采用哪幾種頁面置換算法?(1)先進(jìn)先出(FIFO)頁面置換算法(2)LRU(LeastRecentlyUsed)置換算法最近最久未使用(LRU)的頁面置換算法,是根據(jù)頁面調(diào)入內(nèi)存字段,用來記錄一個(gè)頁面自上次被訪問以來所經(jīng)歷的時(shí)間t,當(dāng)須淘汰一個(gè)頁面時(shí),選擇現(xiàn)進(jìn)型Clock算法中,除須考慮頁面的使用情況外,還須再增加一個(gè)因素,即置換代價(jià),這樣,選擇頁面換出時(shí),既要是未使用過的頁面,又要是未被修改過的頁面。把同時(shí)滿足這兩個(gè)條(4)最少使用(LFU:LeastFreq在采用最少使用置換算法時(shí),應(yīng)為在內(nèi)存中的每個(gè)頁面設(shè)置一個(gè)移位寄存器,用來記錄該頁面被訪問的頻率。頁面緩沖算法(PBA)既可改善分頁系統(tǒng)的性能,又可采用一種較簡單的置換策略。13.在一個(gè)請求分頁系統(tǒng)中,采用FIFO頁面置換算法時(shí),假如一個(gè)作業(yè)的頁面走向?yàn)?、3、在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并比較所得結(jié)果。頁面內(nèi)存缺頁44是334是2234是1123是4412是3341是是5342253是是當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),缺頁9次,缺頁率:9/12=3/4。4是1234是412343123455123是44512是33451是22345是11234是55123當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),缺頁10次,缺頁率:10/12=5/6。比較結(jié)果:在理論上,作業(yè)物理塊越多,產(chǎn)生的缺頁次數(shù)應(yīng)該越少,而由上面的比較結(jié)果可知,物理塊多的反而產(chǎn)生更多的缺頁次數(shù),這就是Belady現(xiàn)象。答:LRU置換算法雖然是一種比較好的算法,但要求系統(tǒng)有較多的支持硬件。為了了解一個(gè)進(jìn)程在內(nèi)存中的各個(gè)頁面各有多少時(shí)間未被進(jìn)程訪問,以及如何快速地知道哪一頁是最近最久未使用的頁面,須有兩類硬件之一的支持:寄存器或棧:(1)寄存器為了記錄某進(jìn)程在內(nèi)存中各頁的使用情況,須為每個(gè)在內(nèi)存中的頁面配置一個(gè)移位寄存器;(2)??衫靡粋€(gè)特殊的棧來保存當(dāng)前使用的各個(gè)頁面的頁面號。每當(dāng)進(jìn)程訪問某頁面時(shí),便將該頁面的頁面號從棧中移出,將它壓入棧頂。因此,棧頂始終是最新被訪問頁面的編號,而棧底則是最近最久未使用頁面的頁面號。15.試說明改進(jìn)型Clock置換算法的基本原理。16.影響頁面換進(jìn)換出效率的若干因素是什么?答:(1)頁面置換算法影響頁面換進(jìn)換出效率最重要的因素,無疑是頁面置(2)寫回磁盤的頻率系統(tǒng)中已建立了一個(gè)已修改換出頁面的鏈表,則對每一個(gè)要被換出的頁面(已修改),系統(tǒng)到一定值時(shí),例如64個(gè)頁面,再將它們一起寫回到磁盤上,這樣就顯著地減少了磁盤I/O(3)讀入內(nèi)存的頻率17.頁面緩沖算法的主要特點(diǎn)是什么?它是如何降低頁面換進(jìn)、換出的頻率的?答:(1)頁面緩沖算法的特點(diǎn)①顯著地降低了頁面換進(jìn)、換出的頻率,使磁盤I/O的操作次數(shù)大為減少,因而減少了頁(FIFO)算法,它不需要特殊硬件的支持,實(shí)現(xiàn)起來(2)降低頁面換進(jìn)、換出的頻率的方法它是由己修改的頁面所形成的鏈表。設(shè)置該鏈表的目的理塊太少,不能滿足進(jìn)程正常運(yùn)行的基本要求,致使每必須請求系統(tǒng)將所缺之頁調(diào)入內(nèi)存。這會使得在系統(tǒng)中排隊(duì)等待頁面調(diào)進(jìn)/調(diào)出的進(jìn)程數(shù)目19.何謂工作集?它是基于什么原理確定的?答:(1)工作集的定義(2)工作集的基本原理答:(1)采取局部置換策略(2)把工作集算法融入到處理機(jī)調(diào)度中(3)利用"L=S"準(zhǔn)則調(diào)節(jié)缺頁率(4)選擇暫停的進(jìn)程答:Denning于1980年提出了"L=S"的準(zhǔn)則來調(diào)節(jié)多道程序度,其中L是缺頁之間的平均時(shí)少發(fā)生缺頁,磁盤的能力尚未得到充分的利用;反之,如果是L比缺頁,缺頁的速度已超過磁盤的處理能力。只有當(dāng)L與S接近時(shí),磁盤和處理機(jī)都可達(dá)到22.為了實(shí)現(xiàn)請求分段式存儲管理,應(yīng)在系統(tǒng)中增加配置哪些硬件機(jī)構(gòu)?23.在請求段表機(jī)制中,應(yīng)設(shè)置哪些段表項(xiàng)?答:在段表項(xiàng)中,除了段名(號)、段長、段在內(nèi)存中的起始地址(段基址)外,還增加了(1)存取方式加存取方式字段,如果該字段為兩位,則存取屬性是只執(zhí)行、只讀和允許讀/寫。(2)訪問字段A(3)修改位M(4)存在位p(5)增補(bǔ)位(6)外存始址24.說明請求分段系統(tǒng)中的缺頁中斷處理過程。(1)根據(jù)當(dāng)前執(zhí)行指令中的邏輯地址查頁表,判斷該頁是否在主存儲器中;(3)操作系統(tǒng)處理缺頁中斷的辦法是查主存分配表,找到一個(gè)空閑的主存塊,查頁表找出(4)把從磁盤上讀出的信息裝入到主存塊中;(6)由于產(chǎn)生缺頁中斷時(shí)那條指令并沒執(zhí)行完,所以在把頁面裝入之后應(yīng)重新執(zhí)行被中斷請求分段系統(tǒng)中的中斷處理過程如圖5-17所示。圖5-17請求分段系統(tǒng)中的中斷處理過程25.請對共享段表中的各項(xiàng)作簡要說明。答:(1)共享進(jìn)程計(jì)數(shù)count設(shè)置共享進(jìn)程計(jì)數(shù)count。當(dāng)某進(jìn)程不再需要而釋放它時(shí),系統(tǒng)并不立即回收該段所占內(nèi)存區(qū),而是檢查count是否為0,若不是0,則表示還有進(jìn)程需要它,僅當(dāng)所有共享該段的進(jìn)程全都不再需要它時(shí),此時(shí)count為0,才由系統(tǒng)回收該段所占內(nèi)存區(qū)。(2)存取控制字段(3)段號26.如何實(shí)現(xiàn)共享分段的分配和回收?答:(1)共享段的分配段表中增加一表項(xiàng),填寫有關(guān)數(shù)據(jù),把count置為1之后,當(dāng)又有其它進(jìn)程需要調(diào)用該共享表中增加一表項(xiàng),填寫該共享段的物理地址;在共享存取控制等,再執(zhí)行count=count+1操作,以表明有兩個(gè)進(jìn)程共享該段。(2)共享段的回收以及取消在共享段表中該段所對應(yīng)的表項(xiàng),表明此時(shí)己沒有進(jìn)程使用該段;否則(減1結(jié)果不為0),只是取消調(diào)用者進(jìn)程在共享段表中的有關(guān)記錄。1.操作系統(tǒng)的I/O子系統(tǒng)通常由4個(gè)層次組成,每一層明確定義了與鄰近層次的接口,其合理的層次組織排列順序是()。[2012年統(tǒng)考]A.用戶級I/O軟件、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動(dòng)程序、中斷處理程序B.用戶級I/O軟件、設(shè)備無關(guān)軟件、中斷處理程序、設(shè)備驅(qū)動(dòng)程序D.用戶級I/O軟件、中斷處理程序、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動(dòng)程序【答案】A查看答案區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析完該文件的時(shí)間分別是()。[2011年統(tǒng)考]【解析】如圖5-17所示。圖5-17圖5-17中上半部分為單緩沖,下半部分為雙緩沖。每個(gè)標(biāo)號的格子長度為100,沒標(biāo)號的格子長度為50,代表對應(yīng)處理步驟所需的時(shí)間。3.用戶程序發(fā)出磁盤I/O請求后,系統(tǒng)的正確處理流程是()。[2011年統(tǒng)考]A.用戶程序→系統(tǒng)調(diào)用處理程序→中斷處理程序→設(shè)備驅(qū)動(dòng)程序B.用戶程序→系統(tǒng)調(diào)用處理程序→設(shè)備驅(qū)動(dòng)程序→中斷處理程序C.用戶程序→設(shè)備驅(qū)動(dòng)程序→系統(tǒng)調(diào)用處理程序→中斷處理程序D.用戶程序→設(shè)備驅(qū)動(dòng)程序→中斷處理程序→系統(tǒng)調(diào)用處理程序【答案】B查看答案【解析】首先用戶程序(目態(tài))是不能直接調(diào)用設(shè)備驅(qū)動(dòng)程序的,因?yàn)橛嘘P(guān)對I/O設(shè)備I/O軟件一般從上到下分為如圖5-18所示的4個(gè)層次:用戶層、設(shè)備獨(dú)立性軟件層、設(shè)備驅(qū)圖5-18I/O軟件層次結(jié)構(gòu)4.程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識是()。[2009年統(tǒng)考]A.邏輯設(shè)備名B.物理設(shè)備名C.主設(shè)備號D.從設(shè)備號【答案】A查看答案【解析】在操作系統(tǒng)的設(shè)備管理中,用戶程序不直接使用物理設(shè)備名(或設(shè)備的物理地址),I/O操作。邏輯設(shè)備是實(shí)際物理設(shè)備屬性的抽象,它并不限于某個(gè)具體設(shè)備。5.設(shè)備與CPU之間數(shù)據(jù)傳送控制方式有4種,下面的4個(gè)選項(xiàng)中不屬于這4種的是()。A.程序直接控制方式B.設(shè)備控制方式C.直接內(nèi)存訪問(DMA)方式D.通道控制方式【答案】B查看答案【解析】設(shè)備與CPU之間數(shù)據(jù)傳送控制方式有4種,它們是程序直接控制方式、中斷控制方式、直接內(nèi)存訪問(DMA)方式和通道控制方式。6.根據(jù)使用方式,可將緩沖區(qū)設(shè)置成()。A.專用緩沖區(qū)和特殊緩沖區(qū)B.單緩沖區(qū)和多緩沖區(qū)C.專用緩沖區(qū)和通用緩沖區(qū)D.多緩沖區(qū)和緩沖池【答案】C查看答案7.下面關(guān)于獨(dú)占設(shè)備和共享設(shè)備的說法中錯(cuò)誤的是()。A.打印機(jī)、掃描儀等屬于獨(dú)占設(shè)備B.對獨(dú)占設(shè)備往往采用靜態(tài)分配方式D.對共享設(shè)備往往采用靜態(tài)分配方式8.下面4個(gè)選項(xiàng)中不屬于SPOOLing系統(tǒng)特點(diǎn)的是()。A.提高了內(nèi)存的利用率B.提高了I/O操作的速度C.將獨(dú)占設(shè)備改造為共享設(shè)備D.實(shí)現(xiàn)了虛擬設(shè)備功能【答案】A查看答案【解析】SPOOLing系統(tǒng)的核心思想是利用一臺可共享的、高速大容量的塊設(shè)備(磁盤)來9.設(shè)磁盤的轉(zhuǎn)速為300轉(zhuǎn)/分,盤面劃分成10個(gè)扇區(qū),則讀取一個(gè)扇區(qū)的時(shí)間為()。【解析】磁盤的轉(zhuǎn)速為300轉(zhuǎn)/分,若以秒為單位,則為1秒內(nèi)磁盤轉(zhuǎn)5轉(zhuǎn)。又因?yàn)楸P面被劃分為10個(gè)扇區(qū),這使得一秒內(nèi)磁頭讀取了5×10=50個(gè)扇區(qū)。所以讀取一個(gè)扇區(qū)的時(shí)間為1/50秒=0.02秒=2ms。10.以下說法錯(cuò)誤的是()A.活動(dòng)頭磁盤的訪問時(shí)間包括尋到時(shí)間、旋轉(zhuǎn)延遲和傳輸時(shí)間。B.通道分兩種類型:字節(jié)多路通道和數(shù)組選擇通道。C.虛擬設(shè)備是利用某種技術(shù)把獨(dú)占設(shè)備改造成可由多個(gè)進(jìn)程共享D.I/O設(shè)備處理進(jìn)程平時(shí)處于睡眠狀態(tài),當(dāng)I/O請求和I/O操作完成出現(xiàn)時(shí),被喚醒。【答案】B查看答案二、填空題【答案】物理設(shè)備查看答案【解析】本題主要考查設(shè)備的概念、設(shè)備的無關(guān)性等相關(guān)內(nèi)容。在操作系統(tǒng)中,規(guī)定在用戶程序中不直接使用設(shè)備的物理名稱(或設(shè)備的物理地址),而用設(shè)備忙碌狀態(tài)、使用情況而由系統(tǒng)或用戶再次確定。例如,使用CON這一邏輯名代表所有具有打印機(jī)屬性的設(shè)備,而在系統(tǒng)運(yùn)行過程中,用戶根據(jù)不同情況,將CON作為系統(tǒng)打印【答案】設(shè)備的分配、控制查看答案【解析】本題主要考查操作系統(tǒng)對設(shè)備管理的功能等相關(guān)內(nèi)容?!敬鸢浮烤彌_區(qū)查看答案【解析】本題主要考查緩沖區(qū)及其引入原因等相關(guān)內(nèi)因?yàn)樘岣逫/O速度和設(shè)備的利用率,在很大程度上都需要借助于緩沖技術(shù)來實(shí)現(xiàn)。緩沖管理(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。事實(shí)上,凡在數(shù)據(jù)到達(dá)速率與其離去速率度跟不上,而使CPU停下來等待;在計(jì)算階段,打印機(jī)又空閑,如果在打印機(jī)或控制器中(2)減少對CPU的中斷頻率,放寬對中斷響應(yīng)時(shí)間的限制。從終端發(fā)來的數(shù)據(jù)用一位緩沖來接收,則必須在每收到一位數(shù)據(jù)時(shí)便中斷CPU一次,對于速率為9.6Kbps的數(shù)據(jù)通信來說,就意味著其中斷CPU的頻率也為9.必須在100μs內(nèi)予以響應(yīng),否則緩沖區(qū)內(nèi)的數(shù)據(jù)將被沖掉。倘若設(shè)置一個(gè)具有8位的緩沖寄存器,則可使CPU被中斷的頻率降低為只有一位緩沖時(shí)的1/8;若再增設(shè)一個(gè)8位寄存器,(3)提高CPU和I/O設(shè)備之間的并行性。緩沖的引入可顯著地提高CPU和設(shè)備的并行操便可使CPU與打印機(jī)并行工作,提高了計(jì)算機(jī)系統(tǒng)的資源利用率。4.獨(dú)占設(shè)備分配時(shí)所使用的數(shù)據(jù)結(jié)構(gòu)為設(shè)備分配表,它由和_兩部分組成。【答案】設(shè)備類表;設(shè)備表查看答案【解析】本題主要考查設(shè)備的分配等相關(guān)內(nèi)容。在用戶申請分配設(shè)備時(shí),不是具體指定要哪臺設(shè)備,而是指出來申請分配哪一類設(shè)備多少臺,且在用戶程序中用“設(shè)備類相對號”來提出使用設(shè)備的要求。所以,用戶編制程序時(shí)使用的設(shè)在分配設(shè)備時(shí)適應(yīng)性好、靈活性強(qiáng),這是因?yàn)椋?1)系統(tǒng)只要從指定的那一類設(shè)備中找出“好的、尚未分配的”設(shè)備來進(jìn)行分配;(2)萬一用戶使用的設(shè)備出現(xiàn)了故障,系統(tǒng)就可以從同類設(shè)備中找另一臺“好的、尚未分配為了記錄設(shè)備的分配情況,系統(tǒng)可設(shè)置設(shè)備分配表,指出系統(tǒng)所配置的設(shè)備類型,臺數(shù)以及分配和使用情況等。設(shè)備分配表由兩部分組成:設(shè)備類表和設(shè)備表。每類設(shè)備在設(shè)備類表中占一個(gè)登記欄,指出這一類設(shè)備擁有的總臺數(shù),當(dāng)前還剩幾臺,及該類設(shè)備在設(shè)備表中的起始地址。第一臺設(shè)備在設(shè)備表中占一個(gè)登記項(xiàng),同類的若干臺設(shè)備連5.活動(dòng)頭磁盤的訪問時(shí)間包括和-0【答案】尋道時(shí)間;旋轉(zhuǎn)延遲;傳輸時(shí)間查看答案【解析】活動(dòng)頭(移動(dòng)頭)磁盤在每個(gè)盤面僅有一個(gè)磁頭,被裝入到磁臂中,為能訪問該盤面上的所有磁道,該磁頭必須能移動(dòng)進(jìn)行尋道。而對磁盤的訪問,包括以下3部分:(1)尋道時(shí)間Ts。把磁臂(磁頭)從當(dāng)前位置移動(dòng)到指定磁道上所經(jīng)歷的時(shí)間。該時(shí)間是啟動(dòng)磁盤的時(shí)間s與磁頭移動(dòng)n條磁道所花費(fèi)的時(shí)間之和。(2)旋轉(zhuǎn)延遲時(shí)間Tr。Tr是指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)間。(3)傳輸時(shí)間Tt。Tt是指把數(shù)據(jù)從磁盤讀出,或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時(shí)間,傳輸時(shí)間的大小與每次所讀/寫的字節(jié)數(shù)b及旋轉(zhuǎn)速度有關(guān)。6.磁盤的驅(qū)動(dòng)調(diào)度先進(jìn)行調(diào)度,再進(jìn)行調(diào)度。(西部名校經(jīng)典試題)【答案】移臂調(diào)度;旋轉(zhuǎn)調(diào)度查看答案【解析】在共享設(shè)備中,采用某種策略從等待訪問該設(shè)備的進(jìn)程中選擇一個(gè)進(jìn)程訪問設(shè)備的工作稱為驅(qū)動(dòng)調(diào)度。其目的是降低若干個(gè)訪問者執(zhí)行I/O操作的總時(shí)間,提高I/O操作的吞吐量。對于磁盤設(shè)備來說驅(qū)動(dòng)調(diào)度先進(jìn)行“移臂調(diào)度”,以尋求較優(yōu)化的尋找時(shí)間,然后再定位好柱面,進(jìn)行“旋轉(zhuǎn)調(diào)度”,尋求好的延遲時(shí)間,最后定位好扇區(qū)。7.虛擬設(shè)備是指操作系統(tǒng)利用某種I/O技術(shù),將某個(gè)設(shè)備改造為多個(gè)用戶可以同時(shí)共享的設(shè)備?!敬鸢浮开?dú)占設(shè)備查看答案【解析】虛擬設(shè)備是利用某種技術(shù)把獨(dú)占設(shè)備改造成可由多個(gè)進(jìn)程共享的設(shè)備。虛擬分配技術(shù)是利用共享設(shè)備去模擬獨(dú)占設(shè)備,從而使獨(dú)占設(shè)備稱為可共享的、快速I/O的設(shè)備。實(shí)現(xiàn)虛擬分配的最有名的技術(shù)是SPOOLing技術(shù),即假脫機(jī)技術(shù)。而假脫機(jī)技術(shù)(SPOOLing技術(shù))是在通道技術(shù)和多道程序設(shè)計(jì)基礎(chǔ)上產(chǎn)生的,它由主機(jī)和相應(yīng)的通道共同承擔(dān)作業(yè)的輸入/輸出工作,利用磁盤作為后援存儲器,實(shí)現(xiàn)外圍設(shè)備同時(shí)聯(lián)機(jī)操作。8.I/O設(shè)備處理進(jìn)程平時(shí)處于狀態(tài),當(dāng)和出現(xiàn)時(shí),被喚醒?!敬鸢浮克撸籌/O請求;I/O操作完成【解析】設(shè)備處理程序通常又稱為設(shè)備驅(qū)動(dòng)程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,故簡稱為設(shè)備驅(qū)動(dòng)程序。而在通常狀況下,I/O設(shè)備沒有操作時(shí),I/O設(shè)備處理進(jìn)程都處于睡眠狀態(tài)(阻塞),當(dāng)有I/O請求或者I/O操作完成,中斷處理程序響應(yīng)中斷,而中斷處理程序要開始執(zhí)行,都必須先去喚醒阻塞的I/O設(shè)備處理驅(qū)動(dòng)(程序)進(jìn)程。三、綜合題1.為什么說有了通道技術(shù)和中斷技術(shù)才真正做到了中央處理器和外部設(shè)備的并行操作?這樣一來,中央處理器還是把大量的時(shí)間花在查詢狀有了中斷技術(shù)后,中央處理器可以完全不管通道和設(shè)備的執(zhí)行,如常結(jié)束),通道就會發(fā)生I/O中斷,通知中央處理器來處理,所以通道技術(shù)與中斷技術(shù)的出2.試述磁盤調(diào)度的掃描算法(又稱電梯算法)的基本思想和處理流程。定5條規(guī)則,即:(1)建立兩個(gè)獨(dú)立的等待隊(duì)列,向上掃描隊(duì)列和向下掃描隊(duì)列;(2)磁頭臂向上運(yùn)動(dòng)時(shí),調(diào)度向上掃描隊(duì)列,向下運(yùn)動(dòng)時(shí)調(diào)度向下掃

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論