最新 最热

6.S081/6.828: 1 Lab Xv6 and Unix utilities

第一个Lab是实现几个shell工具,每个工具都是一个可以独立运行的main函数,会调用系统调用,但其本身并不是系统调用。

2022-11-26
0

6.S081/6.828: 0 环境搭建和调试

本文讲解如何搭建6.S081的环境,主要涉及到仿真模拟器(qemu)、镜像文件、依赖。Ubuntu20搭建起来比较简单,执行以下命令即可。6.S081环境搭建

2022-11-26
0

6.S081/6.828: xv6源码分析--页表

在实现6.S081 Lab3过程中,需要对xv6页表有一定的掌握,因此写了这份源码分析。

2022-11-26
1

6.S081/6.828: 2 Lab system calls

上一个Lab实现了一些shell工具,这个Lab实现一些系统调用,来帮助理解系统调用如何工作、如何暴露。

2022-11-26
0

6.S081/6.828: 3 Lab page tables

本实验需要掌握内核页表、用户页表的布局,切换原理,初始化过程,遍历逻辑等方面,可以参考xv6源码分析--页表。

2022-11-26
0

6.S081/6.828: xv6源码分析--trap机制

处理器只能识别机器指令,不能识别汇编指令。汇编语言是直接面向处理器的程序设计语言,并且操作的对象不是数据,而是寄存器、内存。

2022-11-26
0

6.S081/6.828: 4 Lab traps

这个实验探索系统调用是如何通过trap实现的,会涉及到汇编代码和寄存器操作,建议先参考xv6手册以及xv6源码分析--trap机制。

2022-11-26
1