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).块设备的主要/次要编号与字符设备无关,反之亦然.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...