在linux下的终端下使用自定义的系统调用(紧急~~)

xiaozhuatxidian 2008-10-27 10:24:24
各位大虾
偶是linux菜鸟,现在正忙着做操作系统课程设计
我的问题具体是这样的:
我自定义了一个系统调用:
asmlinkage void sys_mycall(void){
printk("you are my life ..");
}
完成了注册,编译通过,也能够进入自己修改的linux内核
现在,我要使用该系统调用,编了一个测试程序(zhuzhu.c):
#include<linux/unistd.h>
_syscall0(void,mycall);
main(){
mycall();
}
然后编译该测试程序
gcc -o test zhuzhu.c
编译通过
执行test 。/test
没有任何输出,也没报告错误
这是为什么??
希望大虾们支招~~
谢谢~~
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhuatxidian 2008-10-28
  • 打赏
  • 举报
回复
谢谢各位大虾了~~
xiaozhuatxidian 2008-10-28
  • 打赏
  • 举报
回复
果然在你说的文件里有打印出来的信息~~哈
blackbillow 2008-10-27
  • 打赏
  • 举报
回复
o 看错了
你应该去看看 /var/log/messages 有没有打印信息
blackbillow 2008-10-27
  • 打赏
  • 举报
回复
系统调用要通过int 0x80进入,而且将系统调用号放入eax寄存器中,这里你要写汇编才行
其实平时用的glibc的内部就是这样做的
joyself 2008-10-27
  • 打赏
  • 举报
回复
joyself 2008-10-27
  • 打赏
  • 举报
回复
参考 Linux Kernel Development 2nd这本书的 System Call Context 一节 看看 有没有什么遗漏了。

 本课程的主题是: 透析Linux系统编程    不同于市面上的课程,只会把核心主题放到函数的讲解,本课程的核心主题是 Linux系统编程的经验总结 ;    当你在系统编程中,调用一个系统调用来解决问题时,是否考虑过 该系统调用是否会对系统性能带来影响?是否还有最优的方式?    当你在系统编程过程中,遇到问题,是否只是检查代码逻辑,而不会去深入底层去查找问题 ?    本课程将一一解决系统编程带给你的难点,疑点?    比如控制文件IO章节,给出系统文件操作的默认行为,应用中如何修改这些行为,给出文件IO操作的最优方式;   比如系统调用,给出系统调用原理;系统调用的正确使用方式等   比如进程实现,结合底层,对比线程,深入理解两者;给出进程使用经验总结;   比如线程同步,不仅引出互斥锁 条件变量 自旋锁 读写锁使用方式,同时给出各个机制的应用场景 ;   比如 进程间通信,引出各个进程间通信的机制原理,给出各个进程间通信的应用场景;   比如 信号,给出信号在进程中信号处理处理函数的正确使用方式,给出在多线程中信号处理的正确方式;   比如 共享库,给出共享库的实现机制,给出共享库的正确使用方式;   同时 会讲解 系统安全问题 ; 可执行程序的静态布局和动态布局 ;灵活使用内存映射和虚拟内存;系统事件跟踪;   给出程序性能的调优思路;    丰富的项目实例讲解 ,提供宝贵的商业项目开发经验 ; 

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧