Linux内核符号表【转】
摘要:
我们知道insmod使用公共内核符号表来解析模块中未定义的符号。公共内核符号表中包含了所有的全局内核项(即函数和变量)的地址,这是实现模块化驱动程序所必需的。当模块被装入内核后,它所导出的任何内核符号都会变成内核符号表的一部分。在通常情况下,模块只需实现自己的功能,而无需导出任何符号。但是,如果其他模块需要从某个模块中获得好处时,我们也可以导出符号。新模块可以使用由我们自己的模块导出的符号,这样,我们可以在其他模块上层叠新的模块。模块层叠技术也使用在很多主流的内核源代码中。例如msdos文件系统依赖于由fat模块导出的符号;而每个USB输入设备模块层叠在usbcore和input模块之上。Li 阅读全文
posted @ 2013-02-07 14:50 michile 阅读(1830) 评论(0) 推荐(0) 编辑