Linux的主次设备号

主设备号与次设备号的功能


在Linux内核中,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。

比如说在linux的终端打入命令:
[root@node1 ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Feb 26 03:21 /dev/sda
brw-rw---- 1 root disk 8, 1 Feb 26 03:21 /dev/sda1

会出现很多的文件列表,这里举例字符串设备文件【字符串设备的开头表示为c,当然块设备表示为b】,这些文件可以称为文件系统书的节点,都是位于/dev目录下。
另外上面2行中的数字,8表示的是该设备的主设备号,0,1表示的是该设备的次设备号。
一个主设备号和一个次设备号就组成了该设备的唯一标识符。
虽然现在的linux内核允许多个驱动程序共享主设备号,但是现在大多数的设备仍然按照“一个主设备号对应一个驱动程序”的原则组织。
次设备号用来指向驱动程序所实现的设备,内核本身基本上不会去关心关于次设备号的任何其他信息。


查看系统已经分配的主设备有哪些:


#cat /proc/devices

Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
21 sg
29 fb
99 ppdev
128 ptm
136 pts
162 raw
180 usb
188 ttyUSB
189 usb_device
202 cpu/msr
203 cpu/cpuid
226 drm
245 dimmctl
246 ndctl
247 aux
248 hidraw
249 usbmon
250 bsg
251 hmm_device
252 watchdog
253 rtc
254 tpm

Block devices:
259 blkext
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp


从内核文档(kernel-doc)中查询各主次设备号代表的意义:


本人是centos7主机,需要先安装kernel-doc,可以通过yum安装,这里已经安装。

#rpm -qa |grep kernel-doc
kernel-doc-3.10.0-957.5.1.el7.noarch

#more /usr/share/doc/kernel-doc-3.10.0/Documentation/devices.txt
详细内容如下图:
devices.txt

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值