Linux中的主次设备
简言
主设备号(Major Number)表示设备的类别或类型,它告诉操作系统应该使用哪个驱动程序来处理这类设备。
次设备号区分设备驱动程序管理的不同实例或子设备,某个具体的设备。
== 同一主设备号的设备通常共用同一套驱动 ==
Linux中常见主设备号列表
字符设备(Character Devices)
1:内存设备(如 /dev/null, /dev/zero, /dev/mem, /dev/kmem)
4:TTY设备(如终端设备 /dev/tty)
5:控制台(/dev/console)
10:Miscellaneous(杂项设备)
13:输入设备(如鼠标、键盘 /dev/input/mice, /dev/input/event0)
89:i2c 总线接口设备(I2C bus interface)
116:ALSA 声卡设备(Advanced Linux Sound Architecture)
块设备(Block Devices)
3:第一个IDE硬盘(如 /dev/hda, /dev/hdb)
7:环回设备(Loopback device,/dev/loop0, /dev/loop1)
8:SCSI硬盘(如 /dev/sda, /dev/sdb)
9:MD设备(多设备,软件RAID,/dev/md0)
11:光盘设备(如 /dev/sr0)
22:第二个IDE硬盘(如 /dev/hdc, /dev/hdd)
65:SCSI磁盘扩展(扩展到 /dev/sde 到 /dev/sdz)
179:MMC/SD卡设备(如 /dev/mmcblk0)
虚拟设备
10:多种虚拟设备(如 /dev/random, /dev/urandom, /dev/full)
主设备号的一些常见设备解释
/dev/null:主设备号为1,次设备号为3,是一个特殊的设备,任何写入的数据都会被丢弃,读取时永远返回EOF。
/dev/tty:主设备号为4,用于虚拟终端设备。
/dev/sda:主设备号为8,对应SCSI或SATA磁盘设备。
/dev/loop:主设备号为7,是一种环回设备,用于将文件作为块设备来使用。
/dev/mem:主设备号为1,次设备号为1,表示物理内存设备,允许直接访问物理内存。
如何查看系统中已加载的设备及其主设备号
查看设备文件的主次设备号 使用 ls -l
查看设备文件信息
ls -l /dev/sda
8 是主设备号,0 是次设备号
brw-rw---- 1 root disk 8, 0 Sep 10 12:34 /dev/sda
查看已分配的主设备号
可以通过查看/proc/devices 文件来查看当前系统中已分配的主设备号:cat /proc/devices