xv6创建有参数的系统调用

本文介绍了如何在xv6操作系统中创建一个带有参数的系统调用,包括在proc.c中实现功能函数,user.h和defs.h中声明用户接口,syscall.h中定义系统标识,syscall.c中声明系统调用与标识的关系,以及sysproc.c中建立系统调用与函数的关联。通过这些步骤,可以成功创建并使用带参数的系统调用。
摘要由CSDN通过智能技术生成

xv6操作系统创建一个有参数的的系统调用。
对于无参数的系统调用,有很多教程,我也发现了很多。但是对于有参数的,很那找到。这里我写明关键字-“带参数”,希望帮助到大家。如果代码有错误,敬请指正。

1.实验环境

1. Ubuntu 15.5虚拟机
2. qemu虚拟环境
3. xv6操作内核

2.创建步骤

我以 int set_priority(int priority,int pid)为例。
1. 在proc.c中完成功能函数,格式类如 int set_priority(int priority,int pid){.......}
2. 在user.h中和defs.h中注明用户接口,格式类如 int set_priority(int priority,int pid)
3. 在syscall.h中声明系统标识,格式类如 #define SYS_setpriority 24
4. 在syscall.c中声明系统标识和系统调用得关系,格式类如 extern int set_priority(void)以及[SYS_set_priority] sys_set_priority。在这里系统调用中要求填void
5. 最关键的一步,在sysproc.c中声明系统调用和功能函数的关联,格式类如:

int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值