- 博客(3)
- 收藏
- 关注
原创 6.S081学习记录-lab3
一、Print a page table编写一个打印页表内容的函数。xv6采用三级页表,将三级页表展开可以得到一个页表树,因此可以通过深度优先遍历这个页表树来打印出整个页表结构。// 递归函数处理页表树,level表示层数void vmprintrun(pagetable_t pagetable, int level){ // there are 2^9 = 512 PTEs in a page table. for(int i = 0; i < 512; i++){
2022-05-26 12:25:30
1131
原创 6.S081学习记录-lab2
1、System call tracing实现一个追踪系统调用的函数,系统中已经提供了一个用户层面的trace程序(user/trace.c),我们要做的就是创建一个新的系统调用来控制跟踪。trace命令的用法:trace + mask(一个整数,表示需要跟踪的命令) + 待调用的命令trace.c的代码如下:(主要功能是将命令行中的参数argv复制到nargv中,除了argv中的前2个参数)#include "kernel/param.h"#include "kernel/types.
2022-05-19 23:23:45
280
原创 6.S081学习记录-lab1
1、sleep实现sleep函数,读取参数并调用sleep系统调用。#include "kernel/types.h"#include "user/user.h"int main(int argc, char* argv[]){ int time; if(argc < 2){ fprintf(2, "Usage: <sleep time>"); exit(1); } time = atoi(argv[1]); if(time
2022-05-19 20:09:33
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人