




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
XXXX大學(xué)實(shí)驗(yàn)報(bào)告||實(shí)驗(yàn)名稱實(shí)驗(yàn)四存儲(chǔ)器管理實(shí)驗(yàn)課程名稱操作系統(tǒng)||專業(yè)班級(jí):學(xué)生姓名:學(xué)號(hào):成績(jī):指導(dǎo)教師:實(shí)驗(yàn)日期:華北電力大學(xué)實(shí)驗(yàn)報(bào)告第頁(yè)共頁(yè)一、實(shí)驗(yàn)?zāi)康募耙笠?、?shí)驗(yàn)?zāi)康? 存儲(chǔ)器管理的主要功能是,合理地分配內(nèi)存空間,數(shù)據(jù)存儲(chǔ)和查詢。其中,請(qǐng)求頁(yè)式存儲(chǔ)管理是一種具有虛擬空間技術(shù)的存儲(chǔ)器管理系統(tǒng)。 本實(shí)驗(yàn)的目的是,設(shè)計(jì)請(qǐng)求頁(yè)式存儲(chǔ)管理中的頁(yè)面置換算法,加深了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握各種頁(yè)面置換的算法。二、實(shí)驗(yàn)要求 (1)通過(guò)隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:①
50%的指令是順序執(zhí)行的。②
25%的指令均勻分布在低地址部分。③
25%的指令均勻分布在高地址部分。具體實(shí)施的方法是:①在[0,319]的指令地址之間隨機(jī)產(chǎn)生一個(gè)起點(diǎn)m;②順序執(zhí)行一條指令,即執(zhí)行m+1處的執(zhí)行;③在地址[0,m+1]中隨機(jī)選取一條指令執(zhí)行,該指令的地址為m1;④順序執(zhí)行一條指令,即執(zhí)行m1+1處的執(zhí)行;⑤在地址[m1+2,319]中隨機(jī)選取一條指令執(zhí)行;⑥重復(fù)上述步驟直到執(zhí)行了320條指令為止。(2)將指令序列改變?yōu)轫?yè)地址流,并假設(shè):①
頁(yè)面尺寸為1K。②
用戶的內(nèi)存容量為4頁(yè)到32頁(yè)。③
用戶的虛存容量為32K。 在用戶虛存中,按每K存放10條指令來(lái)排列虛存地址,即320條指令在虛存放方式為:第0條~第9條為0號(hào)頁(yè)(對(duì)應(yīng)的虛存地址為[0,9])。第10條~第19條為1號(hào)頁(yè)(對(duì)應(yīng)的虛存地址為[10,19])?!?10條~第319條為31號(hào)頁(yè)(對(duì)應(yīng)的虛存地址為[310,319])。按上述方式,用戶指令可組成32頁(yè)。(3)計(jì)算并輸出下述各種算法在不同內(nèi)存容量下的命中率。①
先進(jìn)先出算法(FIFO)。②
最近最少使用算法(LRU)。③
最佳淘汰算法。④
最少訪問(wèn)頁(yè)面算法(LFR)。其中,命中率為: 命中率=(1+缺頁(yè)次數(shù))/頁(yè)地址流長(zhǎng)度 本實(shí)驗(yàn)中,頁(yè)的地址流長(zhǎng)度為320,頁(yè)面失效次數(shù)為每次訪問(wèn)響應(yīng)指令時(shí),該指令對(duì)應(yīng)的頁(yè)面不在內(nèi)存中的次數(shù)。3.隨機(jī)數(shù)的產(chǎn)生方法 在VC中設(shè)計(jì)到隨機(jī)數(shù)有兩個(gè)函數(shù)srand()andrand()。srand()的作用是是一個(gè)種子,提供每次獲得隨機(jī)數(shù)的基數(shù)而已,rand()根據(jù)種子而產(chǎn)生隨機(jī)數(shù)。注意 1:srand()里的值必須是動(dòng)態(tài)變化的,否則得到的隨機(jī)數(shù)就是一個(gè)固定數(shù) 2:如果我們想得到一個(gè)0-60的隨機(jī)數(shù)那么可以寫成 inti; srand(GetTickCount()); i=rand()%60;二、實(shí)驗(yàn)所需儀器、設(shè)備、材料PC機(jī)三、實(shí)驗(yàn)原理 1、分頁(yè)請(qǐng)求系統(tǒng) 為了能實(shí)現(xiàn)請(qǐng)求調(diào)頁(yè)和置換功能,系統(tǒng)必須提供必要的硬件支持,其中,最重要的是:(1)請(qǐng)求分頁(yè)的頁(yè)表機(jī)制。它是在分頁(yè)的頁(yè)表機(jī)制上增加若干個(gè)項(xiàng)而形成的,作為請(qǐng)求分頁(yè)的數(shù)據(jù)結(jié)構(gòu);(2)缺頁(yè)中斷機(jī)構(gòu)。每當(dāng)用戶程序要訪問(wèn)的頁(yè)面尚未調(diào)入內(nèi)存時(shí),便產(chǎn)生一缺頁(yè)中斷,以請(qǐng)求OS將所缺的頁(yè)面調(diào)入內(nèi)存;(3)地址變換機(jī)構(gòu)。它同樣是在分頁(yè)的地址變換機(jī)構(gòu)的基礎(chǔ)上發(fā)展形成的。為了實(shí)現(xiàn)請(qǐng)求調(diào)頁(yè)還須得到OS的支持,在實(shí)現(xiàn)請(qǐng)求調(diào)頁(yè)功能時(shí),石油OS將所需的頁(yè)從外存調(diào)入內(nèi)存;在實(shí)現(xiàn)置換功能時(shí),也是由OS將內(nèi)存的某些頁(yè)調(diào)至外存。2、頁(yè)面置換算法一、最佳(Optimal)置換算法 采用最佳置換算法可保證獲得最低的缺頁(yè)率。但由于人們目前還無(wú)法預(yù)知一個(gè)進(jìn)程在內(nèi)存的若干個(gè)頁(yè)面中,哪一個(gè)頁(yè)面是未來(lái)最長(zhǎng)時(shí)間內(nèi)不在被訪問(wèn)的,因而該算法也是無(wú)法實(shí)現(xiàn)的,但是可利用該算法去評(píng)價(jià)其它算法。圖6-3示出了利用最佳置換算法時(shí)的置換圖。由圖可看出,采用最佳置換算法,只發(fā)生了6次頁(yè)面置換。二、先進(jìn)先出頁(yè)面置換算法 該算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中的駐留時(shí)間最久的頁(yè)面予以淘汰。該算法實(shí)現(xiàn)簡(jiǎn)單,只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁(yè)面,按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱為替換指針,使它總是指向最老頁(yè)面。但該算法與進(jìn)程實(shí)際運(yùn)行的規(guī)律不相適應(yīng),因?yàn)樵谶M(jìn)程中,有些頁(yè)面經(jīng)常被訪問(wèn),含有全局變量、常用函數(shù)、例程等的頁(yè)面,F(xiàn)IFO置換算法并不能保證這些頁(yè)面不被淘汰。三、最近最久未使用LRU置換算法1、LRU(LeastRecentlyUsed)算法的描述 FIFO置換算法之所以性能較差,是因?yàn)樗罁?jù)的條件是各個(gè)頁(yè)面調(diào)入內(nèi)存的時(shí)間,而頁(yè)面調(diào)入的先后并不能反映頁(yè)面的使用情況。而最近最久未使用(LRU)的頁(yè)面置換算法,,則是根據(jù)頁(yè)面調(diào)入內(nèi)存后的使用情況。由于無(wú)法預(yù)測(cè)各頁(yè)面將來(lái)的使用情況,只能利用“最近的過(guò)去”作為“最近的將來(lái)”的近似。因此,LRU置換算法是選擇最近最久未使用的頁(yè)面予以淘汰。2、LRU算法的硬件支持
把LRU算法作為頁(yè)面置換算法是比較好的,它對(duì)于各種類型的程序都能適用,但實(shí)現(xiàn)起來(lái)有相當(dāng)大的難度,因?yàn)樗笙到y(tǒng)具有較多的支持硬件。所要解決的問(wèn)題有: 1.一個(gè)進(jìn)程在內(nèi)存中的各個(gè)頁(yè)面各有多久時(shí)間未被進(jìn)程訪問(wèn); 2.如何快速地知道哪一頁(yè)最近最久未使用的頁(yè)面。為此,須利用以下兩類支持硬件:(1)寄存器用于記錄某進(jìn)程在內(nèi)存中各頁(yè)的使用情況。實(shí)頁(yè)/RR7R6R5R4R3R2R1R0101010010210101100300O00100401101011511010110600101011700000111801101101(2)棧 可利用一個(gè)特殊的棧來(lái)保存當(dāng)前使用的各個(gè)頁(yè)面的頁(yè)面號(hào)。每當(dāng)進(jìn)程訪問(wèn)某頁(yè)面時(shí),便將該頁(yè)面的頁(yè)面號(hào)從棧中移出,將它壓入棧頂。四、Clock置換算法1、簡(jiǎn)單的Clock置換算法 利用Clock算法時(shí),只須為每頁(yè)設(shè)置一位訪問(wèn)位,在將內(nèi)存中的所有頁(yè)面都通過(guò)鏈接指針鏈成一個(gè)循環(huán)隊(duì)列。當(dāng)某頁(yè)被訪問(wèn)時(shí),其訪問(wèn)位被置1。置換算法在選擇一頁(yè)淘汰時(shí),只須檢查其訪問(wèn)位。2、改進(jìn)型Clock置換算法 在將一個(gè)頁(yè)面換出時(shí),如果該頁(yè)已被修改過(guò),便須將它重新寫到磁盤上;但如果該頁(yè)未被修改過(guò),則不必將它拷回磁盤。同時(shí)滿足兩條件的頁(yè)面作為手癬淘汰的頁(yè)。由訪問(wèn)位A和修改位M可以組合成下面四種類型的頁(yè)面:1類(A=0,M=0)。表示該頁(yè)最近既未被訪問(wèn)、又未被修改,是最佳淘汰頁(yè)。2類(A=0,M=1)。表示該頁(yè)最近未被訪問(wèn),但已被修改,并不是很好的淘汰頁(yè)。3類(A=1,M=0)。最近已被訪問(wèn),但未被修改,該頁(yè)有可能再被訪問(wèn)。4類(A=1,M=1)。最近已被訪問(wèn)且被修改,該頁(yè)有可能再被訪問(wèn)。 在內(nèi)存中的每個(gè)頁(yè)必定是這四類頁(yè)面之一,在進(jìn)行頁(yè)面置換時(shí),可采用與簡(jiǎn)單Clock算法相類似的算法,其差別在于須同時(shí)檢查訪問(wèn)位和修改位,以確定該頁(yè)是四類頁(yè)面中的那一種。此算法稱為改進(jìn)型Clock算法。其執(zhí)行過(guò)程可分成以下三步: (1)從指針?biāo)甘镜漠?dāng)前位置開始,掃描循環(huán)隊(duì)列,尋找A=0且M=0的第一類頁(yè)面,將所遇到的第一個(gè)頁(yè)面作為所選中的淘汰頁(yè)。在第一次掃描期間不改變?cè)L問(wèn)位A。 (2)如果第一步失敗,即查找一周后未遇到第一類頁(yè)面,則開始第二輪掃描,尋找A=0且M=1的第二類頁(yè)面,將所遇到的第一個(gè)這類頁(yè)面作為淘汰頁(yè)。在第二輪掃描期間,將所有經(jīng)過(guò)的頁(yè)面的訪問(wèn)位置0。 (3)如果第二步也失敗,即未找到第二類頁(yè)面,則將指針?lè)祷氐介_始的位置,并將所有的訪問(wèn)位復(fù)0。然后,重復(fù)第一步,如果仍失敗,必要時(shí)在重復(fù)第二步,此時(shí)就一定能夠找到被淘汰的頁(yè)。五、其它置換算法1、最少使用(LeastFrequentlyUsed)置換算法 在采用該算法時(shí),應(yīng)為在內(nèi)存中的每個(gè)頁(yè)面設(shè)置一移位寄存器,用來(lái)記錄該頁(yè)面被訪問(wèn)的頻率,該置換算法選擇在最近時(shí)期使用最少的頁(yè)面作為淘汰頁(yè)。2、頁(yè)面緩沖算法(PageBufferingAlgorithm) 雖然LRU和Clock置換算法都比FIFO算法好,但它們都需要一定的硬件支持,置換一個(gè)已修改的頁(yè)的開銷要大。而頁(yè)面緩沖算法則既改善分頁(yè)系統(tǒng)的性能,又可采用一種較簡(jiǎn)單的置換策略。六、請(qǐng)求分頁(yè)系統(tǒng)的性能分析1、缺頁(yè)率對(duì)有效訪問(wèn)的時(shí)間的影響 缺頁(yè)時(shí)須先調(diào)入該頁(yè)的情況時(shí),有效訪問(wèn)時(shí)間表示為:有效訪問(wèn)時(shí)間=(1-p)ma+p缺頁(yè)中斷時(shí)間。2、缺頁(yè)中斷時(shí)間的組成(1)缺頁(yè)中斷時(shí)間服務(wù)時(shí)間;(2)將缺頁(yè)中斷讀入的時(shí)間;(3)進(jìn)程重新執(zhí)行時(shí)間。 由于CUP速度很快,所以其中地(1)和(3)兩部分可以不超過(guò)1ms;而將一磁盤塊讀入內(nèi)存的時(shí)間,則包括尋道時(shí)間、旋轉(zhuǎn)時(shí)間和數(shù)據(jù)傳送時(shí)間三部分,大體上是24ms。由此可得知缺頁(yè)中斷時(shí)間約為25ms。此處尚未考慮到進(jìn)程可能因排隊(duì)等待所花費(fèi)的時(shí)間。將上述數(shù)據(jù)代入到工集有效訪問(wèn)時(shí)間四:實(shí)驗(yàn)步驟此實(shí)驗(yàn)尚未完全做出,程序無(wú)法正常運(yùn)行。實(shí)驗(yàn)心得操作系統(tǒng)的實(shí)驗(yàn)和數(shù)據(jù)結(jié)構(gòu)的實(shí)驗(yàn)有不同也有相同之處,因?yàn)橹徽莆樟薈語(yǔ)言這一種高級(jí)語(yǔ)言方式,所以在編程方式上和數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)相同。但是操作系統(tǒng)的實(shí)驗(yàn)問(wèn)題更加專業(yè)化,和計(jì)算機(jī)的操作原理中的進(jìn)程調(diào)度有關(guān),更加側(cè)重于計(jì)算機(jī)內(nèi)部的程序和進(jìn)程的運(yùn)行。在一學(xué)期的操作系統(tǒng)課上,我們不僅僅學(xué)到了有關(guān)的專業(yè)知識(shí),還在點(diǎn)滴之間學(xué)到了生活和學(xué)習(xí)的方式方法
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙方吵架調(diào)解協(xié)議書
- 搶救戰(zhàn)場(chǎng)傷員協(xié)議書
- 小學(xué)放假安全協(xié)議書
- 消防免責(zé)協(xié)議書范本
- 拍攝內(nèi)容保密協(xié)議書
- 商業(yè)投稿保密協(xié)議書
- 詐騙退款和解協(xié)議書
- 噴漆廠家轉(zhuǎn)讓協(xié)議書
- 有效補(bǔ)助免責(zé)協(xié)議書
- 加工付款協(xié)議書范本
- 2020湖南對(duì)口升學(xué)英語(yǔ)真題(附答案)
- GB/T 26278-2010輪胎規(guī)格替換指南
- GB 16246-1996車間空氣中硫酸二甲酯衛(wèi)生標(biāo)準(zhǔn)
- 幽門螺桿菌檢測(cè)-課件
- 兒童抑郁量表CDI
- 心電監(jiān)護(hù)操作評(píng)分標(biāo)準(zhǔn)
- GB∕T 37244-2018 質(zhì)子交換膜燃料電池汽車用燃料 氫氣
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- API SPEC 5DP-2020鉆桿規(guī)范
- (完整版)有機(jī)太陽(yáng)能電池課件2
- 電梯使用單位電梯使用和運(yùn)行安全管理制度
評(píng)論
0/150
提交評(píng)論