Книга: Программирование для Linux. Профессиональный подход
6.2. Номера устройств
6.2. Номера устройств
ОС Linux идентифицирует устройства двумя числами: старшим номером устройства и младшим номером устройства. Старший номер указывает на то, какой драйвер соответствует устройству. Соответствие между старшими номерами устройств и драйверами жестко зафиксировано в исходных файлах ядра Linux. Двум разным драйверам может соответствовать одинаковый старший номер. Это значит, что один драйвер управляет символьным устройством, а второй — блочным. Младшие номера позволяют различать отдельные устройства или аппаратные компоненты, управляемые одним драйвером. Значение младшего номера зависит от драйвера.
Например, устройству со старшим номером 3 соответствует основной контроллер IDE. К этому контроллеру могут быть подключены два устройства (жесткие диски, накопитель на магнитной лейте или дисковод CD-ROM). "Главному" устройству будет соответствовать младший номер 0, а "подчиненному" устройству — номер 64. Отдельные разделы главного устройства (если он поддерживает разбивку на разделы) будут иметь младшие номера 1, 2, 3 и т.д. Разделы подчиненного устройства представляются младшими номерами 65, 66, 67 и т.д.
Список старших номеров устройств можно узнать в документации к исходным текстам ядра Linux. Во многих дистрибутивах эта информация хранится в файле /usr/src/Linux/Documentation/devices.txt
. В специальном файле /proc/devices
перечислены старшие номера устройств, соответствующие загруженным в данный момент драйверам (о файловой системе /proc
рассказывается в главе 7, "Файловая система /proc
").
- Глава 6 Устройства
- 11.4.1. Создание входных точек устройств и именованных каналов
- 5.4.4.1. Сведения об устройстве
- Символьные устройства
- Модели именования устройств
- 6.2.1. Адресация устройств PCI
- 1.3. Правила подключения к компьютеру внешних устройств
- Системные вызовы и драйверы устройств
- Диспетчер устройств
- 1.4 Структуры данных, связанные с драйверами устройств Windows
- 1.5 Структура драйвера устройства Windows
- 4.9 Обеспечение взаимодействия устройств Fibre Channel