前言
做这个作业我重装了无数次虚拟机、等待了无数次漫长的编译,被磨的都没有脾气了。希望可以帮助同学们尽快完成作业,不花费过多的时间。
任务:在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

354

被折叠的 条评论
为什么被折叠?



