内核模块开发

一.Linux内核模块基础

1.内核模块作用:节省内存的空间


2.内核模块特点:模块本身并不被编译进入内核文件;在内核运行期间动态的安装或者卸载


3.内核模块操作:

           3.1安装:insmod

   3.2卸载:rmmod

   3.3查看:lsmod


4.新的使用组件思路:动态加载和卸载。也就是需要这个组件的时候才去加载,不需要的时候,就卸载。这边是                                     我们所说的内核模块机制。


二.Linux内核模块设计

总体步骤 :1.头文件:<linux/init.h>和<linux/module.h>

                  2.调用加载函数:module_init();

  3.调用卸载函数:module_exit();

范例代码:

helloworld.c



Makefile:



三.Linux内核模块可选项

 1.模块申明:

MODULE_LICENSE(“遵守的协议”):申明该模块遵守的许可协议

MODULE_AUTHOR("作者"):申明模块的作者

MODULE_DESCRIPTION("模块的功能描述"):申明模块的功能

MODULE_VERSION(""):申明模块的版本


2.模块参数:

    通过module_param指定保存模块参数的变量。模块参数用于加载模块时传递参数给模块

    函数: module_param(name,type,perm)

    参数设置:name:变量的名字

     type:变量的类型

     perm:访问的权限 S_IRUGO:读权限  S_IWUSR:写权限


3.符号导出:

    内核符号的导出使用宏:EXPORT_SYMBOL(符号名)







      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值