- 博客(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 1070
原创 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 259
原创 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 243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人