哈罗大家好,6.S081是麻省理工的一门作业系统的课程,小弟我在寒假时有听说这们课程很厉害,但是才写了一个lab就没有继续写下去了XD
想说趁暑假闲闲没事,来再次尝试读读这们课程,顺便写个笔记:)
跟着课程进度一直走下去就可以了,个人觉得重点是写完各个lab(类似作业的东西)
6.S081提供了一个教学用的作业系统Xv6,让学生可以直接修改以及trace程序码,我认为这非常的让人兴奋,平常虽然每天都在使用作业系统,但也不是很了解OS是如何运作的,而这们课程透过Xv6来把OS的原型展露出来,有不懂的地方都可以向原始码请教
这部份的详细内容都写在lab util中,大致上你会需要一个linux系统(windows使用者可以用虚拟机),然後Xv6会跑在linux所架设的虚拟机上
$ git clone git://g.csail.mit.edu/xv6-labs-2020
$ cd xv6-labs-2020
$ git checkout util
$ sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
$ make qemu
...
(一大串讯息)
...
xv6 kernel is booting
hart 2 starting
hart 1 starting
init: starting sh
$
到这里,Xv6已经成功开机了!
$ ls
. 1 1 1024
.. 1 1 1024
README 2 2 2059
xargstest.sh 2 3 93
cat 2 4 24120
echo 2 5 22944
forktest 2 6 13184
grep 2 7 27424
init 2 8 23680
kill 2 9 22904
ln 2 10 22744
ls 2 11 26312
mkdir 2 12 23040
rm 2 13 23032
sh 2 14 41856
stressfs 2 15 23904
usertests 2 16 148312
grind 2 17 38008
wc 2 18 25232
zombie 2 19 22280
console 3 20 0
没意外了话,会出现以上的画面
ctrl+a
放开这两个键之後,再按下x
$ QEMU: Terminated
就可以里开了
之後应该会继续写笔记,再请各位多多指教~
<<: 0 day 安全笔记 第一章 1.4 crack 小实验
>>: 使用 Vue 串接 Facebook Login JavaScript SDK 时 FB.getLoginStatus 总是回应 unknown 状态,但明明已经登入成功
1. 标题标签 <h1> - <h6> (一级标题 - 六级标题) 文字粗体...
Call by Value 传值 Call by Reterence 传参照 Call by Sh...
1.add report 2.add dataset 3.edit param be mulit 2...
今日目标 [Debug] 批次渲染 DrawLine 终於找到问题在哪了... 终於找到问题在哪里,...
「软件架构就是画线的艺术,我称这些线为边界 (Boundaries)」 「架构师的目标是尽量减少建...