![Ucore-操作系統(tǒng)實驗二_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c1.gif)
![Ucore-操作系統(tǒng)實驗二_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c2.gif)
![Ucore-操作系統(tǒng)實驗二_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c3.gif)
![Ucore-操作系統(tǒng)實驗二_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c4.gif)
![Ucore-操作系統(tǒng)實驗二_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c/0c3a666e-94c9-4ee9-a7e1-b7f116031d0c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、張鵬飛 計科1302班 201308010213實驗二、物理內(nèi)存管理一、 實驗?zāi)康膌 理解基于段頁式內(nèi)存地址的轉(zhuǎn)換機制l 理解頁表的建立和使用方法l 理解物理內(nèi)存的管理方法二、 實驗內(nèi)容本次實驗包含三個部分。 首先了解如何發(fā)現(xiàn)系統(tǒng)中的物理內(nèi)存;然后了解如何建立對物理內(nèi)存的初步管理, 即了解連續(xù)物理內(nèi)存管理;最后了解頁表相關(guān)的操作, 即如何建立頁表來實現(xiàn)虛擬內(nèi)存到物理內(nèi)存之間的映射, 對段頁式內(nèi)存管理機制有一個比較全面的了解。 本實驗里面實現(xiàn)的內(nèi)存管理還是非?;镜?, 并沒有涉及到對實際機器的優(yōu)化, 比如針對 cache 的優(yōu)化等。 三、 實驗要求基于markdown格式來完成,以文本方式為主填
2、寫各個基本練習中要求完成的報告內(nèi)容完成實驗后,請分析ucore_lab中提供的參考答案,并請在實驗報告中說明你的實現(xiàn)與參考答案的區(qū)別列出你認為本實驗中重要的知識點,以及與對應(yīng)的OS原理中的知識點,并簡要說明你對二者的含義,關(guān)系,差異等方面的理解(也可能出現(xiàn)實驗中的知識點沒有對應(yīng)的原理知識點)列出你認為OS原理中很重要,但在實驗中沒有對應(yīng)上的知識四、 實驗流程概述內(nèi)存管理相關(guān)的總體控制函數(shù)是pmm_init函數(shù), 它完成的主要工作包括:1. 初始化物理內(nèi)存頁管理器框架pmm_manager2. 建立空閑的page鏈表,分配以頁(4KB)為單位的內(nèi)存3. 檢查物理內(nèi)存頁分配算法4.建立一個臨時二級
3、頁表5. 建立一一映射關(guān)系的二級頁表;6. 使能分頁機制;7. 從新設(shè)置全局段描述符表;8. 取消臨時二級頁表;9. 檢查頁表建立是否正確;10. 通過自映射機制完成頁表的打印輸出五、 實驗練習練習一、first-fit連續(xù)內(nèi)存分配(1)用雙向鏈表結(jié)構(gòu)來表示每個頁:(2)管理物理頁的Page數(shù)據(jù)結(jié)構(gòu):(3)物理內(nèi)存頁管理器順著雙向鏈表進行搜索空閑內(nèi)存區(qū)域,直到找到一個足夠大的空閑區(qū)域,這是一種速度很快的算法,因為它盡可能少地搜索鏈表。如果空閑區(qū)域的大小和申請分配的大小正好一樣,則把這個空閑區(qū)域分配出去,成功返回;否則將該空閑區(qū)分為兩部分,一部分區(qū)域與申請分配的大小相等,把它分配出去,剩下的一部
4、分區(qū)域形成新的空閑區(qū)。其釋放內(nèi)存的設(shè)計思路很簡單,只需把這塊區(qū)域重新放回雙向鏈表(4)、default_init_memmap()(5)default_alloc_pages()練習二、查找虛擬地址對應(yīng)頁表項(1)pde_t全稱為 page directory entry,也就是一級頁表的表項(注意:pgdir實際不是表 項,而是一級頁表本身。實際上應(yīng)該新定義一個類型pgd_t來表示一級頁表本身)。pte t全 稱為 page table entry,表示二級頁表的表項。uintptr t表示為線性地址,由于段式管理只做直接映射,所以它也是邏輯地址。pgdir給出頁表起始地址。通過查找這個頁表
5、,我們需要給出二級頁表中對應(yīng)項的地址。 雖然目前我們只有boot_pgdir一個頁表,但是引入進程的概念之后每個進程都會有自己的頁 表。(2)有可能根本就沒有對應(yīng)的二級頁表的情況,所以二級頁表不必要一開始就分配,而是等到需要的時候再添加對應(yīng)的二級頁表。如果在查找二級頁表項時,發(fā)現(xiàn)對應(yīng)的二級頁表不存在,則需要根據(jù)create參數(shù)的值來處理是否創(chuàng)建新的二級頁表。如果create參數(shù)為0,則get_pte返回NULL;如果create參數(shù)不為0,則get_pte需要申請一個新的物理頁(通過alloc_page來實現(xiàn),可在mm/pmm.h中找到它的定義),再在一級頁表中添加頁目錄項指向表示二級頁表的新
6、物理頁。注意,新申請的頁必須全部設(shè)定為零,因為這個頁所代表的虛擬地址都沒有被映射。(3)當建立從一級頁表到二級頁表的映射時,需要注意設(shè)置控制位。這里應(yīng)該設(shè)置同時設(shè)置 上PTE_U、PTE_W和PTE_P(定義可在mm/mmu.h)。如果原來就有二級頁表,或者新建立了頁表,則只需返回對應(yīng)項的地址即可。(4)相應(yīng)代碼如下:練習三、釋放虛擬地址所在頁,并取消對應(yīng)二級頁表映射(1)判斷此頁被引用的次數(shù),如果僅僅被引用一次,則這個頁也可以被釋放。否則,只能釋放頁表入口。(2)相關(guān)代碼如下:(3)實驗結(jié)果:六、 實驗心得1、通過本次實驗,對X-86的內(nèi)存的管理的分頁機制有了深入的理解2、x86特權(quán)級CPL:當前特權(quán)級
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國皮帶轉(zhuǎn)送線數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國外罩數(shù)據(jù)監(jiān)測研究報告
- 2025年中國高速輪轉(zhuǎn)膠印紙市場調(diào)查研究報告
- 商業(yè)綜合體商戶支持與服務(wù)體系建設(shè)考核試卷
- 墨水在食品包裝印刷中的安全性考核試卷
- 樂器維修與調(diào)律考核試卷
- 技術(shù)服務(wù)綠色能源技術(shù)創(chuàng)新考核試卷
- 2025-2030年發(fā)光服裝定制行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年變形概念車設(shè)計與展示行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年可折疊畫紙支架企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2024-2025學年人教版生物八年級上冊期末綜合測試卷
- GB/T 709-2019熱軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- GB/T 14177-2003林業(yè)機械便攜式割灌機和割草機試驗方法
- FZ/T 54007-2019錦綸6彈力絲
- DB11-T 291-2022日光溫室建造規(guī)范
- 2021-2022學年山東省淄博市高二(下)期末英語試卷(附答案詳解)
- 北師大版高中數(shù)學選修4-6初等數(shù)論初步全套課件
- 外貿(mào)業(yè)務(wù)員面試試卷
- 紀檢知識答題測試題及答案
- 創(chuàng)傷急救-止血、包扎課件
- 大數(shù)據(jù)背景下網(wǎng)絡(luò)輿情成因及治理
評論
0/150
提交評論