分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告_第1頁
分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告_第2頁
分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告_第3頁
分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告_第4頁
分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

分頁存儲(chǔ)管理實(shí)驗(yàn)報(bào)告篇一:分頁存儲(chǔ)管理的模擬實(shí)驗(yàn)上機(jī)報(bào)告分頁存儲(chǔ)管理的模擬實(shí)驗(yàn)上機(jī)報(bào)告頁面管理的基本原理及方法:各進(jìn)程的虛擬空間被劃分成若干個(gè)長度相等的頁(page)o頁長的劃分和內(nèi)存外存之間的數(shù)據(jù)傳輸速度以及內(nèi)存大小等有關(guān)。頁式管理還把內(nèi)存空間也按也的大小劃分為頁面(pageframe)。然后把頁式虛擬地址與內(nèi)存頁面物理地址建立一一對(duì)應(yīng)頁表,并用相應(yīng)的硬件地址變換機(jī)構(gòu),來解決離散地址變換問題。在作業(yè)或進(jìn)程開始執(zhí)行之前,把該作業(yè)或進(jìn)程的程序段和數(shù)據(jù)全部裝入內(nèi)存的各個(gè)頁面中,并通過頁表(pagemappingtable)和硬件地址變換機(jī)構(gòu)實(shí)現(xiàn)虛擬地址到內(nèi)存物理地址的地址映射。1.內(nèi)存頁面分配靜態(tài)頁面管理的第一步是為要求內(nèi)存的作業(yè)或進(jìn)程分配足夠的頁面。系統(tǒng)依靠存儲(chǔ)頁面表,請求表及頁表來完成內(nèi)存的分配工作。a.頁表頁表由頁號(hào)與頁面號(hào)組成。如右圖所示頁表的大小由進(jìn)程或作業(yè)的長度決定。例如,對(duì)于一個(gè)每頁長lk,大小為20k的進(jìn)程來說,如果一個(gè)內(nèi)存單元存放一個(gè)頁表項(xiàng),則只要分配給該頁表20個(gè)存儲(chǔ)單元即可。頁式管理是每個(gè)進(jìn)程至少擁有一個(gè)頁表。實(shí)驗(yàn)中對(duì)頁表的定義如下(采用數(shù)組形式,數(shù)組下標(biāo)表示頁號(hào),數(shù)組單元存放與數(shù)組下標(biāo)(頁號(hào))相應(yīng)的頁面號(hào)):intpagetable[100]b?請求表(作業(yè)申請表)請求表用來確定作業(yè)或進(jìn)程的虛擬空間的各頁在內(nèi)存中的對(duì)應(yīng)位置。為了完成這個(gè)認(rèn)為,系統(tǒng)必須知道每個(gè)作業(yè)或進(jìn)程的頁表起始地址(本實(shí)驗(yàn)中假定為0)和長度,以進(jìn)行內(nèi)存分配和地址變換。另外請求表中還包括每個(gè)作業(yè)或進(jìn)程所要求的頁面數(shù)。請求表整個(gè)系統(tǒng)一張,實(shí)驗(yàn)中對(duì)請求表的定義如下(采用結(jié)構(gòu)體數(shù)組形式,并將頁表也作為其中一個(gè)成員(即域)): #defineu5structapplication_table{charname[8];/*作業(yè)名*/intsize; /*作業(yè)大小 即將上表中的請求頁面數(shù)改用字節(jié)表示*/intpaddress; /*頁表起始地址*/intlength;/*頁表長度 以頁面數(shù)表示*/intstate;/*內(nèi)存的分配狀態(tài),以分配的用1表示,未分配的用0表示*/intpagetable[100];/*頁表,放在這里是為了方便虛地址轉(zhuǎn)換及作業(yè)撤銷的操作*/}application[u];c.存儲(chǔ)頁面表(本實(shí)驗(yàn)中采用位示圖法)位示圖也是整個(gè)系統(tǒng)一張,它指出內(nèi)存各頁面是否已被分配出去,以及未分配頁面的總數(shù)。在內(nèi)存中劃分一塊固定區(qū)域,每個(gè)單元的每個(gè)比特代表一個(gè)頁面,如果該頁面已被分配,則對(duì)應(yīng)比特位置為1,否則為0。本實(shí)驗(yàn)中采用二維數(shù)組(16*16)形式存儲(chǔ):intgraphic[16][16]={{0,0,0,1,1},{0,1,1,0,0},{0,0,0,0,1}}d.分配算法首先,將位示圖初始化,可任選幾個(gè)單元,可全部初始化為0.接著,鍵盤輸入作業(yè)名(name)和作業(yè)大?。╯ize),大小為lk,所以將作業(yè)大小除以頁面大?。╨k),頁面數(shù)(即頁表長度),搜索空閑頁面表看是否有n返回”無法分配”,若有則開始設(shè)置頁表,將作業(yè)名,址頁表長度,狀態(tài)置入請求表,起始地址為頁表的第0然后根據(jù)頁表,搜索空閑頁面表,填入頁表中.地址變換由地址分配方式得知,在一個(gè)作業(yè)或進(jìn)程的頁表中,連續(xù)的頁號(hào)對(duì)應(yīng)于不連續(xù)的頁面號(hào).做地址轉(zhuǎn)換時(shí),必須知道所要轉(zhuǎn)換的虛地址(X)以及該虛地址所屬作業(yè)名(由鍵盤輸入,如有重名的作業(yè),則順序輸出虛地址在各項(xiàng)作業(yè)中所對(duì)應(yīng)的物理地址),查頁表,對(duì)應(yīng)頁號(hào)y=x/1024,所求物理地址:作業(yè)撤銷鍵盤輸入所要撤銷的作業(yè)名(如有重名,則都撤銷),搜索作業(yè)申請表,每遇到作業(yè)名相同的,則將作業(yè)大小及狀態(tài)改為0(表示撤銷),搜索頁表,當(dāng)作業(yè)名相同時(shí),根據(jù)頁表修改位示圖中相應(yīng)功能模塊的選擇實(shí)驗(yàn)中采用多分支選擇語句(switch)來實(shí)現(xiàn)多種功能模塊的選擇,寫在主程序中.篇二:分頁管理實(shí)驗(yàn)報(bào)告XX-XX學(xué)年第二學(xué)期操作系統(tǒng)課程實(shí)驗(yàn)設(shè)計(jì)報(bào)告班級(jí)網(wǎng)絡(luò)2班學(xué)號(hào)XX14620207姓名韓金鋮成績指導(dǎo)教師于復(fù)興1、實(shí)驗(yàn)題目:(1)模擬請求分頁存儲(chǔ)管理中的硬件地址轉(zhuǎn)換和產(chǎn)生卻頁中斷的過程。(2)采用先進(jìn)先出(或LRU)算法實(shí)現(xiàn)分頁管理的缺頁調(diào)度。2、 實(shí)驗(yàn)?zāi)康模海?) 通過實(shí)驗(yàn)?zāi)M請求分頁存儲(chǔ)管理中的硬件地址轉(zhuǎn)換和產(chǎn)生卻頁中斷幫助理解在分頁式存儲(chǔ)管理中怎樣虛擬存儲(chǔ)器。(2) 通過采用先進(jìn)先出(或LRU)算法實(shí)現(xiàn)分頁管理的缺頁調(diào)度幫助理解和掌握模擬分頁式虛擬存儲(chǔ)管理的缺頁中斷,幫助自己對(duì)請求分頁管理的概念有一個(gè)清楚的理解。3、 程序設(shè)計(jì)及實(shí)現(xiàn)過程:(1)請求分頁儲(chǔ)存管理是把作業(yè)的全部信息存在磁盤上,當(dāng)作業(yè)被選中時(shí),可把作業(yè)的開始幾頁先裝入主存并啟動(dòng)運(yùn)行。為此,在為作業(yè)建立頁表時(shí),應(yīng)說明哪些頁已在主存,哪些頁尚未裝入主存,頁表格式為:其中,標(biāo)志表示對(duì)應(yīng)頁是否已經(jīng)裝入主存,“標(biāo)志=0”表示該頁尚未裝入主存,“標(biāo)志=1”表示該頁已在主存。主存塊號(hào)表示已裝入主存的頁所占用的塊號(hào)。外存地址表示該頁在外存的地址。(2) 作業(yè)執(zhí)行完時(shí),指令中的邏輯地址指出了參加運(yùn)算的操作數(shù)存放的頁號(hào)和單元號(hào),硬件地址轉(zhuǎn)換機(jī)構(gòu)按頁號(hào)查頁表,若該頁對(duì)應(yīng)的標(biāo)志為“1”,則表示該頁已在主存。根據(jù)關(guān)系式:絕對(duì)地址=塊號(hào)*塊長+單元號(hào)。計(jì)算出欲訪問的主存單元地址,將塊長設(shè)成2的整次冪,可把塊號(hào)作為地址寄存器的高位部分,單元號(hào)作為低位部分。兩個(gè)拼接形成絕對(duì)地址。按計(jì)算出的絕對(duì)地址取操作數(shù),完成一條指令的執(zhí)行。若訪問的頁對(duì)應(yīng)標(biāo)志為“0”,則表示不在主存,這時(shí)硬件發(fā)缺頁中斷信號(hào),由操作系統(tǒng)按頁表中的該頁對(duì)應(yīng)的外存地址把該頁裝入主存后,執(zhí)行該指令。(3) 設(shè)計(jì)一個(gè)“地址變換”程序來模擬硬件的地址轉(zhuǎn)換工作。當(dāng)訪問的頁不在主存時(shí),則形成絕對(duì)地址后不去模擬指令的執(zhí)行,而用輸出轉(zhuǎn)換后的地址來代替一條指令的執(zhí)行,當(dāng)訪問的頁不在主存時(shí),則輸出“*”,表示產(chǎn)生了一次缺頁中斷。該算法框圖如下:地址變換算法:假定主存的每塊長度為126個(gè)字節(jié);現(xiàn)有一個(gè)共7頁的作業(yè),其中第0頁至第3頁已裝入,其余三頁尚未裝入主存,該作業(yè)的頁表為:運(yùn)行設(shè)計(jì)的地址變換機(jī)構(gòu)程序,顯示或打印運(yùn)行結(jié)果因僅模擬地址變換,并不模擬指令的實(shí)際執(zhí)行。(4)在分頁式虛擬存貯系統(tǒng)中,當(dāng)硬件發(fā)出缺頁中斷后,轉(zhuǎn)操作系統(tǒng)處理缺頁中斷。如果主存中已無空閑塊,當(dāng)采用先進(jìn)先出算法時(shí),則淘汰最先進(jìn)入主存的一頁,若該頁修改過,還要存入磁盤,然后在把當(dāng)前要訪問的頁裝入該塊,并修改頁表中的對(duì)應(yīng)標(biāo)志。當(dāng)采用LRU算法時(shí),則淘汰最近沒有訪問的頁。大概流程圖如下:(5)有了具體的核心算法實(shí)現(xiàn)方法之后,就可以開發(fā)簡單的界面,并且把以上綜合到程序中,最后調(diào)試BUG,完成實(shí)驗(yàn)。4、實(shí)驗(yàn)結(jié)果及分析:(1)對(duì)于題目一我制作了一個(gè)幫助界面(如圖1),可以便于我記起實(shí)驗(yàn)的內(nèi)容以及理解相應(yīng)知識(shí),有了已知內(nèi)容,我輸入邏輯地址(例如320)則程序輸出為(如圖2)。圖1“題目一幫助界面”圖2“題目一運(yùn)行界面”(2)對(duì)于題目二我同樣制作了一個(gè)幫助界面(如圖3),可以便于我操作程序不出現(xiàn)格式錯(cuò)誤,如果出錯(cuò)程序會(huì)彈出窗口報(bào)錯(cuò)(如圖4)。當(dāng)物理塊數(shù)為3,頁面使用列表為233223123233時(shí),則采用先進(jìn)先出算法時(shí)table表應(yīng)如下:2332212122332333221223 232333212******(‘*‘代表缺頁中斷)米用LRU算法時(shí)table表應(yīng)如下:23322312323323322312323 2332231212*****(‘*‘代表缺頁中斷)則程序輸出為(如圖5、6)。圖3“題目二幫助界面”圖4“題目二錯(cuò)誤窗口”篇三:請求分頁管理實(shí)驗(yàn)報(bào)告請求分頁存儲(chǔ)管理模擬實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康恼埱箜撌焦芾硎且环N常用的虛擬存儲(chǔ)管理技術(shù)。本設(shè)計(jì)通過請求頁式存儲(chǔ)管理中頁面置換算法模擬設(shè)計(jì),了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請求頁式管理的頁面置換算法。實(shí)驗(yàn)內(nèi)容:通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:①50%的指令是順序執(zhí)行的;25%的指令是均勻分布在前地址部分;③25%的指令是均勻分布在后地址部分。具體的實(shí)施方法是:在[0,319]的指令地址之間隨機(jī)選取一起點(diǎn)m;②順序執(zhí)行一條指令;在前地址[0,m+l]中隨機(jī)選取一條指令并執(zhí)行,該指令的地址為m‘;④順序執(zhí)行一條指令,其地址為m,+1;⑤在后地址[m,+2,319]中隨機(jī)選取一條指令并執(zhí)行;⑥重復(fù)上述步驟②~⑤,直到執(zhí)行320次指令。將指令序列變換成為頁地址流設(shè):①頁面大小為1K用戶內(nèi)存容量為4頁到32頁;③用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中的存放方式為:第0條~第9條指令為第0頁(對(duì)應(yīng)虛存地址為[0,9]);第10條~第19條指令為第1頁(對(duì)應(yīng)虛存地址為[10,19]);第310條~第319條指令為第31頁(對(duì)應(yīng)虛存地址為[310,319])。按以上方式,用戶指令可組成32頁。計(jì)算并輸出下述各種算法在不同內(nèi)存容量下的命中率。先進(jìn)先出的算法(FIFO);最近最少使用算法(LRR);最少訪問頁面算法(LFR);最近最不經(jīng)常使用算法(NUR)。3.實(shí)驗(yàn)環(huán)境每個(gè)學(xué)生一臺(tái)微機(jī),需要安裝windows98或windowsXX操作系統(tǒng),配備VC、VB、java或C編程語言,每個(gè)學(xué)生上機(jī)時(shí)間不少于24個(gè)小時(shí)。(1)、分頁請求系統(tǒng)是:(1) 請求分頁的頁表機(jī)制。它是在分頁的頁表機(jī)制上增加若干個(gè)項(xiàng)而形成的,作為請求分頁的數(shù)據(jù)結(jié)構(gòu);(2) 缺頁中斷機(jī)構(gòu)。每當(dāng)用戶程序要訪問的頁面尚未調(diào)入內(nèi)存時(shí),便產(chǎn)生一缺頁中斷,以請求OS將所缺的頁面調(diào)入內(nèi)存;(3) 地址變換機(jī)構(gòu)。它同樣是在分頁的地址變換機(jī)構(gòu)的基礎(chǔ)上發(fā)展形成的。為了實(shí)現(xiàn)請求調(diào)頁還須得到OS的支持,在實(shí)現(xiàn)請求調(diào)頁功能時(shí),石油OS將所需的頁從外存調(diào)入內(nèi)存;在實(shí)現(xiàn)置換功能時(shí),也是由OS將內(nèi)存的某些頁調(diào)至外存。為了能實(shí)現(xiàn)請求調(diào)頁和置換功能,系統(tǒng)必須提供必要的硬件支持,其中,最重要的4.實(shí)驗(yàn)提示提示:A.命中率=1-頁面失效次數(shù)/頁地址流長度B?本實(shí)驗(yàn)中,頁地址流長度為320,頁面失效次數(shù)為每次訪問相應(yīng)指令時(shí),該指令所對(duì)應(yīng)的頁不在內(nèi)存的次數(shù)。C.關(guān)于隨機(jī)數(shù)產(chǎn)生方法,采用TC系統(tǒng)提供函數(shù)RAND()和RANDOMIZEO來產(chǎn)生。算法的理解㈠FIFO頁面置換算法⑴原理簡述在分配內(nèi)存頁面數(shù)(AP)小于進(jìn)程頁面數(shù)(PP)時(shí),當(dāng)然是最先運(yùn)行的AP個(gè)頁面放入內(nèi)存。這時(shí)有需要處理新的頁面,則將原來內(nèi)存中的AP個(gè)頁面最先進(jìn)入的調(diào)出(是以稱為FIFO),然后將新頁面放入。以后如果再有新頁面需要調(diào)入,則都按⑵的規(guī)則進(jìn)行。算法特點(diǎn):所使用的內(nèi)存頁面構(gòu)成一個(gè)隊(duì)列。㈡LRU頁面置換算法⑴原理算述當(dāng)分配內(nèi)存頁面數(shù)(AP)小于進(jìn)程頁面數(shù)(PP)時(shí),當(dāng)然是把最先執(zhí)行的AP個(gè)頁面放入內(nèi)存。當(dāng)需要調(diào)頁面進(jìn)入內(nèi)存,而當(dāng)前分配的內(nèi)存頁面全部不空閑時(shí),選擇將其中最長時(shí)間沒有用到的那個(gè)頁面調(diào)出,以空出內(nèi)存來放置新調(diào)入的頁面(稱為LRU)。算法特點(diǎn):每個(gè)頁面都有屬性來表示有多長時(shí)間未被CPU使用的信息。㈢LFU即最不經(jīng)常使用頁置換算法⑴原理簡述要求在頁置換時(shí)置換引用計(jì)數(shù)最小的頁,因?yàn)榻?jīng)常使用的頁應(yīng)該有一個(gè)較大的引用次數(shù)。但是有些頁在開始時(shí)使用次數(shù)很多,但以后就不再使用,這類頁將會(huì)長時(shí)間留在內(nèi)存中,因此可以將引用計(jì)數(shù)寄存器定時(shí)右移一位,形成指數(shù)衰減的平均使用次數(shù)。LRU算法的硬件支持把LRU算法作為頁面置換算法是比較好的,它對(duì)于各種類型的程序都能適用,但1.一個(gè)進(jìn)程在內(nèi)存中的各個(gè)頁面各有多久時(shí)間未被進(jìn)程訪問;2.如何快速地知道哪一頁最近最久未使用的頁面。為此,須利用以下兩類支持硬件:實(shí)現(xiàn)起來有相當(dāng)大的難度,因?yàn)樗笙到y(tǒng)具有較多的支持硬件。所要解決的問題有:(1)寄存器(2)??衫靡粋€(gè)特殊的棧來保存當(dāng)前使用的各個(gè)頁面的頁面號(hào)。每當(dāng)進(jìn)程訪問某頁面時(shí),便將該頁面的頁面號(hào)從棧中移出,將它壓入棧頂。算法特點(diǎn):LFU算法并不能真正反映出頁面的使用情況,因?yàn)樵诿恳粫r(shí)間間隔內(nèi),只是用寄存器的一位來記錄頁的使用情況,因此,訪問一次和訪問10000次是等效的。㈣NUR頁面置換算法⑴原理簡述所謂“最近未使用”,首先是要對(duì)“近”作一個(gè)界

溫馨提示

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

評(píng)論

0/150

提交評(píng)論