freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ucore實(shí)驗(yàn)3實(shí)驗(yàn)報(bào)告-展示頁

2024-10-09 14:03本頁面
  

【正文】 ead)。assert(in_tick==0)。}_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick){//查詢哪個(gè)頁面需要被換出//找到pra_list_head隊(duì)列l(wèi)ist_entry_t *head=(list_entry_t*)mmsm_priv。/*LAB3 EXERCISE 2: YOUR CODE*///(head, entry)。amp。(pagepra_page_link)。}Kern/mm/ 2修改如下:_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in){//將最近被用到的頁面添加到算法所維護(hù)的次序隊(duì)列//找到pra_list_head隊(duì)列l(wèi)ist_entry_t *head=(list_entry_t*)mmsm_priv。}else {cprintf(“no swap_init_ok but ptep is %x, failedn”,*ptep)。}//建立虛擬地址合物理地址之間的對(duì)應(yīng)關(guān)系page_insert(mmpgdir, page, addr, perm)。page))!= 0){//ret=0表示swap_in()正常運(yùn)行結(jié)束cprintf(“swap_in in do_pgfault failedn”)。程序代碼:Kern/mm/()函數(shù)的EXERCISE 2修改如下: else {//如果pte是需要交換的表項(xiàng),那么就從硬盤的物理地址將數(shù)據(jù)讀到頁中//然后調(diào)用page_insert()建立物理地址和邏輯地址映射if(swap_init_ok){struct Page *page=NULL。如果滿足以上兩點(diǎn),則執(zhí)行swap_in()函數(shù)換入頁面。()函數(shù)實(shí)現(xiàn):()函數(shù)實(shí)現(xiàn)。并需要回答如下問題 l 需要被換出的頁的特征是什么?l 在ucore中如何判斷具有這樣特征的頁? l 何時(shí)進(jìn)行換入和換出操作?問題分析:根據(jù)練習(xí)1,當(dāng)頁錯(cuò)誤異常發(fā)生時(shí),有可能是因?yàn)轫撁姹4嬖趕wap區(qū)或者磁盤文件上造成的,練習(xí)2需要利用頁面替換算法解決這個(gè)問題。請(qǐng)?jiān)趯?shí)驗(yàn)報(bào)告中回答如下問題: l 如果要在ucore上實(shí)現(xiàn)“extended clock頁替換算法”請(qǐng)給你的設(shè)計(jì)方案,現(xiàn)有的swap_manager框架是否足以支持在ucore中實(shí)現(xiàn)此算法?如果是,請(qǐng)給你的設(shè)計(jì)方案。執(zhí)行make qemu后,如果通過check_swap函數(shù)的測試后,會(huì)有“check_swap()succeeded!”的輸出,表示練習(xí)2基本正確。通過對(duì)swap的測試。而中斷服務(wù)例程會(huì)調(diào)用頁訪問異常處理函數(shù)do_pgfault進(jìn)行具體處理。,出現(xiàn)了頁訪問異常,請(qǐng)問硬件要做哪些事情?,CPU把引起頁訪問異常的線性地址裝到寄存器CR2中,并給出了出錯(cuò)碼errorCode,說明了頁訪問異常的類型。(pgdir)作為一個(gè)雙向鏈表存儲(chǔ)了目前所有的頁的物理地址和邏輯地址的對(duì)應(yīng),即在實(shí)內(nèi)存中的所有頁,替換算法中被換出的頁從pgdir中選出。goto failed。//如果找不到入口,是非法訪問,退出goto failed。如果滿足上述兩個(gè)要求,則需要為分配一個(gè)物理頁。根據(jù)以上三點(diǎn)錯(cuò)誤原因,完成頁錯(cuò)誤處理函數(shù)do——pgfault()?!枰M(jìn)行換頁機(jī)制。l 如果ucore的缺頁服務(wù)例程在執(zhí)行過程中訪問內(nèi)存,出現(xiàn)了頁訪問異常,請(qǐng)問硬件要做哪些事情?問題分析:當(dāng)啟動(dòng)分頁機(jī)制以后,如果一條指令或數(shù)據(jù)的虛擬地址所對(duì)應(yīng)的物理頁不在內(nèi)存中,或者訪問權(quán)限不夠,那么就會(huì)產(chǎn)生頁錯(cuò)誤異常。請(qǐng)?jiān)趯?shí)驗(yàn)報(bào)告中簡要說明你的設(shè)計(jì)實(shí)現(xiàn)過程。注意:在LAB2 EXERCISE 1處填寫代碼。練習(xí)1:給未被映射的地址映射上物理頁完成do_pgfault(mm/)函數(shù),給未被映射的地址映射上物理頁。一.練習(xí)練習(xí)0:填寫已有實(shí)驗(yàn)本實(shí)驗(yàn)依賴實(shí)驗(yàn)1/2。實(shí)際操作系統(tǒng)系統(tǒng)中的虛擬內(nèi)存管理設(shè)計(jì)與實(shí)現(xiàn)是相當(dāng)復(fù)雜的,涉及到與進(jìn)程管理系統(tǒng)、文件系統(tǒng)等的交叉訪問。第一篇:ucore實(shí)驗(yàn)3實(shí)驗(yàn)報(bào)告LAB3實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)?zāi)康模簂 了解虛擬內(nèi)存的Page Fault異常處理實(shí)現(xiàn) l 了解頁替換算法在操作系統(tǒng)中的實(shí)現(xiàn) 實(shí)驗(yàn)內(nèi)容:本次實(shí)驗(yàn)是在實(shí)驗(yàn)二的基礎(chǔ)上,借助于頁表機(jī)制和實(shí)驗(yàn)一中涉及的中斷異常處理機(jī)制,完成Page Fault異常處理和FIFO頁替換算法的實(shí)現(xiàn),結(jié)合磁盤提供的緩存空間,從而能夠支持虛存管理,提供一個(gè)比實(shí)際物理內(nèi)存空間“更大”的虛擬內(nèi)存空間給系統(tǒng)使用。這個(gè)實(shí)驗(yàn)與實(shí)際操作系統(tǒng)中的實(shí)現(xiàn)比較起來要簡單,不過需要了解實(shí)驗(yàn)一和實(shí)驗(yàn)二的具體實(shí)現(xiàn)。如果大家有余力,可以嘗試完成擴(kuò)展練習(xí),實(shí)現(xiàn)extended clock頁替換算法。請(qǐng)把你做的實(shí)驗(yàn)1/2的代碼填入本實(shí)驗(yàn)中代碼中有“LAB1”,“LAB2”的注釋相應(yīng)部分。設(shè)置訪問權(quán)限 的時(shí)候需要參考頁面所在VMA的權(quán)限,同時(shí)需要注意映射物理頁時(shí)需要操作內(nèi)存控制 結(jié)構(gòu)所指定的頁表,而不是內(nèi)核的頁表。執(zhí)行make qemu后,如果通過check_pgfault函數(shù)的測試后,會(huì)有“check_pgfault()succeeded!”的輸出,表示練習(xí)1基本正確。請(qǐng)回答如下問題: l 請(qǐng)描述頁目錄項(xiàng)(Pag Director Entry)和頁表(Page Table Entry)中組成部分對(duì)ucore實(shí)現(xiàn)頁替換算法的潛在用處。其具體原因有以下三點(diǎn): ——虛擬地址與物理地址為建立映射關(guān)系或已被撤銷?!獞?yīng)當(dāng)報(bào)錯(cuò)。大體思路:do_pgfault()函數(shù)從CR2寄存器中獲取頁錯(cuò)誤異常的虛擬地址,根據(jù)error code來查找這個(gè)虛擬地址是否在某一個(gè)VMA的地址范圍內(nèi),并且具有正確的權(quán)限。程序代碼:Kern/mm/()函數(shù)的EXERCISE 1修改如下: //嘗試找到pte, 如果對(duì)應(yīng)的頁表項(xiàng)PT不存在則創(chuàng)建一個(gè)//這里調(diào)用函數(shù)get_pte(pde_t *pgdir, uintptr_t la, bool create), 其中create=1表示若PT不存在則允許創(chuàng)建if((ptep = get_pte(mmpgdir, addr, 1))== NULL){//嘗試查找頁表入口cprintf(“get_pte in do_pgfault failedn”)。}//如果物理地址不存在,則建立一個(gè)邏輯地址和物理地址的映射 //perm為VMA的權(quán)限if(*ptep == 0){ //嘗試申請(qǐng)一個(gè)頁,如果申請(qǐng)失敗就是內(nèi)存不足了,退出if(pgdir_alloc_page(mmpgdir, addr, perm)== NULL){cprintf(“pgdir_alloc_page in do_pgfault failedn”)。} }思考題:(Page Director Entry)和頁表(Page Table Entry)中組成部分對(duì)ucore實(shí)現(xiàn)頁替換算法的潛在用處。頁表(pte)則存儲(chǔ)了替換算法中被換入的頁的信息,替換后會(huì)將其映射到一物理地址。ucore OS會(huì)把這個(gè)值保存在struct trapframe 中tf_err成員變量中。練習(xí)2:補(bǔ)充完成基于FIFO的頁面替換算法(需要編程)。注意:在LAB2 EXERCISE 2處填寫代碼。請(qǐng)?jiān)趯?shí)驗(yàn)報(bào)告中簡要說明你的設(shè)計(jì)實(shí)現(xiàn)過程。如果
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1