Кто-нибудь может проиллюстрировать, для чего именно младший номер устройства Linux? - PullRequest
1 голос
/ 07 июня 2010

Младший номер используется ядром точно определить, какое устройство ссылаясь на

Приведенное выше объяснение - всего лишь два абстрактных, кто-то может проиллюстрировать?

Ответы [ 2 ]

3 голосов
/ 07 июня 2010

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

brw-rw---- 1 root disk 8, 0 Jun  3 20:48 /dev/sda
brw-rw---- 1 root disk 8, 1 Jun  3 20:48 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jun  3 20:48 /dev/sda2

Минор 0 в этом случае - это сырой диск, второстепенный 1 - это раздел 1, второстепенный 2 - это раздел 2 и т. Д.однако устройства используют 0 как особый случай.Последовательные устройства начинают нумерацию с 0, где /dev/tty0 - это только первое (виртуальное) оконечное устройство в системе:

crw--w---- 1 root tty  4, 0 Jun  3 20:48 /dev/tty0
crw------- 1 root root 4, 1 Jun  3 20:50 /dev/tty1
crw------- 1 root root 4, 2 Jun  3 20:50 /dev/tty2
crw------- 1 root root 4, 3 Jun  3 20:50 /dev/tty3

В любом случае, когда файл устройства открывается, ядро ​​будет использоватьстарший номер, чтобы определить, какой модуль будет обрабатывать файл и передать младший в метод open() структуры struct file_operations, зарегистрированной в register_chrdev().

0 голосов
/ 02 апреля 2011

как и в языке C, отсчет начинается с 0 ... это может быть своего рода соглашение, которому следуют разработчики драйверов ... ведь все в Linux основано на C или в некоторой степени C ++. Это просто схема нумерации..Вы также можете начать называть свои устройства с любого номера от 0 до 255, но будьте осторожны, не пересекайте отметку 255 для младших номеров, иначе вы можете перезаписать следующий доступный основной номер ... надеюсь, этот ответ поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...