操作系统原理:【优麒麟】linux内核添加系统调用

前言

  做这个作业我重装了无数次虚拟机、等待了无数次漫长的编译,被磨的都没有脾气了。希望可以帮助同学们尽快完成作业,不花费过多的时间。

任务:在Linux(建议麒麟版本)下为内核增加3个新的系统调用,并启用新的内核,并编写应用程序测试。(其他发行版本也可以)

◆提示1:int Max(int,int,int);int GetPID();char*GetCMD();

◆提示2:内核编译和重启参考任务1.

◆提示3:如果使用makefile方式修改源代码,则参考提示4,5,6。

如果直接修改源文件,在源文件中添加新内核函数,则忽略提示4,5,6。

◆提示4:主目录下建NewCall目录并在其中新建MyNewcall.c文件和相应的makefile文件。c文件含

有系统调用的实现函数。makefile文件内容:obj-y := MyNewcall.o

◆提示5:将NewCall目录添加到主makefile中的特定位置:

core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ NewCall/

◆提示6:在syscall_64.tbl和syscalls.h中分别定义编号和声明函数。

◆提示7:在应用程序中使用下面方式调用:
int nRet = syscall(548, 20,18); // nRet = 38
int nRet = syscall(549, 20,18, 4); // nRet= 20

作者linux版本为linux-6.6.22

修改文件

首先,进入linux-6.6.22文件夹

cd /usr/src/linux-6.6.22

1.添加系统调用ID

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值