Nachos系统调用的实现

实验目的

  1. 模仿code/test/add.c,阅读并理解其实现过程,实现求乘法,除法两种系统调用。
  2. 了解并掌握Linux下nachos的系统调用

实验内容

  1. 在/userprog/syscall.h中进行宏定义和函数声明
    在这里插入图片描述在这里插入图片描述

  2. 在/userprog/ksyscall.h中实现函数的功能
    Nachos系统调用的实现_第1张图片

  3. 在/userprog/exception.cc中通过switch实现对不同指令的响应功能,以及对异常进行处理
    Nachos系统调用的实现_第2张图片Nachos系统调用的实现_第3张图片

  4. 在/test/start.s中补充汇编指令代码,实现系统调用
    Nachos系统调用的实现_第4张图片

  5. 在test文件夹下增加division.c和multiplication.c,实现函数调用
    Nachos系统调用的实现_第5张图片
    Nachos系统调用的实现_第6张图片

  6. 在test下的Makefile中的源文件引用添加division.c和multiplication.c
    在这里插入图片描述

  7. 在/test路径下make编译
    Nachos系统调用的实现_第7张图片

  8. 在/build.linux路径下make进行全局编译
    在这里插入图片描述

运行

Nachos系统调用的实现_第8张图片
Nachos系统调用的实现_第9张图片

你可能感兴趣的:(操作系统)