• 2024-04-24MIT6.S081 Lab Traps
    本实验主要是关于如何使用陷阱实现系统调用的。RISC-Vassembly(easy)这个部分主要是回答一些问题。首先我们按照实验的指示,运行下面的命令得到一份容易读懂的汇编和C结合的代码,位于user/call.asm。makefs.imgQuestion1Whichregisterscontainargumentstofuncti
  • 2024-02-14【XV6】 traps
    代码:https://github.com/JasenChao/xv6-labs.gitbacktrace题目要求实现backtrace来对堆栈上调用发生错误的地方进行跟踪。寄存器s0包含指向当前堆栈帧的指针,那么返回地址就位于帧指针的固定偏移量-8,前一个fp地址的偏移量为-16。在riscv.h文件中增加提示中的代码:staticinline
  • 2023-11-22xv6 traps
    traps引入三种类型的事件会导致CPU暂时搁置普通指令的执行,并强制将控制转移给处理事件的特殊代码。系统调用。用户程序执行调用指令要求内核为它做一些事情异常。指令(用户或内核)做了一些非法的事情,例如除以零或使用无效的虚拟地址设备中断。当设备发出需要注意的信号时,例