实验目的
- 在Nachos现有页表的基础上,增加TLB快表机制,使得在做虚拟地址到物理地址的转换时,优先从TLB快表中读取;
- 针对TLB增加NRU置换算法;
除实验源码和实验结果截图以外,需提供以下文字解释说明: - 解释说明nachos -x userProgName 的启动过程及原生Nachos系统中的内存访问过程;
- 解释说明在Nachos中增加TLB机制,以及针对TLB实现的页面置换算法的设计思路。
实验步骤
Task1 - 在build.linux目录下Makefile文件中添加 DEFINES -DUSE_TLB;
2.修改machine目录下的translate.cc文件,注释掉ASSERT函数;
- 在userprog/exception.cc中增加case PageFaultException
- 添加 SimpleTLBMissHandler函数,实现页表的查询和tlb的替换
- 进行测试,结果如下
Task2
1.增加userprog/exception.cc中的TLBMissHandler,缺页中断异常处理中调用该函数
2.增加函数:
3.新建了一个lab10.c文件,复制粘贴sort.c文件中的前半部分,把SIZE设置小一点,最后的Exit(0)修改为Halt(); 把userprog/exception.cc中最后一句 ASSERTNOTREACHED()注释掉,运行