/dev
Директорія /dev
Більшість користувачів Linux знають, що /dev/sda1 — це просто швидкий спосіб звернутися до першої секції першого диску, знайдену ядром. Достатньо просто, чи не так?
Але зверніть увагу на пристрої швидкої заміни, як-от USB, IEEE 1394, PCI швидкої заміни тощо. Яке буде першим пристроєм? Та чи надовго? Як будуть найменовані інші пристрої, якщо перше зникне? Як це вплине на триваючі транзакції? Якщо робота по друку була б переспрямована з топового лазерного принтеру на майже мертвий матричний, бо хтось вимкнув лазерний принтер із живлення (і він, трапилось, був першим принтером), було б дуже прикро, чи не так?
Вітаємо менеджер пристроїв. Сучасний менеджер пристроїв має:
- Працювати у просторі користувача.
- Динамічно створювати і видаляти файли пристроїв.
- Забезпечyвати тверду схему найменування пристроїв.
- Подавати прикладний програмний інтерфейс (API) у просторі користувача.
Коли структура пристроїв зазнає будь-якої зміни, ядро відправляє uevent, яке зчитується менеджером пристроїв. Потім менеджер пристроїв слідує правилам, зазначеним у /etc/udev/rules.d, /run/udev/rules.d та /lib/udev/rules.d. Згідно з інформацією всередині uevent'у, він знаходить відповідне правило або правила та виконує необхідні дії. Це можуть бути створення або видалення файлів пристроїв, а також завантаження конкретних файлів прошивки у пам'ять ядра.