gpt4 book ai didi

linux - 为什么 depmod 是构建和使用内核模块所必需的?

转载 作者:IT王子 更新时间:2023-10-29 00:11:21 30 4
gpt4 key购买 nike

据我了解,depmod 的目的是跟踪每个内核模块加载时的依赖关系。为什么不能像动态加载用户空间共享库那样,在加载内核模块时简单地自动确定?

最佳答案

depmod 不仅仅计算直接依赖关系 - 它还在硬件标识符和处理它们的模块之间建立映射。这用于为检测到的硬件找到要加载的正确模块。

至于为什么它不像用户空间那样按需加载,部分原因是内核链接器在设计上不允许访问文件系统。内核中的理念是文件系统的布局完全取决于用户空间,因此不能保证 foo.ko 会在 /lib/modules/3.0.1/drivers 中找到/somesubsys/foo.ko。因此,内核依赖于用户空间实用程序(如 depmod 和 modprobe)按照它需要加载它们的顺序将原始数据传递给它的模块;如果用户空间在这项工作中失败,它只是返回一个错误,并让用户空间处理这个困惑。

关于linux - 为什么 depmod 是构建和使用内核模块所必需的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8697132/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com