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