Linux设备管理与SCSI子系统深度解析
1. udevd与设备管理
在Linux系统中,当有新设备接入时,例如插入USB闪存驱动器,udevd进程会发挥重要作用。它能够检查新设备的特性,创建设备文件,并执行设备初始化操作。不过,在实际启动过程中,由于设备文件在启动早期就需要,udevd也必须尽早启动。而且,为了创建设备文件,udevd不能依赖它要创建的任何设备,还需要快速完成初始启动,以免影响系统其他部分的启动。
1.1 devtmpfs文件系统
devtmpfs文件系统的出现是为了解决启动期间设备可用性的问题。它类似于旧的devfs支持,但更为简化。内核会根据需要创建设备文件,并通知udevd有新设备可用。收到信号后,udevd不会创建设备文件,而是执行设备初始化、设置权限,并通知其他进程有新设备。此外,它还会在 /dev 目录下创建一些符号链接,以进一步识别设备。
例如,对于挂载在 /dev/sda 的典型磁盘及其分区,在 /dev/disk/by-id 目录下可以看到如下链接:
$ ls -l /dev/disk/by-id
lrwxrwxrwx 1 root root 9 Jul 26 10:23 scsi-SATA_WDC_WD3200AAJS-_WD-WMAV2FU80671 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 26 10:23 scsi-SATA_WDC_WD3200AAJS-_WD-WMAV2FU80671-par
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



