内核模块相关知识的学习

本文详细介绍了Linux内核模块的结构,包括模块的编译过程、头文件引用、初始化与退出函数、模块参数定义、符号导出以及模块计数管理。通过模块参数的module_param()函数,讲解了参数的定义、赋值和权限设置。同时,讨论了内核符号表的导出函数,如EXPORT_SYMBOL和EXPORT_SYMBOL_GPL。文章还概述了Makefile在编译模块中的作用,以及编译流程,包括从源文件到最终ko模块的生成步骤。
摘要由CSDN通过智能技术生成

    这周主要以学习模块的结构和模块的编译,其中第一章讲了一个简单的模块源程序,通过这个程序我们可以看出模块的大概结构。结构分析如下:首先是编译模块所需的内核内部的头文件,其中包括初始化init.h头文件、模块所需的头文件moudle.h、内核中部分被调用函数所包含的内核头文件kernel.h。接下来是模块的许可证的申明,一般我们常采用BSB/GPL双许可证,如果不加的话编译时会提示kernel tainted(内核被污染),接着是用户自定义的函数来实现模块的功能,包括初始化的函数和退出的函数,再下面是调用模块加载函数module_init(函数名)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值