😊博主目前也在学习,有错误欢迎指正😊
🌈保持热爱 奔赴星海🌈
最近闲来无事,考虑到操作系统学的一塌糊涂,就萌生了学一学MIT 6.S081的想法,今天是第一天,希望不要烂尾哈哈哈。
一、课程介绍
MIT6.S081 Operating System Engineering 是麻省理工学院计算机科学本科的中级课程,前身是 MIT6.828 研究生课程。MIT6.S081可以说是非常出名,尤其是配套的lab,非常值得做。
二、课程资源
课程链接:https://pdos.csail.mit.edu/6.S081/2020/schedule.html
配套课程:https://www.bilibili.com/video/BV19k4y1C7kA?spm_id_from=333.337.search-card.all.click
三、环境搭建
(1)实现环境:
- 虚拟机(我用的VMware Workstation Pro)
- Ubantu20.04
- 安装QEMU
(2)工具安装
MIT6.S081官网提供了该门课需要安装的工具,在这个位置:
点开之后,下拉到这个位置:
根据官网的提示输入以下命令即可
- sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
- sudo apt-get remove qemu-system-misc
- sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6
在完成上述操作后,检验一下是否安装成功,分别输入
- riscv64-unknown-elf-gcc --version
- qemu-system-riscv64 --version
若成功,就会像这样:
(3)下载并且编译QEMU
下面我们来下载并且检查是否能编译QUMU,分别输入以下命令:
git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util
编译QEMU:
make qemu
若编译成功,则如下图所示,可以输入ls命令试一试。
到此我们的环境就搭建好了!
若想退出QEMU,先按Ctrl+a,再按x即可。
四、我遇到的问题
虽然只有这几步,但是报了好多次错。
第一次报错:在执行sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
命令时,报了IP地址找不到的错误(好吧看不懂),在找不到答案后,我换成了清华大学的源就成功了。
第二次报错是在我安装完之后,在执行riscv64-unknown-elf-gcc --version
命令时显示命令找不到。最后根据提示执行了sudo apt install gcc-riscv64-unknown-elf
命令就解决了。