欢迎来到天天文库
浏览记录
ID:9361705
大小:231.50 KB
页数:5页
时间:2018-04-29
《添加系统调用(模块添加法2.6内核)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、添加系统调用(模块添加法fedora10:2.6.27.5内核)一、为什么要使用内核模块的方式添加系统调用?n编译内核的方式费时间,一般的PC机都要两三个小时。n不方便调试,一旦出现问题前面的工作都前功尽弃。二、用内核模块的方式实现系统调用有个前提,就是系统必须导出sys_call_table内核符号,但是在2.6内核和2.4.18以上版本中,sys_call_table不再导出。也就是说模块中不能再通过简单的externvoid*sys_call_table[];来获得系统调用表地址。但是,即使内核不导
2、出sys_call_table,也可以在内存中找到它的地址,下面是它的实现方法:第1步:编写syscall_my.c程序:pptprogram/syscall/module_syscall/syscall_my.c第2步:编写Makefie文件见pptprogram/syscall/module_syscall/Makefile第3步.执行make命令编译模块第4步:执行insmod命令插入模块,此时会把自己编写的系统调用插入到系统调用表中。第5步:编写测试程序test.c见pptprogram/sysc
3、all/module_syscall/test.c第6步,编译测试程序,执行测试程序,查看结果(控制台终端下)中间的输出语句就是我们自己定义的系统调用的输出。下图是在图形用户终端下的结果
此文档下载收益归作者所有