参考:https://pdos.csail.mit.edu/6.828/2020/tools.html
这里我使用的是ubuntu 20.04
作业描述:https://pdos.csail.mit.edu/6.828/2020/labs/util.html
下载课程代码:
git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util # 切换到util分支
运行方法:
make qemu # 推出系统的方法:ctrl + a, 然后再按下x
在user
目录下创建sleep.c
文件,实现代码如下:
#include "kernel/types.h"
#include "kernel/stat.h"
#include "user/user.h"
int
main(int argc, char *argv[])
{
if (argc != 2) {
fprintf(2, "Usage: sleep seconds\n");
exit(1);
}
fprintf(2, "sleeping %d seconds\n", atoi(argv[1]));
sleep(atoi(argv[1]));
exit(0);
}
然后在Makefile
文件的UPROG
(第17行)部分加入$U/_sleep\
然后执行make qemu,进入终端后输入sleep 5即可验证该功能。
同时也可以使用项目中的自动化测试脚本进行验证:
./grade-lab-util sleep