首页 > 系统相关 >OS-Nachos内存管理

OS-Nachos内存管理

时间:2024-10-16 14:48:24浏览次数:5  
标签:exception cc TLB 内存 Nachos OS userprog

实验目的

  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()注释掉,运行

标签:exception,cc,TLB,内存,Nachos,OS,userprog
From: https://www.cnblogs.com/arm-blog/p/18469937

相关文章

  • OS-Nachos实验环境的搭建
    实验目的:按照实验教程在本地虚拟机搭建Nachos开发环境;安装docker,下载镜像搭建基于docker的Nachos开发环境;使用./nachos–u学习nachos的用法,并对相关命令选项进行尝试;使用nachos–x选项加载test目录下编译为noff格式的用户程序运行,思考nachos执行结果错误的原因;使用gdb......
  • OS-Lab3-Linux进程相关的系统调用和线程相关的库函数
    实验目的1) 演示/实践:Linux进程控制相关的系统调用(如exec()/exit()等)2) 演示/实践:Linux多进程的条件竞争/RaceCondition的现象观察3) 演示/实践:Linux的线程库pthread的初步和入门(如何创建一个用户态的Linux线程:相关库函数pthread_create()等),以及其条件竞争/RaceCondition的现象......
  • OS-Lab4-多线程编程基础
    实验目的事先编辑好数据文件1.dat和2.dat,它们的内容分别为12345678910和-1-2-3-4-5-6-7-8-9-10。根据示例代码和其运行效果设计一个程序,在这个程序中一共有3个线程,其中两个线程负责从文件读取数据到公共的缓冲区,另外一个线程从缓冲区读取数据作不同的处理(加和......
  • OS-Lab2-Linux进程控制相关命令和系统调用(含gcc编程)
    实验目的1) 概念:Linux的gcc编译器2) 演示/实践:gcc编译器的初步和入门(编写一个带printf的while程序)3) 演示/实践:Linux进程控制相关的命令(如ps/pstree/top/kill/等)演示/实践:Linux进程控制相关的系统调用(如fork()/getpid()等)4) 概念:Linux的gdb调试器5) 概念:Linux的make工具及其Makefi......
  • VOSK实现语音输出
    以下代码读取麦克风输入并输出中文:#encoding:utf-8importwaveimporttimeimportjsonimportthreadingfromvoskimportModel,KaldiRecognizer,SetLogLevel#禁止日志输出SetLogLevel(-1)model_path="models/vosk-model-cn-0.1"model=Model(model_path)defre......
  • OS-Lab1-Linux的常见命令和Shell脚本编程
    Lab1:Linux常见命令的基本使用和总结:如ls、cd、mkdir、torch、rm、mv、clear、grep、find、cat、shutdown等。Lab2:Linux常见命令的应用案例:下面的步骤,通过相关的Linux命令,完成指定步骤的操作Lab3:VMware的Host(如Windows系统)与Guest(如UbuntuLinux)的数据交换:常见......
  • Jboss未授权访问-8080
    Jboss未授权访问√基础了解JBOSS是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器。一般与Tomcat与Jetty绑定使用Jboss未授权漏洞是指未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell环境部署vulhub:vu......
  • Proxmox VE 安装Mikrotik RouterOS
    一、环境介绍1、PVE版本:ProxmoxVirtualEnvironment7.2-32、ROSCHR镜像文件,GoogleChrome浏览器上访问Mikrotik官网下载,或访问云盘。3、WinSCP、Xshell用于上传镜像文件到PVE物理机。(请自行百度下载)    Xshell下载地址    WinSCP下载地址二、PVE部署准备工作......
  • CentOS高可用运维案例之---配置bond0
    案例说明:在CentOS7系统下,两个Server之间网卡部署bond0连接测试。系统版本:[root@node201~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID_LIKE="rhelfedora"VERSION_ID="7"PRETTY_NAME="CentOSLinu......
  • CentOS清理、巡检脚本
    清理脚本#!/bin/bash#清理缓存脚本echo"同步磁盘数据到内存"sync#清理页面缓存、目录项缓存和inode缓存echo"清理缓存..."sudosh-c"echo3>/proc/sys/vm/drop_caches"echo"清理完成"nacos清理脚本#!\bin\bash###用于定时清除nacos当天之前的日志文件###......