




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院20072008 學(xué)年第一學(xué)期 操作系統(tǒng)課程設(shè)計(jì)題目: 模擬段頁式存儲(chǔ)管理地址變換 教師: 班級(jí): 050341D班 學(xué)號(hào): 050341404 姓名: 成績: 1. 題目分析1.1 設(shè)計(jì)目的l 了解內(nèi)存管理機(jī)制,掌握段頁式虛擬存儲(chǔ)技術(shù);l 理解內(nèi)存分配原理,特別是以頁面為單位的虛擬內(nèi)存分配方法;l 用可視化界面來掌握操作系統(tǒng)的知識(shí)。1.2 設(shè)計(jì)內(nèi)容l 根據(jù)邏輯地址中的段號(hào)進(jìn)行查找,先查找快表。如果找到,則形成物理地址,否則進(jìn)行后續(xù)步驟;l 通過段表始址寄存器,查找段表在內(nèi)存中的始址;l 通過段表并根據(jù)段號(hào),查找頁表所在位置;l 訪問頁表,根據(jù)邏輯頁號(hào)查找該頁所在的物理塊號(hào)
2、;l 將物理塊號(hào)和邏輯地址中的頁內(nèi)地址拼接,形成訪問內(nèi)存單元的物理地址。1.3 相關(guān)知識(shí)概述l 段頁式存儲(chǔ)管理的主要內(nèi)容是:l (1)用頁式方法來分配和管理內(nèi)存空間,即:把內(nèi)存分為若干大小相等的頁面;l (2)用段式方法對(duì)用戶程序按照其內(nèi)在的邏輯關(guān)系劃分成若干段;l (3)再按照劃分的內(nèi)存頁面的大小,把每一段內(nèi)劃分成若干大小相等的頁面;l (4)用戶程序的邏輯地址由三部分組成:段號(hào)(s),頁號(hào)(p),頁內(nèi)地址(d);l (5)內(nèi)存是以頁為基本單位分配給每個(gè)用戶程序的,在邏輯上相鄰的頁面在內(nèi)存不一定相鄰。1.4 基本設(shè)計(jì)思路l (1)建立段表l 系統(tǒng)為每個(gè)用戶程序建立一張段表,用于記錄各段的頁表
3、始址和頁表長度。l (2)建立頁表l 系統(tǒng)為用戶程序的每一段各建立一張頁表,用于記錄該段中各邏輯頁號(hào)與物理塊號(hào)之間的對(duì)應(yīng)關(guān)系。l 段表、頁表和內(nèi)存的關(guān)系如圖所示。 段表地址寄存器段表起始地址段號(hào)頁表長度頁表始址頁號(hào)塊號(hào)0段頁表頁號(hào)塊號(hào)1段頁表內(nèi)存空間如圖 段表、頁表和內(nèi)存的關(guān)系段表l (3)建立內(nèi)存空閑頁面表l 整個(gè)系統(tǒng)建立一張內(nèi)存空閑頁面表,用于記錄并管理內(nèi)存空閑頁面。l (4)硬件支持l 為加快地址映射速度,硬件需要提供如下2個(gè)寄存器: 段表始址寄存器; 段表長度寄存器;l (5)地址映射過程l 在段頁式存儲(chǔ)管理中,要訪問內(nèi)存的單元,則要經(jīng)過如下地址轉(zhuǎn)換步驟,才能得到最終的物理地址。l 根
4、據(jù)邏輯地址中的段號(hào)查找快表。如果找到,則形成物理地址,否則進(jìn)行后續(xù)步驟;l 通過段表始址寄存器,查找段表在內(nèi)存中的始址;l 通過段表并根據(jù)段號(hào),查找頁表所在位置;l 訪問頁表,根據(jù)邏輯頁號(hào)查找該頁所在的物理塊號(hào);l 將物理塊號(hào)和邏輯地址中的頁內(nèi)地址拼接,形成訪問內(nèi)存單元的物理地址;2. 概要設(shè)計(jì)2.1 功能模塊邏輯地址(段號(hào)、頁號(hào)、頁內(nèi)地址)段越界段號(hào)(段表始址寄存器)段號(hào)S Y頁越界頁號(hào)(頁表始址寄存器)頁號(hào)P頁內(nèi)地址物理塊號(hào)物理地址返回2.2 主要數(shù)據(jù)結(jié)構(gòu)描述邏輯地址l 對(duì)段表與頁表中的數(shù)據(jù)的存儲(chǔ)如下: 段號(hào):0 段號(hào):1002121頁號(hào):43436565878799 段表和頁表的存儲(chǔ)以由
5、低到高的優(yōu)先級(jí)順序進(jìn)行編排,在進(jìn)行程序分段分析的時(shí)候用到了堆棧和隊(duì)列,以便對(duì)程序的語句進(jìn)行逐個(gè)分析。3. 詳細(xì)設(shè)計(jì)3.1 主要算法描述主要代碼:void CScannerDlg:ShowOut() m33=0; m10=1A; /初始化常數(shù)m7=1; m11=14;m8=2; m12=B3;m9=3; m13=4C;m18=0; m14=0;m19=1; m15=10;m20=2; m16=20;m21=3; m17=30;m22=10; m23=10; m26=0;m24=10; m25=10; m28=6;UpdateData(false);m_result+=-(段0)關(guān)鍵字段-;m_r
6、esult+=rn;CVocabulary bu;int n1=0;for(int i=1;i39;i+) if(PrimaryKeyi=1)m_result+=bu.Vocabularyi; n1+=1; m_result+=rn;m1=n1;UpdateData(false);m_result+=-(段1)符號(hào)段-;m_result+=rn;int n2=0;for(i=51;i86;i+)if(Symboli-50=1)m_result+=bu.Vocabularyi;n2+=1;m_result+=rn; m2=n2;UpdateData(false);m_result+=-(段2)標(biāo)
7、識(shí)段-;m_result+=rn;int n3=0;for(i=0;i50;i+)if(Identifieri!=) m_result+=Identifieri;n3+=1;m_result+=rn;m3=n3;UpdateData(false);m_result+=-(段3)常數(shù)段-;m_result+=rn;int l=0;int n4=0;for(i=0;i50;i+)m_result+=Consti; n4=+1; m_result+=rn;m4=n4;UpdateData(false);void CScannerDlg:OnButton1() / TODO: Add your con
8、trol notification handler code hereif(m33m28) UpdateData(true);m32=m33+m26;m36=m10;UpdateData(false);if(m32=m18) /查段表if(m1m22) m27=m1+m14; /查頁表 UpdateData(false); else MessageBox(頁越界!,越界中斷,MB_ICONEXCLAMATION); return; if(m32=m19)if(m1m23) m27=m1+m15; UpdateData(false); else MessageBox(頁越界!,越界中斷,MB_I
9、CONEXCLAMATION); return;if(m32=m20)if(m1m24) m27=m1+m16; UpdateData(false); else MessageBox(頁越界!,越界中斷,MB_ICONEXCLAMATION); return;if(m32=m21)if(m1m25) m27=m1+m17; UpdateData(false); else MessageBox(頁越界!,越界中斷,MB_ICONEXCLAMATION); return;else MessageBox(未找到!,越界中斷,MB_ICONEXCLAMATION); return; else Mess
10、ageBox(段越界!,越界中斷,MB_ICONEXCLAMATION); return;3.2 程序界面設(shè)計(jì)4. 編碼實(shí)現(xiàn)4.1 開發(fā)工具簡介Visual C+4.2 實(shí)現(xiàn)過程總結(jié)對(duì)于分析器的設(shè)計(jì)只設(shè)計(jì)了四個(gè)段,整個(gè)程序都是在圍繞四個(gè)程序段進(jìn)行存取。這是一個(gè)段頁式地址轉(zhuǎn)換的過程,其實(shí),數(shù)據(jù)的存取對(duì)于此程序是個(gè)虛擬的過程。內(nèi)存中的段表與頁表也是虛擬出來的,程序需要查詢段表和頁表兩個(gè)表,并通過使用段表始址寄存器與頁表始址寄存器來確定要查找的段號(hào)與頁號(hào)。通過此程序中地址的轉(zhuǎn)化過程,使自己在存儲(chǔ)管理面方面了解了很多,了解了內(nèi)存管理機(jī)制,掌握了段頁式虛擬存儲(chǔ)技術(shù);理解了內(nèi)存分配原理,特別是以頁面為單位
11、的虛擬內(nèi)存分配方法;并加深了以可視化界面來掌握系統(tǒng)知識(shí)的能力。4.3 程序使用手冊(cè) 先通過“打開文件”按鈕添加源程序,或者編寫一段代碼,然后點(diǎn)“分析”按鈕,分析結(jié)果一欄顯示劃分成段后的結(jié)果,并且邏輯地址表中顯示每段的段號(hào)以及每段的最后的一個(gè)單元的頁號(hào)和頁內(nèi)地址,系統(tǒng)的段表與頁表內(nèi)的數(shù)值開始是默認(rèn),也可以修改,包括要轉(zhuǎn)化的邏輯地址也可以修改,一旦修改即要據(jù)此來進(jìn)行轉(zhuǎn)化,點(diǎn)“”按鈕進(jìn)行轉(zhuǎn)換查詢。5. 結(jié)果分析與總結(jié)5.1 結(jié)果分析 將段號(hào)、頁號(hào)、頁內(nèi)地址分別為2、3、B3的邏輯地址,在段表始址為0,段表長度為6,頁表始址為0,頁表長度都為10的情況下,轉(zhuǎn)化為物理地址為23B3。結(jié)果正確。5.2 總結(jié)與建議 由理論知識(shí)到具體模型的建立是一個(gè)困難的過程,需
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能停車場管理系統(tǒng)如何安裝
- 食品包裝機(jī)械物流樣本
- 光伏 太陽能光伏發(fā)電
- 電商行業(yè)智能營銷策略及用戶體驗(yàn)提升方案
- 市場分析報(bào)告子項(xiàng)分類表格
- 關(guān)于辦公資源采購的申請(qǐng)說明及審批報(bào)告書
- 新媒體內(nèi)容創(chuàng)意與運(yùn)營手冊(cè)
- 風(fēng)險(xiǎn)管理與合規(guī)手冊(cè)
- 高爾夫運(yùn)動(dòng)與球場管理作業(yè)指導(dǎo)書
- 食品加工設(shè)備行業(yè)智能化食品加工設(shè)備開發(fā)方案
- GB 15603-1995常用化學(xué)危險(xiǎn)品貯存通則
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 北師大版高中英語必修二《New-Zealand-Fact-File》reading-課件-
- 豎彎鉤的書寫課件
- 幼兒園小班植樹節(jié)課件:《栽樹》
- 初中英語《Unit5-Do-you-remember-what-you-were-doing》教學(xué)課件設(shè)計(jì)
- 幼兒園大班數(shù)學(xué)口算練習(xí)題可打印
- 關(guān)于赴XXX醫(yī)院參觀學(xué)習(xí)聯(lián)系函
- 小學(xué)班會(huì)課件-端午節(jié)主題班會(huì)(共19張PPT)通用版 PPT課件
- 細(xì)菌性痢疾流行病學(xué)個(gè)案調(diào)查表
- 員工年終述職報(bào)告工作總結(jié)PPT模板
評(píng)論
0/150
提交評(píng)論