linux模块机制学习笔记
2010-09-23 17:41
239 查看
模块是linux用来高效利用微内核理论优点而不会降低系统性能的一种方法。
一般在组件需要对内核中静态链接的某个数据结构或者函数进行修改时。
内核有两个主要任务来进行模块管理。第一个任务是确保内核其它部分可以访问该模块的全局符号。第二个任务是记录模块的使用情况。
gpl许可证:不限制用户与企业使用其源代码,但是严格禁止在非gpl许可证下发行相关的源代码,而这些源代码起源于或者大部分起源于linux代码。
有可能用户会发布二进制模块代码。但linux内核开发者社团不太会接受这样的模块。
每个模块开发者应当在源码中表示出许可证类型。如果是非gpl兼容的,很多内核函数和数据结构不能使用。
对于每个模块,系统都 分配一个包含以下数据的内存区:
一个mofule对象
模块名
实现模块功能的代码
模块对象中有模块每cpu引用计数。有异常处理代码,有导出符号,有模块依赖链表。
还可使用request_module(), modprobe来自动加载模块。
一般在组件需要对内核中静态链接的某个数据结构或者函数进行修改时。
内核有两个主要任务来进行模块管理。第一个任务是确保内核其它部分可以访问该模块的全局符号。第二个任务是记录模块的使用情况。
gpl许可证:不限制用户与企业使用其源代码,但是严格禁止在非gpl许可证下发行相关的源代码,而这些源代码起源于或者大部分起源于linux代码。
有可能用户会发布二进制模块代码。但linux内核开发者社团不太会接受这样的模块。
每个模块开发者应当在源码中表示出许可证类型。如果是非gpl兼容的,很多内核函数和数据结构不能使用。
对于每个模块,系统都 分配一个包含以下数据的内存区:
一个mofule对象
模块名
实现模块功能的代码
模块对象中有模块每cpu引用计数。有异常处理代码,有导出符号,有模块依赖链表。
还可使用request_module(), modprobe来自动加载模块。
相关文章推荐
- Linux音频ALSA机制学习笔记<二>
- Linux信号产生与处理机制学习笔记(一)
- Linux netfilter 学习笔记 之七 ip层netfilter的连接跟踪模块的概念及相关的数据结构分析
- Linux netfilter 学习笔记 之七 ip层netfilter的连接跟踪模块的概念及相关的数据结构分析
- Linux netfilter 学习笔记 之十五 netfilter模块添加一个match
- Node.js中的模块机制学习笔记
- Linux netfilter 学习笔记 之十二 ip层netfilter的NAT模块代码分析
- Linux netfilter 学习笔记 之十一 ip层netfilter的NAT模块初始化以及NAT原理
- Linux信号机制学习笔记-----Linux信号机制的疑问?????
- Linux 第六周学习笔记 (2),特殊权限列表,at延时任务及定时机制,系统临时文件的管理
- Linux netfilter 学习笔记 之十三 netfilter的SNAT模块是否支持UDP打洞
- Linux实践工程师学习笔记十一:PAM认证模块
- lalala~ 我的第一篇linux学习笔记_如何查看系统模块
- Linux邻居协议 学习笔记 之五 通用邻居项的状态机机制 - __neigh_event_send()
- npm模块安装机制学习笔记
- Linux程序设计学习笔记----多线程编程线程同步机制之相互排斥量(锁)与读写锁
- Linux netfilter 学习笔记 之十五 netfilter模块添加一个match
- Linux netfilter 学习笔记 之八 ip层netfilter的连接跟踪模块初始化
- linux学习笔记_如何查看系统模块[转载]
- Linux netfilter 学习笔记 之十一 ip层netfilter的NAT模块初始化以及NAT原理