3.(2001年)
從資源管理的觀點來看,操作系統(tǒng)的管理對象是計算機系統(tǒng)的資源,操作系統(tǒng)則是管理系統(tǒng)資源的程序集合。
(1).試問操作系統(tǒng)所管理的資源有哪些?(4分)
(2).操作系統(tǒng)從哪幾個方面對資源進行管理?主要完成什么工作?(12分)
(3).以存儲管理中的段式存儲管理為例,請敘述操作系統(tǒng)對內(nèi)存的具體管理方案(包括功能、數(shù)據(jù)結(jié)構(gòu)和算法)。(14分)
答案:
(1).操作系統(tǒng)所管理的資源分為硬件資源和軟件資源,硬件資源包括:CPU、內(nèi)存、各種外部設備,軟件資源主要是信息(程序和數(shù)據(jù))。(4分)
(2).操作系統(tǒng)在共享的前題下,以資源分配、使用和回收為出發(fā)點,考慮操作系統(tǒng)各部分程序的功能和算法,解決并發(fā)環(huán)境中的資源管理問題。
雖然操作系統(tǒng)所管理的各類資源的性質(zhì)各不相同,但所需要解決的問題以及資源管理的策略又都具有類似之處。因此,每種資源管理模塊都要研究以下幾方面的內(nèi)容:
①記住資源的使用狀態(tài),即記住哪些資源處于空閑,哪些資源已被使用和被誰使用等;
②確定資源的分配策略,即根據(jù)各類資源的不同特點確定一組原則,以決定如何進行資源的分配和調(diào)度;
③執(zhí)行資源的分配,即根據(jù)用戶的要求和資源分配策略,具體執(zhí)行資源的分配工作;
④回收資源,即當某些用戶作業(yè)已不再需要某種資源時,系統(tǒng)及時地回收資源,以便重新分配給其它的作業(yè)使用。
(答出一項給3分。)
(3).首先從內(nèi)存劃分、程序邏輯地址劃分、內(nèi)存分配幾方面考慮段式存儲管理方案的工作原理:
①內(nèi)存劃分:內(nèi)存空間被動態(tài)地劃分為若干個長度不相同的區(qū)域,每個區(qū)域稱作一個物理段、每個物理段在內(nèi)存中有一個起始地址,稱作段首址。將物理段中的所有單元從0開始依次編址,稱為段內(nèi)地址。(2分)
②邏輯地址空間劃分:用戶程序按邏輯上有完整意義的段來劃分。稱為邏輯段。例如主程序、子程序、數(shù)據(jù)等都可各成一段,每段對應于一個過程,一個程序模塊或一個數(shù)據(jù)集合。將一個用戶程序的所有邏輯段從0開始編號,稱為段號。將一個邏輯段中的所有單元從0開始編址,稱為段內(nèi)地址。(2分)
用戶程序的邏輯地址由段號和段內(nèi)地址兩部分組成:段號,段內(nèi)地址
③內(nèi)存分配:系統(tǒng)以段為單位進行內(nèi)存分配,為每一個邏輯段分配一個連續(xù)的內(nèi)存區(qū) (物理段)。邏輯上連續(xù)的段在內(nèi)存不一定連續(xù)存放。(2分) 然后,從實現(xiàn)方法上考慮:
④建立段表(2分)
系統(tǒng)為每個用戶程序建立一張段表,用于記錄用戶程序的邏輯段與內(nèi)存物理段之間的對應關(guān)系,包括邏輯段號,物理段首地址和物理段長度三項內(nèi)容。用戶程序有多少邏輯段,該段表里就登記多少行,且按邏輯段的順序排列。段表存放在內(nèi)存系統(tǒng)區(qū)里。
⑤建立空閑區(qū)表(6分)
系統(tǒng)中設立一張內(nèi)存空閑區(qū)表,記錄內(nèi)存中空閑區(qū)域情況,用于為段分配和回收內(nèi)存。系統(tǒng)在尋找空閑區(qū)時可采用以下三種分配算法。
①首先適應算法
根據(jù)申請,在空閑區(qū)表中選取第一個滿足申請長度的空閑區(qū)。此算法簡單,可以快速做出分配決定。
②適應算法
根據(jù)申請,在空閑區(qū)表中選擇能滿足申請長度的最小空閑區(qū)。此算法最節(jié)約空間,因為 它盡量不分割大的空閑區(qū)。其缺點是可能會形成很多很小的空閑區(qū)域,稱作碎片。
③最壞適應算法
根據(jù)申請,在空閑區(qū)表中選擇能滿足申請要求的的空閑區(qū)。該算法的出發(fā)點是:在大空頭區(qū)中裝人信息后,分割剩下的空閑區(qū)相對也大,還能用于裝入新的信息。該算法的優(yōu)點是可以避免形成碎片;缺點是分割大的空閑區(qū)后,再遇到較大的申請時,無法滿足的可能性較大。 4.(2002年)
目前,大多數(shù)計算機系統(tǒng)都支持虛擬頁式地址轉(zhuǎn)換機制。試回答下列問題:
(1).頁式存儲管理方案中,用戶地址空間怎樣劃分?內(nèi)存地址空間怎樣劃分?內(nèi)存分配過程是怎樣的?(10分)
(2).頁表應設計哪些數(shù)據(jù)項,每個數(shù)據(jù)項的作用是什么?(10分)
(3).頁式存儲管理方案中,地址映射機制需要哪種寄存器的支持?為了加快地址映射速度,需要采取什么措施?該措施的作用是什么?(10分)
答案:
(1).系統(tǒng)將用戶程序的邏輯空間按照相等大小劃分成若干界面,稱為邏輯頁面。(2分)各個邏輯頁面從0開始依次編號,每個邏輯頁面內(nèi)也從0開始編址,稱為頁內(nèi)地址。用戶程序的邏輯地址由邏輯頁號和頁內(nèi)地址兩部分組成。(2分)
頁式存儲管理將內(nèi)存空間按照邏輯頁面大小劃分成等長的若干區(qū)域,每個區(qū)域為一個內(nèi)存塊。(2分)內(nèi)存的所有內(nèi)存塊從0開始編號。(1分)
內(nèi)存分配時,以頁面(塊)為單位,并按用戶程序所需頁數(shù)多少進行分配。(2分)邏輯上相鄰的頁面在內(nèi)存中不一定相鄰,即分配給用戶程序的內(nèi)存塊不一定連續(xù)。(1分)
(2).頁表表項有:
邏輯頁面號;(2分)
物理頁面號(或塊號);(2分)
駐留位(中斷位或特征位):指示該頁在內(nèi)存還是在外存;(2分)
外存地址:指示該頁在外存的地址;(2分)
修改位:指示該頁在內(nèi)存駐留期間是否被修改過;(2分)
(3).系統(tǒng)提供一對硬件寄存器:頁表始址寄存器和頁表長度寄存器。(2分,答對1個為1分)
①頁表始址寄存器,用于保存正在運行進程的頁表在內(nèi)存的首地址。當進程被調(diào)度程序選中投入運行時,系統(tǒng)將其頁表首地址從進程控制塊中取出送入該寄存器。(2分)
②頁表長度寄存器,用于保存正在運行進程的頁表的長度。當進程被選中運行時,系統(tǒng)將它從進程控制中塊中取出送入該寄存器。(2分)
為了加快地址映射速度,可在地址映射機制中增加一個小容量的聯(lián)想寄存器(相聯(lián)存儲器),(2分)它由高速寄存器組成,成為一張快表,快表用來存放當前訪問最頻繁的少數(shù)活動頁的頁號。(2分)
從資源管理的觀點來看,操作系統(tǒng)的管理對象是計算機系統(tǒng)的資源,操作系統(tǒng)則是管理系統(tǒng)資源的程序集合。
(1).試問操作系統(tǒng)所管理的資源有哪些?(4分)
(2).操作系統(tǒng)從哪幾個方面對資源進行管理?主要完成什么工作?(12分)
(3).以存儲管理中的段式存儲管理為例,請敘述操作系統(tǒng)對內(nèi)存的具體管理方案(包括功能、數(shù)據(jù)結(jié)構(gòu)和算法)。(14分)
答案:
(1).操作系統(tǒng)所管理的資源分為硬件資源和軟件資源,硬件資源包括:CPU、內(nèi)存、各種外部設備,軟件資源主要是信息(程序和數(shù)據(jù))。(4分)
(2).操作系統(tǒng)在共享的前題下,以資源分配、使用和回收為出發(fā)點,考慮操作系統(tǒng)各部分程序的功能和算法,解決并發(fā)環(huán)境中的資源管理問題。
雖然操作系統(tǒng)所管理的各類資源的性質(zhì)各不相同,但所需要解決的問題以及資源管理的策略又都具有類似之處。因此,每種資源管理模塊都要研究以下幾方面的內(nèi)容:
①記住資源的使用狀態(tài),即記住哪些資源處于空閑,哪些資源已被使用和被誰使用等;
②確定資源的分配策略,即根據(jù)各類資源的不同特點確定一組原則,以決定如何進行資源的分配和調(diào)度;
③執(zhí)行資源的分配,即根據(jù)用戶的要求和資源分配策略,具體執(zhí)行資源的分配工作;
④回收資源,即當某些用戶作業(yè)已不再需要某種資源時,系統(tǒng)及時地回收資源,以便重新分配給其它的作業(yè)使用。
(答出一項給3分。)
(3).首先從內(nèi)存劃分、程序邏輯地址劃分、內(nèi)存分配幾方面考慮段式存儲管理方案的工作原理:
①內(nèi)存劃分:內(nèi)存空間被動態(tài)地劃分為若干個長度不相同的區(qū)域,每個區(qū)域稱作一個物理段、每個物理段在內(nèi)存中有一個起始地址,稱作段首址。將物理段中的所有單元從0開始依次編址,稱為段內(nèi)地址。(2分)
②邏輯地址空間劃分:用戶程序按邏輯上有完整意義的段來劃分。稱為邏輯段。例如主程序、子程序、數(shù)據(jù)等都可各成一段,每段對應于一個過程,一個程序模塊或一個數(shù)據(jù)集合。將一個用戶程序的所有邏輯段從0開始編號,稱為段號。將一個邏輯段中的所有單元從0開始編址,稱為段內(nèi)地址。(2分)
用戶程序的邏輯地址由段號和段內(nèi)地址兩部分組成:段號,段內(nèi)地址
③內(nèi)存分配:系統(tǒng)以段為單位進行內(nèi)存分配,為每一個邏輯段分配一個連續(xù)的內(nèi)存區(qū) (物理段)。邏輯上連續(xù)的段在內(nèi)存不一定連續(xù)存放。(2分) 然后,從實現(xiàn)方法上考慮:
④建立段表(2分)
系統(tǒng)為每個用戶程序建立一張段表,用于記錄用戶程序的邏輯段與內(nèi)存物理段之間的對應關(guān)系,包括邏輯段號,物理段首地址和物理段長度三項內(nèi)容。用戶程序有多少邏輯段,該段表里就登記多少行,且按邏輯段的順序排列。段表存放在內(nèi)存系統(tǒng)區(qū)里。
⑤建立空閑區(qū)表(6分)
系統(tǒng)中設立一張內(nèi)存空閑區(qū)表,記錄內(nèi)存中空閑區(qū)域情況,用于為段分配和回收內(nèi)存。系統(tǒng)在尋找空閑區(qū)時可采用以下三種分配算法。
①首先適應算法
根據(jù)申請,在空閑區(qū)表中選取第一個滿足申請長度的空閑區(qū)。此算法簡單,可以快速做出分配決定。
②適應算法
根據(jù)申請,在空閑區(qū)表中選擇能滿足申請長度的最小空閑區(qū)。此算法最節(jié)約空間,因為 它盡量不分割大的空閑區(qū)。其缺點是可能會形成很多很小的空閑區(qū)域,稱作碎片。
③最壞適應算法
根據(jù)申請,在空閑區(qū)表中選擇能滿足申請要求的的空閑區(qū)。該算法的出發(fā)點是:在大空頭區(qū)中裝人信息后,分割剩下的空閑區(qū)相對也大,還能用于裝入新的信息。該算法的優(yōu)點是可以避免形成碎片;缺點是分割大的空閑區(qū)后,再遇到較大的申請時,無法滿足的可能性較大。 4.(2002年)
目前,大多數(shù)計算機系統(tǒng)都支持虛擬頁式地址轉(zhuǎn)換機制。試回答下列問題:
(1).頁式存儲管理方案中,用戶地址空間怎樣劃分?內(nèi)存地址空間怎樣劃分?內(nèi)存分配過程是怎樣的?(10分)
(2).頁表應設計哪些數(shù)據(jù)項,每個數(shù)據(jù)項的作用是什么?(10分)
(3).頁式存儲管理方案中,地址映射機制需要哪種寄存器的支持?為了加快地址映射速度,需要采取什么措施?該措施的作用是什么?(10分)
答案:
(1).系統(tǒng)將用戶程序的邏輯空間按照相等大小劃分成若干界面,稱為邏輯頁面。(2分)各個邏輯頁面從0開始依次編號,每個邏輯頁面內(nèi)也從0開始編址,稱為頁內(nèi)地址。用戶程序的邏輯地址由邏輯頁號和頁內(nèi)地址兩部分組成。(2分)
頁式存儲管理將內(nèi)存空間按照邏輯頁面大小劃分成等長的若干區(qū)域,每個區(qū)域為一個內(nèi)存塊。(2分)內(nèi)存的所有內(nèi)存塊從0開始編號。(1分)
內(nèi)存分配時,以頁面(塊)為單位,并按用戶程序所需頁數(shù)多少進行分配。(2分)邏輯上相鄰的頁面在內(nèi)存中不一定相鄰,即分配給用戶程序的內(nèi)存塊不一定連續(xù)。(1分)
(2).頁表表項有:
邏輯頁面號;(2分)
物理頁面號(或塊號);(2分)
駐留位(中斷位或特征位):指示該頁在內(nèi)存還是在外存;(2分)
外存地址:指示該頁在外存的地址;(2分)
修改位:指示該頁在內(nèi)存駐留期間是否被修改過;(2分)
(3).系統(tǒng)提供一對硬件寄存器:頁表始址寄存器和頁表長度寄存器。(2分,答對1個為1分)
①頁表始址寄存器,用于保存正在運行進程的頁表在內(nèi)存的首地址。當進程被調(diào)度程序選中投入運行時,系統(tǒng)將其頁表首地址從進程控制塊中取出送入該寄存器。(2分)
②頁表長度寄存器,用于保存正在運行進程的頁表的長度。當進程被選中運行時,系統(tǒng)將它從進程控制中塊中取出送入該寄存器。(2分)
為了加快地址映射速度,可在地址映射機制中增加一個小容量的聯(lián)想寄存器(相聯(lián)存儲器),(2分)它由高速寄存器組成,成為一張快表,快表用來存放當前訪問最頻繁的少數(shù)活動頁的頁號。(2分)