在我的学生作业中,我被要求跟踪 Linux 内核如何发现任何连接设备的配置。例如,系统插入了一台新打印机。据我所知,该实用程序的所有功能(即供应商名称、型号、设备编号等)都将在内核模式下进行评估,然后再将新的硬件信息添加到device
保存的文件中按 /proc
目录。我可以掌握一旦内核检测到可用的新设备它如何运行。否则,我仍然无法理解内核如何检测某个设备已插入并开始收集并保存其配置信息proc
。对这一点是否有任何相当深入的解释,以明确设备插入和将数据传递到文件系统之间的操作?设备驱动程序在多大程度上能够提取这些数据?
答案1
- 一旦检测到设备,udev 就会发挥作用:https://linux.die.net/man/8/udev
- 这篇文章描述了计算机开机时如何检测设备:https://stackoverflow.com/questions/18854931/how-does-the-os-detect-hardware
- 对于 USB,USB 子系统会检测设备何时连接。看这里:http://www.linux-usb.org/USB-guide/x75.html