操作系统原理作业(五):xv6 CPU alarm

实验步骤

添加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”位置处添加以下代码:

实验结果

坚持原创技术分享,您的支持将鼓励我继续创作!

热评文章