【发布时间】:2011-08-28 02:51:02
【问题描述】:
我正在阅读“Linux 设备驱动程序,第 3 版”,发现了一些我无法理解的内容。
在第3.2章,作者说:
传统上,主设备号标识与设备关联的驱动程序。 内核使用次要编号来准确确定所引用的设备。
然后我尝试“ls -l /dev”看了一下,我发现了一些不寻常的地方:
brw-rw---- 1 root disk 1, 1 2011-08-23 23:52 ram1
brw-rw---- 1 root disk 1, 2 2011-08-23 23:52 ram2
brw-rw---- 1 root disk 1, 3 2011-08-23 23:52 ram3
brw-rw---- 1 root disk 1, 4 2011-08-23 23:52 ram4
brw-rw---- 1 root disk 1, 5 2011-08-23 23:52 ram5
...
crw-r----- 1 root kmem 1, 1 2011-08-23 23:52 mem
crw-r----- 1 root kmem 1, 4 2011-08-23 23:52 port
crw-rw-rw- 1 root root 1, 3 2011-08-23 23:52 null
crw-rw-rw- 1 root root 1, 5 2011-08-23 23:52 zero
这些设备 (ram1-ram5) 都有一个克隆,具有相同的主次设备,但名称和类型不同。我以为作者是在说“主要数字表示设备类,次要数字表示设备索引。所以主要-次要标识一个唯一的设备。”
现在我很困惑。为什么两个设备可以共享相同的主要次要?设备编号具体是多少?
如果我错了,请纠正我。在此先感谢。
【问题讨论】:
标签: linux device-driver