第一个Lab是实现几个shell工具,每个工具都是一个可以独立运行的main函数,会调用系统调用,但其本身并不是系统调用。
本文讲解如何搭建6.S081的环境,主要涉及到仿真模拟器(qemu)、镜像文件、依赖。Ubuntu20搭建起来比较简单,执行以下命令即可。6.S081环境搭建
在实现6.S081 Lab3过程中,需要对xv6页表有一定的掌握,因此写了这份源码分析。
上一个Lab实现了一些shell工具,这个Lab实现一些系统调用,来帮助理解系统调用如何工作、如何暴露。
本实验需要掌握内核页表、用户页表的布局,切换原理,初始化过程,遍历逻辑等方面,可以参考xv6源码分析--页表。