Список старших номеров устройств в Linux

В операционной системе Linux каждое устройство представляется в виде файла, который расположен в каталоге /dev. У каждого такого файла устройства есть старший и младший номера, которые идентифицируют тип устройства и его конкретный экземпляр соответственно. Ниже представлен список старших номеров и их соответствующих устройств.

Старший номерТип устройстваОписание устройства
0charУстройства без имени (узлы монтирования NFS, возвратные интерфейсы)
1charУстройства памяти
1blockRAM диск
2charЗарезервировано для PTY
2blockНакопители на гибких дисках
3charЗарезервировано для PTY
3blockПервый интерфейс MFM, RLL и IDE жесткого диска / CD-ROM
4charТерминальные устройства TTY
5charАльтернативные терминальные устройства TTY
6charУстройства параллельного принтера
7charУстройства доступа к виртуальной консоли
8blockУстройства SCSI диска
9charУстройства SCSI ленточного накопителя
9blockСоставные дисковые устройства
10charНе последовательная мышь, различные функции
11blockУстройства SCSI CD-ROM
12charЛенточный накопитель QIC-02
12blockПоддержка обратного вызова в MSCDEX CD-ROM
13charГромкоговоритель
13block8-битный MFM/RLL/IDE контроллер
14charЗвуковая плата
14blockПоддержка обратного вызова жесткого диска BIOS
15charДжойстик
15blockCD-ROM Sony CDU-31A/CDU-33A
16charЗарезервировано для сканеров
16blockCD-ROM Gold Star
17charПоследовательная плата Chase (разрабатывается)
17blockOptics Storage CD-ROM (разрабатывается)
18charДополнительная последовательная плата Chase
18blockSanyo CD-ROM (разрабатывается)
19charПоследовательная плата Cyclades
19charСжатый диск Double
20blockДополнительная последовательная плата Cyclades
20charHitachi CD-ROM (разрабатывается)
21blockGeneric SCSI доступ
22charПоследовательная плата Digiboard
22blockВторой интерфейс MFM, RLL и IDE жесткого диска / CD-ROM
23charДополнительная последовательная плата Digiboard
23blockMitsumi CD-ROM
24charПоследовательная плата Stallion
24blockSony CDU-535 CD-ROM
25charДополнительная последовательная плата Stallion
25blockПервый CD-ROM Matsushita (Panasonic/SoundBlaster)
26blockВторой CD-ROM Matsushita (Panasonic/SoundBlaster)
27charЛенточный накопитель QIC-117
27blockТретий CD-ROM Matsushita (Panasonic/SoundBlaster)
28charПрограммирование последовательной платы Stallion
28blockЧетвертый CD-ROM Matsushita (Panasonic/SoundBlaster)
28blockACSI диск (68k)
29charУниверсальный буфер кадров
29blockAztech/Orchid/Okano/Wearnes CD-ROM
30chariBCS-2
30blockPhilips LMS-205 CD-ROM
31charMPU-401 MIDI
31blockROM / плата flash памяти
32blockPhilips LMS-206 CD-ROM
33blockModular RAM диск
34-223Не распределены
224-254Локальное назначение
255Зарезервировано

char (символьные устройства): Эти устройства обрабатываются как поток данных и предоставляют интерфейс для передачи данных посимвольно. Символьные устройства позволяют осуществлять операции ввода-вывода с использованием отдельных символов, что делает их идеальными для таких устройств, как клавиатуры, терминалы и принтеры. При работе с такими устройствами осуществляется передача символа за символом, позволяя таким образом обеспечить точное и последовательное чтение или запись данных.

block (блочные устройства): Эти устройства предназначены для обработки и передачи данных по блокам фиксированного размера. В отличие от символьных устройств, которые передают данные посимвольно, блочные устройства работают с блоками данных, что делает их оптимальными для устройств с большим объемом хранения, таких как жесткие диски и CD-ROM. Блочные устройства могут хранить и передавать большие объемы данных, и их основное назначение - хранение файлов. Благодаря такому подходу к обработке данных, блочные устройства обеспечивают быстрый и эффективный доступ к большим объемам информации.

Старшие номера от 34 до 223 в настоящий момент не распределены и доступны для дальнейшего использования. Номера от 224 до 254 предназначены для локального использования, что позволяет разработчикам экспериментировать с новым оборудованием без необходимости координации с главным ядром Linux. Номер 255 зарезервирован и не должен использоваться.

Зачем нужны старшие номера?

Система старших номеров позволяет ядру Linux идентифицировать тип устройства и обеспечивать правильное взаимодействие с ним. Когда пользователь или программа пытается обратиться к файлу устройства, ядро использует старший номер для определения драйвера устройства, который должен обработать этот запрос.

Как добавить новое устройство?

Если вы разработали новое устройство или драйвер для Linux и хотите добавить его в систему, вам потребуется получить свободный старший номер для вашего устройства. Это можно сделать, обратившись к официальной документации Linux или к сообществу разработчиков.

Заключение

Система файлов устройств и старших номеров в Linux является важной частью архитектуры операционной системы. Она позволяет гарантировать стабильное и эффективное взаимодействие между ядром системы и аппаратным обеспечением, а также упрощает процесс добавления нового оборудования в систему.