insmod使用公共内核符号表来解析模块中未定义的符号.功能内核符号表中包含了所有全局内核项(函数和变量)的地址,这是实现模块化驱动程序所必须的.当模块装载到内核后,它所导出的任何符号都会变成内核符号表的一部分.通常情况下,模块只需要实现自己的功能,无需导出任何符号,但是如果其他模块想要使用该模块的某函数或变量,就需要导出符号:通过导出符号,在可以在其他模块上层叠新的模块.通过模块层叠可将模块划分为多个层,简化每个层可缩短开发时间. Linux提供了一个方法来管理符号对模块以外部分的可见性,从而…