版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-、實(shí)驗(yàn)題目虛擬存儲(chǔ)器模擬分頁(yè)式存儲(chǔ)管理中硬件的地址轉(zhuǎn)換和產(chǎn)生缺頁(yè)中斷。二、實(shí)驗(yàn)?zāi)康募耙笤谟?jì)算機(jī)系統(tǒng)中,為了提高主存利用率,往往把輔助存儲(chǔ)器(如磁盤)作為 主存儲(chǔ)器的擴(kuò)充,使多道運(yùn)行的作業(yè)的全部邏輯地址空間總和可以超出主存的絕 對(duì)地址空間。用這種辦法擴(kuò)充的主存儲(chǔ)器稱為虛擬存儲(chǔ)器。通過(guò)本實(shí)驗(yàn)幫助同學(xué) 理解在分頁(yè)式存儲(chǔ)管理中怎樣實(shí)現(xiàn)虛擬存儲(chǔ)器。三、環(huán)境(軟、硬件平臺(tái))軟件:c+6.0硬件:pc機(jī)四、實(shí)驗(yàn)內(nèi)容和步驟(1)分頁(yè)式虛擬存儲(chǔ)系統(tǒng)是把作業(yè)信息的副本存放在磁盤上,當(dāng)作業(yè)被選中 時(shí),可把作業(yè)的開始幾頁(yè)先裝入主存且啟動(dòng)執(zhí)行。為此,在為作業(yè)建立頁(yè) 表時(shí),應(yīng)說(shuō)明哪些頁(yè)已在主存,哪些頁(yè)尚未裝入主存,頁(yè)
2、表的格式為:頁(yè)號(hào)標(biāo)志主存塊 號(hào)在磁盤上的位置其中,標(biāo)志用來(lái)表示對(duì)應(yīng)頁(yè)是否已經(jīng)裝入王存,標(biāo)志位=1,則表示該頁(yè)已經(jīng)在主存,標(biāo)志位=0,則表示該頁(yè)尚未裝入主存。主存塊號(hào)用來(lái)表示已經(jīng)裝入主存的頁(yè)所占的塊號(hào)。在磁盤上的位置用來(lái)指出作業(yè)副本的每一頁(yè)被存放在磁盤上的位置。(2)作業(yè)執(zhí)行時(shí),指令中的邏輯地址指出了參加運(yùn)算的操作存放的頁(yè)號(hào)和單元 號(hào),硬件的地址轉(zhuǎn)換機(jī)構(gòu)按頁(yè)號(hào)查頁(yè)表,若該頁(yè)對(duì)應(yīng)標(biāo)志為“1”,則表示 該頁(yè)已在主存,這時(shí)根據(jù)關(guān)系式:絕對(duì)地址二塊號(hào)X塊長(zhǎng)+單元號(hào)計(jì)算出欲訪問(wèn)的主存單元地址。如果塊長(zhǎng)為2的幕次,則可把塊號(hào)作為 高地址部分,把單元號(hào)作為低地址部分,兩者拼接而成絕對(duì)地址。若訪問(wèn)的頁(yè)對(duì)應(yīng)標(biāo)志為
3、“0”,則表示該頁(yè)不在主存,這時(shí)硬件發(fā)“缺頁(yè)中斷” 信號(hào),有操作系統(tǒng)按該頁(yè)在磁盤上的位置,把該頁(yè)信息從磁盤讀出裝入 主存后再重新執(zhí)行這條指令。(3)設(shè)計(jì)一個(gè)“地址轉(zhuǎn)換”程序來(lái)模擬硬件的地址轉(zhuǎn)換工作。當(dāng)訪問(wèn)的頁(yè)在主 存時(shí),則形成絕對(duì)地址,但不去模擬指令的執(zhí)行,而用輸出轉(zhuǎn)換后的地址 來(lái)代替一條指令的執(zhí)行。當(dāng)訪問(wèn)的頁(yè)不在主存時(shí),則輸出“*該頁(yè)頁(yè)號(hào)”, 表示產(chǎn)生了一次缺頁(yè)中斷。該模擬程序的算法如圖2-1。圖2-1地址轉(zhuǎn)換模擬算法(4)假定主存的每塊長(zhǎng)度為128個(gè)字節(jié);現(xiàn)有一個(gè)共七頁(yè)的作業(yè),其中第0頁(yè) 至第3頁(yè)已經(jīng)裝入主存,其余三頁(yè)尚未裝入主存;該作業(yè)的頁(yè)表為:015011118012219013311
4、021400225002360121如果作業(yè)依次執(zhí)行的指令序列為:操作頁(yè)號(hào)單元 號(hào)操作頁(yè)號(hào)單元 號(hào)+070移位4053+150+5023X215存1037存321取2078取056+4001640存6084(4)運(yùn)行設(shè)計(jì)的地址轉(zhuǎn)換程序,顯示或打印運(yùn)行結(jié)果。因僅模擬地址轉(zhuǎn)換,并 不模擬指令的執(zhí)行,故可不考慮上述指令序列中的操作。五、運(yùn)行代碼#include #include list using namespace std;#define N 11#define M 12#define MEMORYBLOK 10#define LENGTH 128struct page (int number;
5、int flag;int frame;int location;int change;struct action (char operate;int pageNum;int offset;struct page pageTableN; list actionForm;void init() (page page0 = 0,0,5,11,0;pageTable0 = page0;page page1 = 1,1,8,12,0;pageTable1 = page1;page page2 = 2,1,9,13,0;pageTable2 = page2;page page3 = 3,1,1,21,0;
6、pageTable3 = page3;page page4 = 4,0,-1,22,0;pageTable4 = page4;page page5 = 5,0,-1,23,0;pageTable5 = page5;page page6 = 6,0,-1,121,0;pageTable6 = page6;/pageTable7 = page6;pageTable8 = page6;pageTable9 = page6;pageTable10 = page6;對(duì)PQ的初始化/*for(int i=0; iMEMORYBLOK; i+) Qi = -1;for(i=0; iMEMORYBLOK; i
7、+) Pi = -1;for(i=0;iN;i+)if(pageTablei.flag = 1) PK=i;K = (K+1)%MEMORYBLOK;for(i=0; iN; i+) (if(pageTablei.flag = 1) (int frame = pageTablei.frame;Qframe = pageTablei.number;*/action a1=+,1,70;action a2=+,1,50;action a3=*,2,15;action a4=s,3,21;action a5=g,0,56;action a6=-,6,40;action a7=y,4.53;actio
8、n a8=+,5,23;action a9=s,1,37;action a10=g,2,78;action a11=+,4,1;action a12=s,6,84;actionForm.push_back(a1);actionForm.push_back(a2);actionForm.push_back(a3);actionForm.push_back(a4);actionForm.push_back(a5);actionForm.push_back(a6);actionForm.push_back(a7);actionForm.push_back(a8);actionForm.push_ba
9、ck(a9);actionForm.push_back(a10);actionForm.push_back(a11);actionForm.push_back(a12);void run() while( !actionForm.empty() ) action a = actionForm.front();cout*en dl;if(a.operate=s)cout操作:存頁(yè)號(hào):a.pageNum 偏移量: a.offsetendl;else if(a.operate=g)cout操作:取頁(yè)號(hào):a.pageNum 偏移量: a.offsetendl;else if(a.operate=y)c
10、out操作:移位頁(yè)號(hào):a.pageNum 偏移量: a.offsetendl; elsecout操作:a.operate 頁(yè)號(hào):a.pageNum 偏移量: a.offsetendl;int pageNum = a.pageNum;/如果不在主存中if (pageTablepageNum.flag = 0) (cout*pageNumendl;/計(jì)算絕對(duì)地址else(int result;result = pageTablepageNum.frame*LENGTH + a.offset;cout絕對(duì)地址為:pageTablepageNum.frame*LENGTH+a.offset=result endl;pageTablepageNum.change = 1;actionForm.pop_front();main() (init();run();return 0;六、運(yùn)行結(jié)果七、實(shí)驗(yàn)總結(jié)有了上一次的實(shí)驗(yàn),我對(duì)c+6.0這一軟件已經(jīng)有了而初步的認(rèn)識(shí),在本次 上機(jī)前我對(duì)實(shí)驗(yàn)進(jìn)行了玉溪,對(duì)實(shí)驗(yàn)的原理和實(shí)驗(yàn)的設(shè)計(jì)也有了初步的了解,在 具體的實(shí)
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房屋買賣價(jià)格調(diào)整及支付合同4篇
- 2025年度企業(yè)應(yīng)收賬款債權(quán)轉(zhuǎn)讓與風(fēng)險(xiǎn)控制協(xié)議書3篇
- 2025年度房地產(chǎn)樣板間設(shè)計(jì)與施工合同范本4篇
- 2025年度電子商務(wù)個(gè)人勞務(wù)派遣合作協(xié)議書4篇
- 工廠租地合同(2篇)
- 二零二五年度民政局離婚協(xié)議書模板法律咨詢附加服務(wù)合同4篇
- 2025年度銷售顧問(wèn)市場(chǎng)調(diào)研聘用合同2篇
- 2024西部縣域經(jīng)濟(jì)百?gòu)?qiáng)研究
- 混凝土污水管施工方案
- 防范雷雨暴雨應(yīng)急工作預(yù)案范文(3篇)
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 土壤與肥料學(xué)課件
- 供應(yīng)商物料質(zhì)量問(wèn)題賠償協(xié)議(中文)
- 變頻電機(jī)使用說(shuō)明書(完整版)
- 第七章_材料顯微斷口分析
- 口語(yǔ)交際教學(xué)設(shè)計(jì)的思路及策略-教育文檔
- 公共廁所(預(yù)算書)
- JSA作業(yè)安全分析表格
- 《豬肉分割及介紹》PPT課件.ppt
- 工程款欠條(模板)
- 幕墻工程施工重點(diǎn)、難點(diǎn)分析及應(yīng)對(duì)措施
評(píng)論
0/150
提交評(píng)論