OS-Nachos内存管理

arm's blog / 2024-10-21 / 原文

实验目的

  1. 在Nachos现有页表的基础上,增加TLB快表机制,使得在做虚拟地址到物理地址的转换时,优先从TLB快表中读取;
  2. 针对TLB增加NRU置换算法;
    除实验源码和实验结果截图以外,需提供以下文字解释说明:
  3. 解释说明nachos -x userProgName 的启动过程及原生Nachos系统中的内存访问过程;
  4. 解释说明在Nachos中增加TLB机制,以及针对TLB实现的页面置换算法的设计思路。
    实验步骤
    Task1
  5. 在build.linux目录下Makefile文件中添加 DEFINES -DUSE_TLB;

    2.修改machine目录下的translate.cc文件,注释掉ASSERT函数;
  6. 在userprog/exception.cc中增加case PageFaultException
  7. 添加 SimpleTLBMissHandler函数,实现页表的查询和tlb的替换
  8. 进行测试,结果如下

    Task2
    1.增加userprog/exception.cc中的TLBMissHandler,缺页中断异常处理中调用该函数

    2.增加函数:

    3.新建了一个lab10.c文件,复制粘贴sort.c文件中的前半部分,把SIZE设置小一点,最后的Exit(0)修改为Halt(); 把userprog/exception.cc中最后一句 ASSERTNOTREACHED()注释掉,运行