linux – 为什么两个设备共享相同的主要次要设备号?

前端之家收集整理的这篇文章主要介绍了linux – 为什么两个设备共享相同的主要次要设备号?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读“ Linux设备驱动程序,第3版”,并发现了一些我无法理解的东西.

在第3.2章中,作者说:

Traditionally,the major number identifies the driver associated with the device.
The minor number is used by the kernel to determine exactly which device is being referred to.

然后我尝试了“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)都有一个克隆,具有相同的主要次要,但名称和类型不同.我认为作者说“主要数字表示设备类,次要数字表示设备索引.因此Major-Minor标识了一个独特的设备.”

现在我很困惑.为什么两个设备可以共享同一个主要未成年人?设备号到底是什么?

如果我错了,请纠正我..提前谢谢.

解决方法

mem,port,null和zero是字符设备(由列表开头的c证明). ramN设备是块设备(因此b).块设备的主要/次要编号与字符设备无关,反之亦然.
原文链接:https://www.f2er.com/linux/393023.html

猜你在找的Linux相关文章