摘要: Lab4 traps 1. 理解栈和栈帧 故事要从一张图片说起: 进程的创建和程序的运行: 举个例子来说,比如shell要运行一个程序,首先通过fork来创建进程,allocproc会映射user address space顶部的trampoline和trapframe(用于处理trap),然后ex 阅读全文
posted @ 2022-07-14 22:40 我是小BH 阅读(128) 评论(0) 推荐(0)
摘要: Lab3 Page Tables 1. Print a page table(easy) 1.1 题目 写一个vmprint()函数,该函数的参数是一个pagetable,以指定的形式打印pagetable。在exec.c的exec函数中插入if (p->pid == 1) vmprint(p->p 阅读全文
posted @ 2022-07-14 22:30 我是小BH 阅读(332) 评论(0) 推荐(0)
摘要: Lab8 Locks 这个实验还是蛮难的... 1. Memory allocator(moderate) 1.1 题目 众所周知,在xv6中,我们申请的内存是在结构体struct kmem中申请的,struct kmem中的链表struct run *freelist存放了所有的空闲内存(以pag 阅读全文
posted @ 2022-07-14 22:24 我是小BH 阅读(133) 评论(0) 推荐(0)