原文:MIT 6.828 - 4. Lab 04: Xv6 lazy page allocation

目录 实验总结 . 实验准备 . vmprint . 实现 lazy sbrk amp . 冒烟 amp 修复 实验总结 本次实验用时约八个小时。 收获是对线性地址的理解更深入了。 遇到的困难包括: 懒。 xv riscv 默认开了 kpti 内核和用户态页表分离 ,故需要在各种系统调用头部手动模拟 traverse 页表的过程,以及模拟处理缺页异常。 我现在觉得这不是一个很好的设计 测试结果: ...

2019-12-20 05:59 0 1694 推荐指数:

查看详情

MIT 6.828 - 2. Lab 02: Simple xv6 shell

目录 实验总结 0. 实验准备 1. 代码实现 实验总结 本次实验用时约两个小时,使用了大量恶臭代码。 其他遇到的问题包括: 使用 du ...

Thu Dec 12 03:58:00 CST 2019 0 456
MIT 6.828 JOS/XV6 LAB4-partA

这一部分要实现的是对多核处理器的支持,然后实现系统调用只喜欢用户应用创建新的应用,而且还要实现round-robin调度算法 Multiprocessor support jos中对CPU进行了抽 ...

Wed Jan 06 21:55:00 CST 2016 0 3257
MIT 6.828 JOS/XV6 LAB4-partB

这里要实现的就是UNIX标准系统调用中的fork,核心当然是copy on write技术 至于为什么采用copy on write,是因为子进程在被创建之后很可能立刻执行exec()了,之前做的一 ...

Wed Jan 06 21:57:00 CST 2016 0 1915
MIT 6.828 - 3. Lab 03: Allocator for xv6

目录 实验总结 0. 实验准备 1. file.c 2. buddy.c 实验总结 本次实验用时约两个小时,修改了 xv6 中大量恶臭代码。 测试结果: 0. 实验准备 实验指导链接 上来直接: 实验分为两个 ...

Thu Dec 19 00:10:00 CST 2019 2 607
XV6学习(7)Lab lazy

代码在github上。 这一个实验是要利用缺页异常来实现懒分配(lazy allocation)。用户态程序通过sbrk系统调用来在堆上分配内存,而sbrk则会通过kalloc函数来申请内存页面,之后将页面映射到页表当中。 当申请小的空间时,上述过程是没有问题的。但是如果当进程一次申请很大 ...

Sat Jan 16 18:39:00 CST 2021 1 461
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM