
Когда подключено какое-либо устройство, как ядро узнает, какой драйвер необходимо загрузить?
Я думаю, что это основано на основных и второстепенных номерах, но я не понял, как определяется основной номер при подключении устройства... Основной номер назначается производителем или как?
решение1
Об этом позаботится модель устройства Linux. Она запускается, когда вы регистрируете свое устройство и присваиваете ему имя.
В тот момент, когда вы регистрируете свой драйвер, который имеет то же имя, что и устройство, происходит привязка между устройством и драйвером.
Рассмотрим пример любого устройства платформы и драйвера платформы. Оба связаны, если у них одинаковое имя.
Что касается старшего и младшего номера, то они появляются в случае драйверов символьных устройств и используются для связывания между приложением пользовательского пространства и (символьным) драйвером.