gpt4 book ai didi

linux - 某些 Linux 设备驱动程序如何自动加载/卸载?

转载 作者:太空狗 更新时间:2023-10-29 12:15:07 30 4
gpt4 key购买 nike

关于 Linux 设备驱动程序,我的理解(通过阅读 this excellent DIY article 获得)是设备驱动程序“生命周期”基本上有六个事件/部分:

  • Load - 编译后的驱动程序通过 insmod
  • 作为 Linux 内核模块加载
  • 打开 - 设备已打开/准备好使用
  • Read/Write - 设备被使用
  • Close - 设备已关闭/断开连接,目前不再可用(除非重新打开)
  • Release - 驱动程序(现在是内核模块)通过 rmmod
  • 从内核中卸载

感谢那篇文章和无数其他文章,我现在可以编写一大堆 C 代码来实现 Hook /回调,以便在内核发出 OpenRead 时发生什么>、WriteClose 命令。但是,似乎必须通过在外壳上发出 insmod(加载)和 rmmod(释放)来手动加载/释放驱动程序。

但是,我知道情况并非如此,因为某些设备(例如 USB)允许您动态/即时连接/断开它们,并且它们各自的驱动程序必须即时自动加载/释放-也能飞。

因此这引发了以下问题:某些技术(如 USB)如何自动执行 insmodrmmod(因此动态加载/释放USB 设备驱动程序)?

最佳答案

它基于 linux hotplug。以下链接可能对您有用。

http://www.makelinux.net/ldd3/chp-14-sect-7

关于linux - 某些 Linux 设备驱动程序如何自动加载/卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172516/

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