Недавно решил расширить свои познания и принялся за понимание процесса работы с оборудованием, запутался основательно, если вопрос дурацкий, прошу не пинать, а просто объяснить.
Как я сейчас всё понимаю: 1) После подключения устройста, ядро сообщает об этом hotplug, который, в свою очередь, связывается с udev. 2) Udev производит создание файла устройства и загружает соответствующий модуль. 3) Hal представляет некоторый уровень абстракции для приложений, предлагая устройства в качестве неких объектов, скрывая рутину. 4) Dbus используется для общения между процессами, в частности, hal анонсирует добавленные устройства посредством dbus и программы, слушающие dbus, принимают сообщение и выполняют соответствующие функции.
теперь первичные вопросы: 1) Где этот hotplug, не могу найти, но помню, что был. Возникает вопрос, а не переложили ли действия хотплуга на udev, исключив одно звено цепи? 2) Кто же всё таки загружает модули? При старте системы, часть модулей грузится из rc.sysinit, часть из modprobe(modules).conf. Если я добавляю устройство, ядро выделяет ему необходимые ресурсы и сообщает о событии udev (hotplug?), а тот загружает модули? Или всё же не он? 3) Нафига нужен hal? Если смотреть спецификацию, то он, вроде как и не является жизненно-важным для работоспособности системы, делая лишь работу с устройствами более удобной.
Так ли всё это?
Заранее спасибо.