综合来说,虽然有一个 assignment 标记着困难难度,但技术上的困难几乎没有,更多的应该是文字多步骤多,不过确实需要知道 trap 的程序流,否则可能会无从下手
原文来自于 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