【操作系统】添加系统调用

添加系统调用

•       四步:

     1.编写系统调用源代码.

     2.连接新的系统调用:

           1)修改函数入口地址表unistd.h

           2)修改系统调用表entry.S

      3.重建新的linux内核.

      4.用新的内核启动系统.

第一步:编写系统调用源代码

•          将源代码添加到的路径:

•       /usr/src/linux/kernel/sys.c 

•       函数名必须以sys_开头:参考文件中的别的系统调用函数就可以了(比如:

•       Asmlinkage int sys_mycall(intnumber)

•       {   return number;

•       }

第二步:修改函数入口地址表unistd.h

•       路径:

•       /usr/src/linux/include/asm-i386/unistd.h

•       宏定义中增加一行:

•       为本系统调用设置一个系统调用号

•       仿照文件中别的宏定义,比如:

•       #define __NR_mycall 259

第三步:修改系统调用表

•       路径:

•       /usr/src/linux/arch/i386/kernel/entry.S

•       在与系统调用号相同的位置增加一行,

•       仿照文件中别的定义,比如:

•       .long SYMBOL_NAME(sys_mycall)

第四步:重建新的linux内核

•       路径:

•       /usr/src/linux-2.4

•       #make xconfig 进行内核配置

•       #make dep    检测关联性

•       #make clean 

•       #make bzImage生成内核映像文件

第五步:用新的内核启动系统

•       配置启动文件

•       修改启动文件

•        路径:

•       /boot/grub/grub.conf

•       重启:

写一个应用程序进行系统调用。

系统调用添加完成

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值