xv6 CPU alarm

要求:添加alarm系统调用
1) 使用grep命令筛选出出现uptime字样的文件和文件中所在行号,以便仿照uptime系统调用实现alarm系统调用:

xv6 CPU alarm

2) 在syscall.c中添加系统调用函数的外部声明,共有两处地方需要添加:
xv6 CPU alarm
xv6 CPU alarm

3) 在syscall.h中添加系统调用号:
xv6 CPU alarm

4) 在sysproc.c中添加系统调用函数sys_alarm()的实现:

xv6 CPU alarm

5) 在user.h中添加用户态函数的定义:
xv6 CPU alarm

6) 在usys.S中添加用户态函数的实现:
xv6 CPU alarm

7) 由于我们还需要在用户空间来对内核提供的系统命令进行调用,新建用户程序alarmtest.c文件,写入以下代码:
xv6 CPU alarm

8) 在Makefile文件UPROGS处添加_alarmtest:
xv6 CPU alarm

9) 在proc.h文件的proc结构体中,添加以下三个属性:

xv6 CPU alarm

10) 在trap.c文件中的“case T_IRQ0 + IRQ_TIMER”位置处添加以下代码:
xv6 CPU alarm

运行qemu:
xv6 CPU alarm