linux内核模块学习

模块是具有独立功能的程序,它能被单独编译,但不能独立运行。
它可以在系统运行时动态的被链接到内核中作为内核的一部分在内核空间运行,
所以内核模块提高了内核的可扩展性。

查看当前系统中已经加载了哪些模块的方法是:
1. 使用lsmod命令进行查看,
sh-3.2# lsmod

2. 直接查看/proc文件系统中的信息,
sh-3.2# cat /proc/modules

以上两种方法其实是一样的,都是查看当前系统中的模块加载状况。
二者区别在于lsmod命令的结果是经过格式化之后的信息。

删除一个已经安装的模块的方法是:
1. 直接使用rmmod命令并指定模块名,
sh-3.2# rmmod module

2. 使用modprobe命令指定-r选项来删除一个模块,
sh-3.2# modprobe -r module

安装一个模块的方法是:
1. 直接使用insmod命令并制定模块的路径,
sh-3.2# insmod /.../.../module

2. 使用modprobe命令可以选择安装指定的模块或所有的模块。

使用modprobe命令加载或卸载模块的好处在于:
modprobe会根据模块之间的依赖关系来决定如何载入或卸载模块。
而模块之间的依赖关系是如何创建呢?
执行depmod命令就会产生一个模块依赖关系的文件:
/lib/module/2.6.xx/modules.dep

模块,简单讲就是.ko文件,通常都是驱动程序开发时才会使用。
linux系统提供了模块功能大大的提高了驱动开发的效率。
那使用gcc如何才能编译一个模块文件?
据说使用如下的编译选项就可以:
-I /usr/src/linux/include
暂时没有此需求,待有空时可以再试试看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值