/dev

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page /dev and the translation is 86% complete.
Outdated translations are marked like this.

Каталог /dev

Большинство пользователей Linux знают, что /dev/sda1 это простой способ сослаться на первый раздел на первом, обнаруженным ядром, диске. Это довольно просто, не так ли?

Представим себе устройства «горячей замены» вроде USB, IEEE 1394, PCI с возможностью горячей замены и так далее. Какое из них является первым по счету? Надолго ли? Как изменятся названия других устройств, если первое отключить? Как это повлияет на текущие операции? Было бы забавно, если бы задание печати вдруг переключалось с вашего супер навороченного лазерного принтера на старый полудохлый матричный принтер из-за того, что кто-то решил выдернуть разъем лазерного принтера, который, по счастью, оказался первым принтером?

Обзор диспетчера устройств. Современный диспетчер устройств (включая udev и eudev) должен уметь:

  • запуск в пользовательском пространстве.
  • динамически создавать и удалять файлы устройств.
  • предоставлять согласованное назначение имен устройств.
  • предоставлять (API) для программ работающих в пространстве пользователя.

Каждая раз, когда в структуре устройств появляется изменение, ядро генерирует uevent, который ловится диспетчером устройств (eudev, udev). Затем диспетчер устройств следует правилам, которые определены в каталогах /etc/udev/rules.d, /run/udev/rules.d и /lib/udev/rules.d. На основании информации из uevent, он находит правило или правила, которые он должен вызвать, и выполняет необходимые действия. Эти действия могут заключаться в создании или удалении файлов устройств, но могут и загружать нужные файлы прошивки в память ядра.