計算機操作系統(tǒng)試驗源碼模擬請求分虛擬存儲管理中的硬件地址變換過程_第1頁
計算機操作系統(tǒng)試驗源碼模擬請求分虛擬存儲管理中的硬件地址變換過程_第2頁
計算機操作系統(tǒng)試驗源碼模擬請求分虛擬存儲管理中的硬件地址變換過程_第3頁
計算機操作系統(tǒng)試驗源碼模擬請求分虛擬存儲管理中的硬件地址變換過程_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實驗報告模擬請求分頁虛擬存儲管理中的硬件地址變換過程【實驗?zāi)康摹?. 通過實驗加深對請求分貞虛擬存儲器管理中的地址變換加深理解。2. 熟練使用所學(xué)知識完成地址轉(zhuǎn)換過程?!緦嶒炘怼?. 請求分頁虛擬存儲管理技術(shù)是把作業(yè)地址空間的全部信息存放在磁盤上。當 作業(yè)被選中運行時,先把作業(yè)的開始幾貞裝入主存并啟動運行。為此在為作業(yè)建立貞表時,應(yīng)說明哪些貞已在主存,哪些貞不在主存。貞表的格式如表 1-1所示,其 中,”標志”表示對應(yīng)貞是否已經(jīng)裝入主存:1”表示對應(yīng)貞已經(jīng)裝入主存;0”表示對應(yīng)貞未裝入主存;主存快號”表示該貞對應(yīng)的主存快號;修改位”指示該貞調(diào)入主存后是否修改過的標志。外存地址”指示該貞所在的

2、外存地址。自己設(shè)計一個主存分塊表。2. 作業(yè)業(yè)執(zhí)行時,指令中的邏輯地址指出參加運算的操作數(shù) (或指令)地址中的貞 號和貞內(nèi)偏移量。硬件地址轉(zhuǎn)換機構(gòu)按頁號查貞表。若該貞的標志為1 ,則表示該貞已在主存,從而找到該貞對應(yīng)的主存塊號。 根據(jù)關(guān)系式:絕對地址=塊號*塊的長度+貞內(nèi)偏移量計算出欲訪問的主存地址。由丁貞號為 2的整次籍,所以只要將塊號與貞內(nèi)偏移 量相拼接,放入主存地址寄存器即可。按照該地址取指令或取操作數(shù),完成指定的 操作。3. 設(shè)計一個”地址變換”程序,模擬硬件地址變化過程。當訪問的貞在主存時,則形 成絕對地址后,不去模擬指令的執(zhí)行,而是輸出被轉(zhuǎn)換的地址。當訪問的貞不在主 存時,輸出”該

3、貞不在主存,產(chǎn)生缺貞中斷”,以表示產(chǎn)生一次缺貞中斷。4. 進行缺貞中斷處理。中斷返回后,重新執(zhí)行該指令。假定主存的每塊長度為64個字節(jié),現(xiàn)有一個具有8頁的作業(yè),系統(tǒng)為其分配了 4 個主存塊(即m=4),且最多分4塊。其中第0頁至第3頁已經(jīng)裝入主存。該作業(yè) 的貞表如表10 2所小。地址變換算法框圖如圖10 1所示。運行設(shè)計的地址變換程序,顯示或打印運行結(jié)果。因為只是模擬地址變換,并不 模擬指令的執(zhí)行,故不考慮上述指令的操作結(jié)果。頁號標志主存號修改位外存地址表10-1貞表頁號標志主存號外存地址修改位0150111118012121901303110015040017500256021270213表

4、10-2貞表1【實驗源碼】#include<iostream>using namespace std;struct Pageint pno;頁號int flag;/ 標志位int cno;/主存號int modf;/ 修改位int addr;/外存地址Page;void changeaddr(struct Page p,int logaddr)/她址變換int j=logaddr/64;/ 對應(yīng)的塊號int k=logaddr%64;/對應(yīng)的偏移量int flag=0;int addr;for(int i=0;i<8;i+)if(pi.pno=j)/找到對應(yīng)的頁號if(pi.

5、flag=1)/ 頁面標志為 1addr=o*64+k;cout<<"物理地址為:"<<addr<<endl;cout<<"詳細信息:"<<”t 頁面號:"<<pi.pno<<"t 主存 號:"<<o<<"t 偏移量:"<<k<<endl;flag=1;break;if(flag=0)cout<<"該貞不在主存,產(chǎn)生缺貞中斷"

6、;<<endl;void main()(int menu;int ins;/指令邏輯地址struct Page p8;p0.pno=0;p0.flag=1;o=5;p0.modf=1;p0.addr=011;p1.pno=1;p1.flag=1;o=8;p1.modf=1;p1.addr=012;p2.pno=2;p2.flag=1;o=9;p2.modf=0;p2.addr=013;p3.pno=3;p3.flag=1;o=10;p3.modf=0;p3.addr=015;p4.pno=4;p4.flag=0;p4.addr=017;p5.

7、pno=5;p5.flag=0;p5.addr=025;p6.pno=6;p6.flag=0;p6.addr=212;p7.pno=7;p7.flag=0;p7.addr=213;cout<<"歡迎使用分貞虛擬存儲器硬件地址變換算法 "<<endl;cout<<"tt1.輸入指令 tt"<<endl;cout<<"tt2.退出程序 tt"<<endl;cout<<"歡迎使用分貞虛擬存儲器硬件地址變換算法 "<<endl;

8、cout<<endl<<"請輸入您的選擇:"cin>>menu;while(menu)(switch(menu)(case 1:coutvv"請輸入指令的邏輯地址:"cin>>ins;changeaddr(p,ins);break;case 2:cout<<"謝謝使用,下次再見!"<<endl;exit(0);break;default:cout<<"輸入有誤,請重新輸入!"<<endl;break;cout<&l

9、t;endl<<"請輸入您的選擇:"cin>>menu;【實驗截圖】gH八請求分頁虔擬存儲管理中的硬件地址變換Detmg請求分頁虔擬存儲管理中的硬件地.-一廠1.2.歡迎使用分頁虛擬在儲器硬件地址變換算法 :迎二:躅:二請請籍赫入您的選擇H輸入指令的邏輯地址: 理弛±1為:382細信息二頁面號121王存虧瀉偏移里:62請請籍揄入您的選擇T 輸入指令的邏輯地址: 理弛土正為:569 細信息二 頁面號:1王存號泅請請籍赫入您的選擇H 輸入指令的邏輯弛址: 理弛±1為:578 細信息二頁面號130偏移里:2請請籍揄入您的選擇T 橘入指令的邏輯地址: 瑾弛640 細信息二 頁面號:2王存號偏移量:0"您的選擇H彳入指令的邏輯弛址:257I不在主存,產(chǎn)生缺頁中斷青鋤入您的選擇:2秘制使用,下次再見Iress any key to continue【實驗小結(jié)】1. 通過對實驗要求的解讀,能夠理解題目提出的要求,并能夠按照要求進行貞 表的初始化以及相關(guān)主存的分配工作。2. 實驗中使用的地址變換機構(gòu)可通過邏輯地址與主存塊長度作取整運算獲得邏 輯地址對應(yīng)的頁面號,再通過求余運算獲得貞內(nèi)偏移地址。3. 實驗的不足與可改進之處:當邏輯

溫馨提示

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

評論

0/150

提交評論