实验步骤
添加alarm系统调用
使用grep命令筛选出出现uptime字样的文件和文件中所在行号,以便仿照uptime系统调用实现alarm系统调用:
在syscall.c中添加系统调用函数的外部声明,共有两处地方需要添加:
在syscall.h中添加系统调用号:
在sysproc.c中添加系统调用函数sys_alarm()的实现:
在user.h中添加用户态函数的定义:
在usys.S中添加用户态函数的实现:
创建用户程序alarmtest.c
由于我们还需要在用户空间来对内核提供的系统命令进行调用,新建用户程序alarmtest.c文件,写入以下代码:
修改Makefile文件
在Makefile文件UPROGS处添加_alarmtest:
修改proc.h文件
在proc.h文件的proc结构体中,添加以下三个属性:
修改trap.c文件
在trap.c文件中的“case T_IRQ0 + IRQ_TIMER”位置处添加以下代码: