摘要:
博客迁移至 "blog.mky.moe" 往周知。 阅读全文
摘要:
[TOC] 实验总结 1. 本次实验用时约 20 个小时。 2. 收获是对 context switch 的理解更深入了,了解了进程调度的一种良好设计(即用协程分割控制流,使代码更简洁)。 遇到的困难包括: 1. 没有交叉的 gdb,调试困难。 2. 懒 实验结束后的全部代码在:https://gi 阅读全文
摘要:
[TOC] 实验总结 1. 本次实验用时约 11 个小时。 2. 收获是对 Copy on Write 机制的理解更深入了。 遇到的困难包括: 1. 懒。 2. 中间把代码写挂了两次,经过 soha 提示,恍然大悟,原因是相同的:在子进程退出内存回收时把共享的 physical page 给回收了, 阅读全文
摘要:
[TOC] 实验总结 1. 本次实验用时约八个小时。 2. 收获是对线性地址的理解更深入了。 遇到的困难包括: 1. 懒。 2. xv6 riscv 默认开了 kpti(内核和用户态页表分离) ,故需要在各种系统调用头部手动模拟 traverse 页表的过程,以及模拟处理缺页异常。(我现在觉得这不是 阅读全文
摘要:
[TOC] 实验总结 1. 本次实验用时约两个小时,修改了 xv6 中大量恶臭代码。 测试结果: 0. 实验准备 "实验指导链接" 上来直接: 实验分为两个子任务: 1. 给 xv6 的 vfs 加上 malloc(之前是静态内存池) 2. 修改 xv6 的 buddy allocator,通过维护 阅读全文
摘要:
[TOC] 实验总结 1. 本次实验用时约两个小时,使用了大量恶臭代码。 其他遇到的问题包括: 1. 使用 重定向 之后程序变得难以调试,最佳实践是使用 进行调试。 测试结果: 0. 实验准备 "实验指导连接" 上来直接: 1. 代码实现 部分参考了 的代码,但 构建了 AST,接着在 AST 上执 阅读全文
摘要:
在对 dup / dup2 的源码分析中,我遇到了一对 annotation ,即 和 经查阅,此为内核代码静态分析工具 Sparse 的 annotation 。Sparse 通过 gcc 的扩展属性 以及自己定义的 来对代码进行静态检查 。 其他可见 "内核文档" 或 "一篇博客" 。 阅读全文
摘要:
[TOC] 在 Lab01 实验中,twd2 认为基于 的方法实现的 是病态的,多线程下存在 race 风险。 经过调查,我得到一些结论,此处按时间顺序还原。 1. Before 1995 这个时候 POSIX Thread 还没出来,因此 POSIX 标准中没有 share file descri 阅读全文