摘要: 博客迁移至 "blog.mky.moe" 往周知。 阅读全文
posted @ 2020-01-31 22:25 nlp-in-shell 阅读(377) 评论(0) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约 20 个小时。 2. 收获是对 context switch 的理解更深入了,了解了进程调度的一种良好设计(即用协程分割控制流,使代码更简洁)。 遇到的困难包括: 1. 没有交叉的 gdb,调试困难。 2. 懒 实验结束后的全部代码在:https://gi 阅读全文
posted @ 2020-01-10 20:29 nlp-in-shell 阅读(913) 评论(0) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约 11 个小时。 2. 收获是对 Copy on Write 机制的理解更深入了。 遇到的困难包括: 1. 懒。 2. 中间把代码写挂了两次,经过 soha 提示,恍然大悟,原因是相同的:在子进程退出内存回收时把共享的 physical page 给回收了, 阅读全文
posted @ 2019-12-26 10:38 nlp-in-shell 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约八个小时。 2. 收获是对线性地址的理解更深入了。 遇到的困难包括: 1. 懒。 2. xv6 riscv 默认开了 kpti(内核和用户态页表分离) ,故需要在各种系统调用头部手动模拟 traverse 页表的过程,以及模拟处理缺页异常。(我现在觉得这不是 阅读全文
posted @ 2019-12-20 05:59 nlp-in-shell 阅读(1964) 评论(0) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约两个小时,修改了 xv6 中大量恶臭代码。 测试结果: 0. 实验准备 "实验指导链接" 上来直接: 实验分为两个子任务: 1. 给 xv6 的 vfs 加上 malloc(之前是静态内存池) 2. 修改 xv6 的 buddy allocator,通过维护 阅读全文
posted @ 2019-12-18 16:10 nlp-in-shell 阅读(1736) 评论(6) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约两个小时,使用了大量恶臭代码。 其他遇到的问题包括: 1. 使用 重定向 之后程序变得难以调试,最佳实践是使用 进行调试。 测试结果: 0. 实验准备 "实验指导连接" 上来直接: 1. 代码实现 部分参考了 的代码,但 构建了 AST,接着在 AST 上执 阅读全文
posted @ 2019-12-11 19:58 nlp-in-shell 阅读(1383) 评论(0) 推荐(0) 编辑
摘要: 在对 dup / dup2 的源码分析中,我遇到了一对 annotation ,即 和 经查阅,此为内核代码静态分析工具 Sparse 的 annotation 。Sparse 通过 gcc 的扩展属性 以及自己定义的 来对代码进行静态检查 。 其他可见 "内核文档" 或 "一篇博客" 。 阅读全文
posted @ 2019-11-24 18:02 nlp-in-shell 阅读(428) 评论(0) 推荐(0) 编辑
摘要: [TOC] 在 Lab01 实验中,twd2 认为基于 的方法实现的 是病态的,多线程下存在 race 风险。 经过调查,我得到一些结论,此处按时间顺序还原。 1. Before 1995 这个时候 POSIX Thread 还没出来,因此 POSIX 标准中没有 share file descri 阅读全文
posted @ 2019-11-23 21:36 nlp-in-shell 阅读(371) 评论(0) 推荐(0) 编辑
摘要: [TOC] 实验总结 1. 本次实验用时约五个小时,足证我代码能力之退化。 2. 对于实验三中难懂的 , twd2 认为可以往 xv6 中加一个 dup2 函数,我表示同意。需要进一步研究 xv6 结构,确定如何添加。 遇到的其他问题包括: 1. 突然间发现 gcc 不认 类型了。经检查发现用户态程 阅读全文
posted @ 2019-11-22 15:21 nlp-in-shell 阅读(4245) 评论(17) 推荐(0) 编辑
摘要: 使用 。 2019 Fall 要求在 RISC V 上做,妙极了。 1. 安装必要的包 按官网要求 。 出现故障,经检查需要先更新 Pacman 元数据 ,之后成功。 测试: 下载代码: 测试: 阅读全文
posted @ 2019-11-22 02:34 nlp-in-shell 阅读(672) 评论(0) 推荐(1) 编辑