首页 百科知识 加载内核模块

加载内核模块

时间:2023-10-10 百科知识 版权反馈
【摘要】:说到这里就不能不提到内核守护进程kerneld了,它非常的聪明,能够主动地把需要的modules自动插入kernel,将没用到的module从kernel中清退。kerneld由两个独立的部分构成:一部分工作于Linux的内核,负责向daemon发送请求;另一部分工作于系统的用户数据区,负责调入由内核请求指定的modules。若少了这个kerneld,就只能通过手工的方式,用insmod或modeprobe命令进行加载。因此,加载驱动时就是加载内核模块。

6.2 加载内核模块

学习目标

·学会加载内核模块

加载内核模块的方法有两种。

第一种使用insmod命令手工把它插入到内核。

另一个更智能的方法是在需要的时候加载这个模块:这叫做按需加载(Demand Loading)。当内核发现需要一个模块的时候,例如当用户安装一个不在内核的文件系统的时候,内核会请求内核守护进程(Kerneld)试图加载合适的模块。

说到这里就不能不提到内核守护进程kerneld了,它非常的聪明,能够主动地把需要的modules自动插入kernel,将没用到的module从kernel中清退。kerneld由两个独立的部分构成:一部分工作于Linux的内核,负责向daemon发送请求;另一部分工作于系统的用户数据区,负责调入由内核请求指定的modules。若少了这个kerneld,就只能通过手工的方式,用insmod或modeprobe命令进行加载。

常见的驱动程序就是作为内核模块动态加载的。比如声卡驱动和网卡驱动等,而Linux最基础的驱动,如CPU、PCI总线、TCP/IP协议、APM(高级电源管理)、VFS等驱动程序则编译在内核文件中。有时也把内核模块就叫做驱动程序,只不过驱动的内容不一定是硬件罢了,比如EXT3文件系统的驱动,理解这一点很重要。因此,加载驱动时就是加载内核模块。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈