大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家来访。
MIT6.S081 Operating System Engineering 是麻省理工学院计算机科学本科的中级课程,前身是 MIT6.828 研究生课程。 课程基于 RISCV 架构以及类 unix 操作系统 xv6,介绍了操作系统最重要的几个基本概念,以及操作系统如何提供抽象、隔离、调度、资源管理,以及为上层应用程序提供服务。 Lab 作业几乎都是利用所学到的理论知识,为 xv6 操作系统添加新功能与改进。每个 lab 都带有自动评测功能。
3.1 MIT 6.S081 FALL 2020环境搭建
我是利用的虚拟机进行的安装,如果大家有超能力的话买个服务器也不是不行。系统我用的是Ubuntu20.04,这里不介绍VMware的使用方法。默认我们创建好了Ubuntu20.04的虚拟机。
首先官方文档地址
更换Ubuntu的软件源
-
点击左下角,然后找到
software update
。
-
然后按顺序更换中科大的源
注意更换后,不要点cancel,直接点×就行了,然后就会弹出来一个reload,点击就行了。
-
最后在命令行中运行
sudo apt-get update
。
下载qume
注意这里的地址不要用官方的,会有点慢。
- 首先创建一个work文件夹
mkdir work
cd work
- 然后下载
$ wget http://sources.buildroot.net/qemu/qemu-5.1.0.tar.xz
$ tar xf qemu-5.1.0.tar.xz
$ cd qemu-5.1.0
安装依赖(本步骤都在qemu-5.1.0文件夹中操作)
- 第一个依赖
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
- 第二步
sudo apt-get install libglib2.0-dev
- 第三步
sudo apt-get install libpixman-1-dev
- 第四步
然后运行下面命令,如果出现一列依赖就说明成功了。
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
- 第五步
make
- 第六步
sudo make install
xv6的克隆
- 转到work目录下
cd ..
- 克隆
git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util
出现下面代表成功。
Branch 'util' set up to track remote branch 'util' from 'origin'.
Switched to a new branch 'util'
最后
在xv6-labs-2020文件夹中运行make qemu
进入系统。
如果出现代表成功。