2012-06-22 4 views
1

Читаю драйвера Linux устройства книги Рубини, Корсут и hartmen.I есть сомнения относительно динамического распределения основного и неосновного устройства numbers.They говоритстаршие и младшие номера устройство

Недостаток динамического назначения является то, что вам не может создать узлы устройства в заранее, потому что основной номер, назначенный вашему модулю, будет меняться. Для обычного использования драйвера, это вряд ли проблема, поскольку после присвоения номера вы можете прочитать его с/Proc/устройства.

1) Что означает здесь заранее?

2) Почему главные и второстепенные номера должны быть считаны с/Proc/устройств, когда функция alloc_chrdev_region обеспечивает основные и второстепенные номера в аргументе послал к it.Can этот аргумент послал, не будет использоваться непосредственно?

Заранее спасибо

ответ

2

1) Динамическое назначение будет означать, что вы не можете создать узлы устройств до загрузки драйвера, например, иметь их в качестве статической части файловой системы при загрузке системы. Вместо этого вы могли бы создать их только после того, как узнаете, что их основные/младшие цифры: на этот раз.

2) Водитель может знать, что это за основные и второстепенные номера, но узлы устройства должны быть созданы чем-то в пользовательском пространстве. Они предполагают, что если эта информация не может быть предоставлена ​​заранее параллельно как с драйвером ядра, так и с пользовательским пространством, тогда пользовательское пространство должно будет обнаружить его во время выполнения из-за чего-то вроде/proc/devices.

+0

получил это .. спасибо .... – Dhatri

0
  1. Когда мы относим значительное число динамически драйвер устройства, мы не знаем с основным номером, пока функция alloc_chrdev_region завершает выполнение или, скажем, что вы не можете знать основной номер, прежде чем вставить модуль в ядро ​​(и для этого мы используем insmod). И поэтому вы не можете создать узел для своего драйвера (для которого мы используем mknod), если вы не загрузите драйвер устройства, это называется продвинутым автором.

  2. Мы читаем /proc/devices для основных и нештатных номеров одного драйвера устройства, когда им требуется другое устройство/программа.

Смежные вопросы