本次 lab 理论基础是 risc-v 页表机制,着重关注物理地址的翻译过程,涉及 walk() 和 freewalk() 两个函数的理解
虽然我很反感八股文,但是有时考察理论可能不得不这么来,const 作为重灾区,我自然希望能够在考察前能迅速捡起,于是便诞生了本文
这是 xv6 series lab 的第二个,整体来说,只要能分析出系统调用的安装流程,应该可以很快 pass
这个一个基于 Winsock 的 Win32 端对端聊天软件。很久很久以前大三的时候就做过控制台的烂尾工程,这次花了点时间重新捡起,新封装了 UI。但由于我兴趣不在后台这方面,所以像 IO 模型、自定义协议之类的机制,都只是 Primer 的程度,本文目的更多是提供一种实现思路
本文是 xv6 第一个 lab,包含五个 assignment,每个 assignment 均涉及题意解读、提示分析、编程思路以及代码。直至发布时才发现洋洋洒洒写了 7k 字,所以若有需要可视本文为工具书,按需阅读
以前只记得结构体对齐,是对齐最长的那个成员,但现在发现并不是这样,看以下两个示例(64位 g++ 9.3.0 编译)————原 blog 记载于博客园
相传上古年代有三大屠龙技:编译原理、操作系统和图形学。MIT 6.828 是 OS principle 的一门课程,其 teaching kernel 精简,基于 Unix Sixth Edition (AKA v6) 所以称作 xv6。虽然如今课程更名为 MIT 6.S081,但我仍觉得称作 6.828 更经典。现在,作为整个系列的第一步,本文主要涉及配置环境
纪念第一篇 POST,关于博客迁移