淘宝网站开发框架,俄罗斯ip地址,wordpress程序版本,网站建设一般都需要什么资质文章目录 一、内核模块介绍二、模块讲解1、最简模块代码#xff1a;2、模块三要素3、常用操作命令3.1、 lsmod#xff1a;显示已加载模块状态3.2、 insmod#xff1a;载入模块3.3、rmmod#xff1a;卸载模块3.4、dmesg#xff1a;显示信息3.5、modinfo#xff1a;显示ker… 文章目录 一、内核模块介绍二、模块讲解1、最简模块代码2、模块三要素3、常用操作命令3.1、 lsmod显示已加载模块状态3.2、 insmod载入模块3.3、rmmod卸载模块3.4、dmesg显示信息3.5、modinfo显示kernel模块的信息 一、内核模块介绍
Linux提供了一种 需要时可以被动态加载和移除的代码的机制这种机制称为模块Module内核模块具有以下两个特点
模块本身不被编译入内核映像从而使内核映像比较精简。模块被加载后其与其它内核进程没有区别。内核模块的本质一段隶属于内核的“动态”代码与其它内核代码是同一个运行实体共用同一套运行资源只是存在形式上是独立的。
内核模块的运行是在内核空间里的。
二、模块讲解
1、最简模块代码
#include linux/init.h
#include linux/module.hstatic int my_init(void){ //入口函数printk(hello world!!!\n);return 0;
}static void my_exit(void){ //出口函数printk(bye!!!\n);
}module_init(my_init); //注册入口函数
module_exit(my_exit); //注册出口函数
MODULE_LICENSE(GPL); //开源GPL协议2、模块三要素
模块三要素
入口函数 module_init(入口函数名); //注册入口函数
出口函数 module_exit(出口函数名); //注册出口函数
MODULE_LICENSE(GPL); //开源GPL协议3、常用操作命令
3.1、 lsmod显示已加载模块状态
3.2、 insmod载入模块
3.3、rmmod卸载模块
3.4、dmesg显示信息 3.5、modinfo显示kernel模块的信息