09 2023 档案

摘要:LAB:cow 1.实验概述 本次实验的内容为给xv6实现一个cow功能,具体情况为,在fork时,子进程一般会立即复制父进程的内存并获取一段新的内存,但这些内存并不是会立即使用的,所谓我们要实现的功能为,在fork时,不给子进程分配内存,而是直接将子进程的pagetable和父进程映射同一段物理内 阅读全文
posted @ 2023-09-18 09:15 silly19 阅读(36) 评论(0) 推荐(0) 编辑
摘要:LAB:xv6 lazy page allocation 1.实验概述 本节的实验内容是给xv6加上一个延迟分配内存的功能,具体内容为,在用户态调用系统调用sys_bark时,只设置进程控制块中内存大小,不进行具体分配,等待用户需要使用上次调用的内存时,会产生一个pagefault,此时在中断处理程 阅读全文
posted @ 2023-09-17 15:45 silly19 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.RISC-V assembly 1.a2, a1 store 12(f(8)+1) 2.26: 45b1 li a1,12 3.0x630 4.0x30 5.He110 World; i = 0x726c6400; no 6.之前a2中保存的值 2.Backtrace 关键:怎么判断用户栈超出栈 阅读全文
posted @ 2023-09-13 23:05 silly19 阅读(12) 评论(0) 推荐(0) 编辑
摘要:lab pagetable 1、print a pagetable void vmprint_helper(pagetable_t pagetable, int depth) { static char* indent[] = { "", "..", ".. ..", ".. .. .." }; i 阅读全文
posted @ 2023-09-10 13:51 silly19 阅读(11) 评论(0) 推荐(0) 编辑
摘要:lab System calls 0、time 4 hours 1、trace // 1.在user/user.h中加上trace函数定义 int trace(int); // 2.在user/usys.pl中加上trace的entry脚本 entry("trace"); // 3.在kernel/ 阅读全文
posted @ 2023-09-06 22:01 silly19 阅读(9) 评论(0) 推荐(0) 编辑
摘要:lab utilities 1、sleep // // Created by silly on 23-9-5. // #include "../kernel/types.h" #include "../kernel/stat.h" #include "../user/user.h" int main 阅读全文
posted @ 2023-09-06 10:18 silly19 阅读(43) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示