没有合适的资源?快使用搜索试试~ 我知道了~
18342075米家龙实验41
需积分: 0 0 下载量 3 浏览量
2022-08-03
15:55:24
上传
评论
收藏 2.32MB PDF 举报
温馨提示
试读
26页
实验4个人信息数据科学与计算机学院2018级 软工3班米家龙目录实验4个人信息目录实验名称实验目的实验要求实验内容实验环境实验过程练习0:填写已有实验练习1:给
资源详情
资源评论
资源推荐
实验4
个人信息
数据科学与计算机学院
2018级 软工3班
18342075
米家龙
目录
实验4
个人信息
目录
实验名称
实验目的
实验要求
实验内容
实验环境
实验过程
练习0:填写已有实验
练习1:给未被映射的地址映射上物理页
查看 vmm.c 开头的注释
查看 do_pgfault() 函数的介绍
查看 do_pgfault() 函数中练习1的相关注释
完成 do_pgfault() 函数
回答问题
请描述页目录项(Page Directory Entry)和页表项(Page Table Entry)中组
成部分对 ucore 实现页替换算法的潜在用处。
如果 ucore 的缺页服务例程在执行过程中访问内存,出现了页访问异常,请
问硬件要做哪些事情?
练习2:补充完成基于 FIFO 的页面替换算法
完善 do_pgfault() 函数
其他函数的实现
完成 _fifo_map_swappable() 函数
完成 _fifo_swap_out_victim() 函数
测试
回答问题
设计方案
需要被换出的页特征
在 ucore 中如何判断具有这样特征的页
何时进行换入换出操作
实验结果
实验总结
完成实验后,请分析ucore_lab中提供的参考答案,并请在实验报告中说明你的实现与
参考答案的区别
列出你认为本实验中重要的知识点,以及与对应的OS原理中的知识点,并简要说明你对
二者的含义,关系,差异等方面的理解(也可能出现实验中的知识点没有对应的原理知
识点)
列出你认为OS原理中很重要, 但在实验中没有对应上的知识点
实验名称
实验4 虚拟内存管理
实验目的
了解虚拟内存的 Page Fault 异常处理实现
了解页替换算法在操作系统中的实现
实验要求
本次实验是在前一实验的基础上,借助于页表机制和 lab1 中涉及的中断异常处理机制,完成 Page
Fault 异常处理和 FIFO 页替换算法的实现。
实验原理最大的区别是在设计了如何在磁盘上缓存内存页,从而能够支持虚存管理,提供一个比实
际物理内存空间“更大”的虚拟内存空间给系统使用。
这个实验与实际操作系统中的实现比较起来要简单,不过需要了解 UCORE 实验一和实验二的具体
实现。实际操作系统系统中的虚拟内存管理设计与实现是相当复杂的,涉及到与进程管理系统、文
件系统等的交叉访问。
实验内容
练习0:填写已有实验
练习1:给未被映射的地址映射上物理页(需要编程)
练习2:补充完成基于 FIFO 的页面替换算法(需要编程)
实验环境
使用老师提供的 mooc-os-2015.vdi ,在虚拟机中创建 64 位的 Ubuntu 虚拟机并加载该 vdi ,获得了版
本为:
Linux moocos-VirtualBox 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014
x86_64 x86_64 x86_64 GNU/Linux
的虚拟机操作系统
并且使用 vscode 配合 Remote SSH 插件,实现通过远程终端在 windows 环境的对文件的编辑
实验过程
练习0:填写已有实验
本实验依赖 ucore 实验1/2。请把你做的 ucore 实验1/2的代码填入本实验中代码中有 “LAB1”,
“LAB2” 的注释相应部分。
根据之前的实验,需要修改的地方为
kern/debug/kdebug.c
print_stackfram()
kern/mm/default_pmm.c
default_init_memmap()
default_alloc_pages()
default_free_pages()
kern/mm/pmm.c
get_pte()
page_remove_pte()
kern/trap/trap.c
idt_init()
trap_dispatch()
详情见下图
进行测试,出现如下显示
剩余25页未读,继续阅读
番皂泡
- 粉丝: 21
- 资源: 320
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0