为什么我的 DVD 和蓝光驱动器名为 /dev/srX?sr 代表什么?

为什么我的 DVD 和蓝光驱动器名为 /dev/srX?sr 代表什么?

当我第一次开始使用 Ubuntu 时,我思考我的 CD 驱动器是通过/dev/cdrom0/dev/cdrom1等映射的,但今天看看,你可以看到它们现在通过前缀sr

$ ll /dev/{cdrom,sr*}
lrwxrwxrwx  1 root root      3 Feb 10 09:15 /dev/cdrom -> sr0
brw-rw----+ 1 root cdrom 11, 0 Feb 10 09:15 /dev/sr0
brw-rw----+ 1 root cdrom 11, 1 Mar 27 10:30 /dev/sr1

我只是好奇这代表什么。TLDP 在这里没什么帮助;它仍然列为sd“SCSI 驱动器”,我认为现在它更常见的意思是“串行驱动器”。

“sr” 代表什么?为什么/dev/cdrom仍然存在?

答案1

Linux年代CSIisk 支持模块 =标准差_mod

Linux年代CSI电视ape 支持模块 =英石

Linux SCSI CDrom 支持模块 = sr_mod

Linux年代CSIG能量支持模块 =新加坡

因此,最有可能的是,这代表年代CSI 光盘r奥姆

来源


我注意到这并没有完全解决这个问题。

如您所见,/dev/cdrom只是指向 的符号链接/dev/sr0,而后者才是实际的设备。

字符设备的命名取决于初始化它的模块:SCSICD-ROM 由模块处理sr_mod,并以模块本身命名(srX)。

如果您的 CD-ROM 驱动器恰好是一个IDE驱动器,那么实际的设备名称就是/dev/hdX

因此,由于 CD-ROM 驱动器可以通过多个接口连接到系统,因此/dev/cdrom总是指向第一个 CD-ROM 设备(SCSIIDE其他设备),最有可能为驱动器提供一个独特的通用接口,以供系统中需要使用它的设备使用。

CDROM 设备名称不是由统一的 CDROM 层维护,而是由每个单独的协议栈维护。在 SCSI 子系统中,设备名称由 sr 驱动程序维护,而 IDE 子系统则通过其中央“ide”驱动程序(即不是由 ide-cd 驱动程序)维护设备名称。USB 和 IEEE1394 cd 设备名称由其各自的堆栈维护。这可以部分解释为什么 /dev/cdrom 通常是指向相应子系统设备名称的符号链接。

来源

答案2

阅读,这封信r似乎来自 ROM。但没有提供进一步的来源。

相关内容