




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于RISC-V代理內核的操作系統課程實驗與課程設計第四章.實驗2:內存管理目錄實驗2的基礎知識Sv39虛地址管理方案回顧物理內存布局與規劃PKE操作系統和應用進程的邏輯地址空間結構與頁表操作相關的重要函數實驗內容lab2_1虛實地址轉換lab2_2簡單內存分配和回收lab2_3缺頁異常實驗2的基礎知識Sv39虛地址管理方案回顧Sv39中邏輯地址的結構Sv39中PDE/PTE格式Sv39虛地址管理方案回顧Sv39中虛擬地址到物理地址的轉換過程Sv39虛地址管理方案回顧satp寄存器格式satp寄存器中MODE域的取值和含義取值虛存方案0Bare8Sv399Sv48物理內存布局與規劃對于我們用spike的模擬RISC-V機器而言,2GB的物理內存并不是從0地址開始編址,而是從0x80000000開始編址的。PKE操作系統的邏輯地址空間結構在開啟了Sv39虛擬內存管理方案后,所有的邏輯地址到物理地址的翻譯都必須通過頁表和MMU硬件進行。PKE操作系統內核的邏輯地址空間和它到物理地址空間的映射圖PKE應用進程的邏輯地址空間結構lab2_1的應用app_helloworld_no_lds進程在裝入后,其邏輯地址空間有4個區間建立了和物理地址空間的映射。用戶進程的邏輯地址空間到物理地址空間的映射圖與頁表操作相關的重要函數1、將邏輯地址映射到物理地址intmap_pages(pagetable_tpage_dir,uint64va,uint64size,uint64pa,intperm);2、查找邏輯地址所在的頁表項pte_t*page_walk(pagetable_tpage_dir,uint64va,intalloc);3、查找邏輯地址所在虛擬頁面地址對應的物理頁面地址uint64lookup_pa(pagetable_tpagetable,uint64va);目錄實驗2的基礎知識Sv39虛地址管理方案回顧物理內存布局與規劃PKE操作系統和應用進程的邏輯地址空間結構與頁表操作相關的重要函數實驗內容lab2_1虛實地址轉換lab2_2簡單內存分配和回收lab2_3缺頁異常lab2_1虛實地址轉換給定應用預期輸出lab2_1虛實地址轉換實驗內容:開啟Sv39頁式地址管理,將應用(app_helloworld_no_lds.c,鏈接時未指定邏輯地址)投入正常運行。實現user_va_to_pa()函數,完成給定邏輯地址到物理地址的轉換,最終使得helloworld程序獲得正確輸出。lab2_2簡單內存分配和回收給定應用預期輸出lab2_2簡單內存分配和回收實驗內容:這里,新定義了兩個用戶態函數naive_malloc()和naive_free(),它們最終會轉換成系統調用,完成內存的分配和回收操作。需要完成naive_free對應的功能,獲得預期的輸出。lab2_3缺頁異常給定應用預期輸出lab2_3缺頁異常實驗內容:應用程序執行時,由于采用遞歸函數求等差數列的和,遞歸層數過多,使得用戶態棧溢出。本實驗中,我們處理的是缺頁異常。首先,判斷我們處理的確實是缺頁異常;判斷發生缺頁的是不是用戶棧空間,如果是則分配一個物理頁空間,最后將該空間通過vm_map“粘”到用戶棧上以擴充用戶棧空間。lab2_challenge1復雜缺頁異常給定應用預期輸出lab2_challenge1復雜缺頁異常實驗內容:程序思路基本同lab2_3一致,對給定n計算0到n的和,但要求將每一步遞歸的結果保存在數組ans中。創建數組時,我們使用了當前的malloc函數申請了一個頁面(4KB)的大小,對應可以存儲的個數上限為1024。首先由于n足夠大,所以在函數遞歸執行時會觸發用戶棧的缺頁,你需要對其進行正確處理,確保程序正確運行;其次,1025在最后一次計算時會訪問數組越界地址,由于該處虛擬地址尚未有對應的物理地址映射,因此屬于非法地址的訪問,這是不被允許的,對于這種缺頁異常,應該提示用戶并退出程序執行。lab2_challenge2堆空間管理給定應用預期輸出lab2_challenge2堆空間管理實驗內容:以上程序先利用better_malloc分別申請100和50個字節的一個物理頁的內存,然后使用better_free釋放掉100個字節,向50個字節中復制一串字符串,進行輸出。原本的pke中malloc的實現是非常簡化的(一次直接分配一個頁面),你的挑戰任務是修改內核(包括machine文件夾下)的代碼,使得應用程序的malloc能夠在一個物理頁中分配,并對各申請塊進行合理的管理。通過應用程序和對應的預期結果可以看出:兩次申請的空間在同一頁面,并且釋放第一塊時,不會釋放整個頁面,所以需要你設計合適的數據結構對各塊進行管理,使得better_malloc申請的空間更加“緊湊”。lab2_challenge3多核內存管理給定應用預期輸出……lab2_challenge3多核內存管理實驗內容:
在本次實驗中,給定兩個程序,每個程序會通過lab2_2實現的naive_malloc申請一些內存頁,在內存頁開始處寫入一個int并打印內存頁的虛擬地址。最后每個進程會打印自己寫入內存頁的數,并通過naive_f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州大學附屬中學2024-2025學年第二學期普通高中半期考試高三物理試題含解析
- 山東菏澤市曹縣重點中學2025屆初三下學期入學考試化學試題試卷含解析
- 南陽理工學院《景觀設計(1)》2023-2024學年第一學期期末試卷
- 宜賓學院《英語測試》2023-2024學年第一學期期末試卷
- 江蘇省江陰市澄西中學2024-2025學年初三下學期期末調研測試數學試題文試題含解析
- 遼寧省營口市大石橋市水源九一貫制校2024-2025學年全國中考統一考試模擬試題(二)生物試題含解析
- 上海浦東新區2024-2025學年高三英語試題2月調研試題含解析
- 內蒙古師范大學《廣播電視新聞采訪與報道》2023-2024學年第二學期期末試卷
- 湘潭醫衛職業技術學院《中醫內科護理學》2023-2024學年第一學期期末試卷
- 二零二五版農資買賣合同書范文
- 實驗室設備維護與保養試題及答案
- 2024北京十一學校初二(下)期中數學試題及答案
- 2025年4月廣西壯族自治區賀州市中考二模語文試題(含答案)
- 教師資格筆試教育數字化轉型的挑戰與對策分析試題及答案
- 勞務合同掛靠協議
- 運動素質知到課后答案智慧樹章節測試答案2025年春浙江大學
- 【MOOC】工程倫理導論-浙江大學 中國大學慕課MOOC答案
- 2024年上海市普通高中學業水平等級性考試化學試卷(含答案)
- 駕照體檢表完整版本
- 常暗之廂(7規則-簡體修正)
- 儲罐受限空間作業方案
評論
0/150
提交評論