modules的概念及使用 【程序编程相关:系统引导与启动】
【推荐阅读:new concepts 19】2004-04-23 15:18 pm 【扩展信息:Linux swap space min】 作者:作者 来自:linux知识宝库 现载:http://www.douzhe.com/linuxtips/42.html 地址:无名 一.什么是 modules? modules 的字面意思就是模块,在此指的是 kernel modules;简单来说, 一个模块提供 了一个功能,如 isofs.minix.nfs.lp 等等.传统来讲,模块化有两个方法解决: 设计者 可以把各项功能分离到单独的叫做线程的处理中去, 或者是将内核以包含/排除一些功能的方 式重新编译.如果把功能分离到线程中去,那么内核就叫做“微内核”(micro-kernel),这种解 决方法增加了线程间协调工作的通信开销.就象名字暗示的那样,这种解决方案的优点在于内 核的大小. linux的解决方案是包含内核模块,这些模块是可以按需要随时装入与卸下的. 这样做可 以使得内核的大小与通信量都达到最小.将模块从内核中独立出来,不必预先『绑』在 kernel codes 中.这样做有三种优点: 第一, 将来修改 kernel 时,不必全部重新compile, 可节省不少时间;第二, 若需要安装新的 modules ,不必重新 compile kernel,只要插入 (通过insmode指令) 对应的 modules 即可;第三,减少内核对系统资源的占用, 内核可以集 中精力做最基本的事情,把一些扩展功能都交由modules实现. 模块也可以用来尝试新的内核代码而不需要每次都创建与重激活内核.但是,这样做带来 的问题是:使用内核模块通常会轻微的增加性能与内存开支.一个可加载模块肯定会产生更多 的代码,这种代码与额外的数据结构会占用更多一点的内存.另外因为间接访问内核资源也让 模块的效率轻微降低. 模块化的思想已经被广泛接受,主要的原因在于它可以扩展系统的功能,用户可以灵活的 配置系统.apache也采取了这种功能扩展方式,在本文中主要讨论是内核的模块安装与卸载, apache模块的安装请参照apapce的相关文档. ... 下一页