下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)八 頁式虛擬存儲(chǔ)管理中地址轉(zhuǎn)換和缺頁中斷的模擬(綜合性編程實(shí)驗(yàn) 4學(xué)時(shí))(本次作業(yè)要交,交作業(yè)時(shí)間:第12周上實(shí)驗(yàn)課前交)目的要求通過模擬頁式虛擬存儲(chǔ)管理中地址轉(zhuǎn)換和頁面置換,主要了解頁式存儲(chǔ)管理 的思想,以及掌握頁式地址轉(zhuǎn)換過程和缺頁中斷處理過程。實(shí)驗(yàn)任務(wù)編程模擬頁式虛擬存儲(chǔ)管理中硬件地址轉(zhuǎn)換和用先進(jìn)先出算法(FIFO)及其 他一種算法(由同學(xué)們?cè)贔IFO外任選一種,在(二)的輸出時(shí)的第一行說明是哪 一種置換算法)處理缺頁中斷。實(shí)驗(yàn)環(huán)境、設(shè)備硬件:586以上的PC系列機(jī),主頻大于166M,內(nèi)存大于16MB,硬盤空閑空 間大于500MB。軟件:選擇一個(gè)自己熟悉的計(jì)算機(jī)操作系統(tǒng)(如DOS、W
2、indows98 / 2000 /XP、UNIX、linux等,根據(jù)各學(xué)校的條件與環(huán)境而定)和程序設(shè)計(jì)語言(如TurboC、C語言、PASCAL語言等)。編程語言由各位同學(xué)自己選擇確定,不做統(tǒng)一規(guī)定。實(shí)驗(yàn)指導(dǎo)編程實(shí)現(xiàn)兩個(gè)功能:一是地址轉(zhuǎn)換;二是模擬頁面置換情況。(一)地址轉(zhuǎn)換:A.將邏輯地址中的頁號(hào)分離出來,查找頁表,將查找到的塊號(hào)與邏輯地址中 的頁內(nèi)偏移量合成實(shí)際地址,若查找不到則產(chǎn)生缺頁中斷,按FIFO的方法置換 頁面。數(shù)據(jù)結(jié)構(gòu)arraysize-pt 2為頁表,其中 arrayn0為頁號(hào),arrayn1為塊 號(hào),size-pt表示系統(tǒng)分配給進(jìn)程塊數(shù),即頁表中的頁數(shù)。地址變換算法思想首先初
3、始化頁表:賦值給分配的塊數(shù)(頁表的大?。﹕ize-pt=3,然后賦 值給初始頁表中的頁號(hào)(-1,-1,-1)和相對(duì)應(yīng)的塊號(hào)(2,5,3),初始化完成后程序 輸出初始化后的頁表。然后是地址轉(zhuǎn)換:輸入10進(jìn)制邏輯地址,程序分離出邏輯地址的頁號(hào), 然后查找頁表,若缺頁則提示中斷發(fā)生,并修改頁表,然后輸出轉(zhuǎn)換后的地址, 輸出頁表。3 .執(zhí)行情況程序提示please input size of the page table:”,要求輸入分配的塊數(shù)size-pt,即頁表的大小。(此時(shí)輸入3,并把size-pt賦值3)然后根據(jù)size-pt,循環(huán)輸入初始化頁表里的頁號(hào)(-1,-1,-1)和對(duì)應(yīng)的塊號(hào) (2,
4、5,3)。用J來表示下一個(gè)將會(huì)被置換的頁面存放位置,初始指向頁表中最后一個(gè)頁 面,按照(j + 1)%size-pt循環(huán)。(將j賦值為0)。然后程序輸出頁表情況:頁號(hào)和對(duì)應(yīng)的塊號(hào)。(即:)至此初始化完成。程序提示input the address wanted to be translated。 exit):”,要求輸入要轉(zhuǎn)換的邏輯地址.程序分離出頁號(hào)后查找頁表,查找到則直接輸出轉(zhuǎn)換后的地址。否則提示intermittence occurred, page A has been replaced with page B”,A代表被置換的頁號(hào),B代表置換后的頁號(hào)。然后再輸出轉(zhuǎn)換后的地址(10進(jìn)制
5、)。輸出轉(zhuǎn)換后的地址后,程序還把轉(zhuǎn)換后的頁表顯示出來,可以清楚地了解頁 表是否被置換和置換情況。最后,結(jié)束時(shí),輸出缺頁中斷次數(shù)。4.結(jié)果舉例初始時(shí)頁表如下:輸入邏輯地址5000(程序假設(shè)頁面大小為1k即1024).5000/1024=4; 5000%1024=9045000(4,904)查找 arrayi0(for(int i=0;i=2;i+)if(arrayi0=4) x=i;break;等等)a.如果找到,5000。分(4,904)。分(2,904)。分2*1024+904,輸出此結(jié)果。b.如果沒找到,產(chǎn)生缺頁中斷,根據(jù)j所指向的位置(例1:假設(shè)j=0),把 arrayj0=4;然后找出
6、 arrayj1=2,5000。分(4,904)。分(2,904) 62*1024+904 ;修改 j 的值,j=(j+1) % size-pt;然后把 sum-int+;根據(jù)j所指向的位置(例2 :假設(shè)j=1),把a(bǔ)rrayj0=4;然后找出 arrayj1=5,5000。分(4,904)。分(5,904)。分5*1024+904 ;修改 j 的 值,j=(j+1) % size-pt;然后把 sum-int+;(二)頁面置換模擬:算法思想輸入頁面序列,缺頁時(shí)按FIFO的策略進(jìn)行頁面置換,輸出置換情況和缺頁 次數(shù).數(shù)據(jù)結(jié)構(gòu)size-pt表示分配給該進(jìn)程的塊數(shù)(本例為3)。j指向下一個(gè)將被置換
7、的頁面,初始為0,指向頁表的第一項(xiàng).sum-int用來計(jì)算中斷次數(shù)。執(zhí)行結(jié)果舉例輸入size-pt為3輸入頁面序列為 5000,3172,2072,1279,4100,3190,5200,100,200,-1 (-1表示輸入結(jié)束)。(所在頁面數(shù):第4、3、2、1、4、3、5、0、0)輸出為:There has been intermittencesoccurred.表示有次中斷發(fā)生五.實(shí)驗(yàn)源代碼import java.util.*;public class Example public static void main(String args) final int a=1024;int siz
8、e_pt;/ 頁表大小System.out.println(please input size of the page table:);Scanner reader二new Scanner(System.in);size_pt=reader.nextInt();int array二new intsize_pt2;/ 二維數(shù)組表示頁表 System.out.println(please initise array:);for(int i=0;isize_pt;i+) for(int k=0;k2;k+)arrayik=reader.nextInt();System.out.println(置換前
9、的頁表:); for(int i=0;isize_pt;i+) for(int k=0;k2;k+) System.out.print(arrayik+);System.out.println();int sum_int=0;/ 中斷次數(shù) int num=1;/邏輯地址 int yemianshu;/ 頁面數(shù)int b;/置換后的頁號(hào)int kuaihao;/ 塊號(hào)int xiangdui;/相對(duì)地址int j=0;/下一個(gè)將要被置換的頁面存放位置 int i;while(num!=-1) System.out.println(請(qǐng)輸入地址:); num二reader.nextInt();if(num=-1) break; yemianshu=num/a; b=num%a; for(i=0;i=2)/產(chǎn)生缺頁中斷; arrayj0=yemianshu; kuaihao二arrayj1; sum_int+; j=(+j)%3; else/查頁表; kuaihao二arrayi1;/ sum_int+;xiangdui二kuaihao*a+b;System.out.println(yemianshu+ +arrayj0+ +xiangdui); System.ou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度海參產(chǎn)業(yè)鏈供應(yīng)鏈金融解決方案合同3篇
- 2025年鋼廠爐渣熱能回收利用合同范本2篇
- 2025版五星級(jí)酒店餐飲部員工勞務(wù)合作協(xié)議3篇
- 二零二五年度畜牧飼養(yǎng)技術(shù)培訓(xùn)與推廣合作協(xié)議3篇
- 2025年度電子商務(wù)平臺(tái)個(gè)人勞務(wù)用工合同模板
- 二零二五年度車輛租賃與租賃期限調(diào)整服務(wù)合同3篇
- 二零二五年度橙子產(chǎn)業(yè)投資與融資合作協(xié)議3篇
- 二零二五年度廚具行業(yè)綠色供應(yīng)鏈合作框架協(xié)議3篇
- 2025年度網(wǎng)絡(luò)安全防護(hù)解決方案采購合同范本5篇
- 2025年度個(gè)人購房稅費(fèi)繳納協(xié)議書2篇
- 家長(zhǎng)心理健康教育知識(shí)講座
- 煤礦復(fù)工復(fù)產(chǎn)培訓(xùn)課件
- GB/T 292-2023滾動(dòng)軸承角接觸球軸承外形尺寸
- 2024年九省聯(lián)考高考數(shù)學(xué)卷試題真題答案詳解(精校打?。?/a>
- 軍人結(jié)婚函調(diào)報(bào)告表
- 民用無人駕駛航空器實(shí)名制登記管理規(guī)定
- 北京地鐵6號(hào)線
- 航空油料計(jì)量統(tǒng)計(jì)員(初級(jí))理論考試復(fù)習(xí)題庫大全-上(單選題匯總)
- 諒解書(標(biāo)準(zhǔn)樣本)
- 西班牙語構(gòu)詞.前后綴
- 《工程測(cè)試技術(shù)》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論