该系列课程需要使用到RISC-V(极简指令集)版本的四个工具:

1. QEMU 5.1+

2. GDB 8.3+

3. GCC

4. Binutils

Ubuntu 安装:

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu 

下面逐个介绍这四个工具。

课程官网:https://pdos.csail.mit.edu/6.828/2023/index.html

GCC

GNU Compiler Collections,GNU系统中的编译器套件。

GDB

GNU Debugger,GNU系统中的调试器。

QEMU

开源的硬件虚拟化仿真器(Emulator)。是一个托管的虚拟机,通过动态的二进制转换,模拟CPU。并通过提供一组设备模型,能使它运行多种未修改的客户机OS。QEMU可以执行用户进程级的CPU仿真,通过VMM形式,从而可以使为某一架构编译的程序在另一架构上运行。

Binutils

全称为:GNU Binary Utilities。GNU系统的通用二进制工具。用于创建或者管理二进制程序/目标文件/profile文件和汇编源码的工具集。


实验目的(课程目的)

使用一个基础的操作系统(xv6),这是一个RISC-V版本的多任务操作系统。后续的实验基本上就是在次基础上扩充这个操作系统。通过后续的实验,我们将着重于以下的内容:

1. 虚拟内存

2. 文件系统

3. 线程

4. 上下文切换

5. 内核

6. 中断

7. 系统调用

8. 进程间通信(IPC)

9. 软硬件的协作和交互

关于 XV6

xv6是使用ANSI C语言在Unix v6基础上重制的一款针对x86和RISC-V的多任务操作系统。该操作系统是专为本门课制作的。


 

实验源码仓库的建立:

1. 从  git://g.csail.mit.edu/xv6-labs-2023 中将源代码拿出来。

2. 在远程仓库平台建新仓(我选的是gitee),并且在本地登录远程平台或者进行ssh认证(注册)。

3. git remote add gitee git@gitee.com:yikcode/xv6-labs-2023.git

4. git push -u git "util"

上面的步骤即可将原实验仓库放到自己的远程仓库中,然后进行开发。

 posted on 2023-11-02 21:29  尹如何  阅读(12)  评论(0编辑  收藏  举报