Linux中的主次裝置

wenli7363發表於2024-09-10

簡言

主裝置號(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

相關文章