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

posted @ 2024-09-10 18:04  wenli7363  阅读(31)  评论(0编辑  收藏  举报