Тип | HAL |
---|---|
Розробник | David Zeuthen |
Перший випуск | 2008 |
Стабільний випуск | 003 (2 березня 2009 ) |
Операційна система | Linux |
Стан розробки | активний |
Ліцензія | GPL[1] |
Вебсайт | freedesktop.org/wiki/Software/DeviceKit |
DeviceKit — модульний шар апаратних абстракцій, призначений для використання в системах Linux, щоб спростити управління пристроями і замінити поточний монолітний Linux HAL. DeviceKit включає можливість підрахунку пристроїв і відправки повідомлень при підключенні або відключення обладнання.
У травні 2008 розробник HAL Давид Зютен (David Zeuthen) оголосив про намір позбутися HAL, головно через його складність і надлишковість з іншими бібліотеками в середовищі Linux.[2] Тільки відсутня частина в цих бібліотеках може бути централізованою службою з переліком існуючих пристроїв, що повідомляє про додавання або відключення пристроїв, та об'єднує і класифікує доступну інформацію про апаратуру в одному місці. DeviceKit — це нова бібліотека, що забезпечує таку службу, в той час як пристрої мають бути доступні через інші бібліотеки, замість того доступу з HAL або DeviceKit.
Перший дистрибутив, у якому з'явився DeviceKit, був Fedora 11.[3] Ubuntu 9.10 замінила деякі старі можливості HAL на DeviceKit і функціональність від udev.[4] Ubuntu 10.04 LTS Lucid Lynx має повністю позбутися HAL.[5]
Однак незабаром схема udev+DeviceKit дещо змінилася — розробники виявили, що велика частина апаратури вже управляється різними програмними компонентами і необхідні тільки правила для дисків (udisks)[6] і живлення (upower)[7]. Проект DeviceKit був розбитий на кілька дрібніших частин і більше не використовується і не згадується.[8] 1 грудня 2009 було оголошено DeviceKit-disks буде перейменовано на udisks, і що подібне перейменування може статися з DeviceKit-power.[9]
Таким чином, сучасні дистрибутиви використовують тільки Udev і правила до нього (udisks, upower). Проте зважаючи на інерційності коду, багато програм все ще вимагають застарілий HAL (в основному для виявлення дисків) і тому дистрибутиви змушені поставляти HAL, фактично дублюючи логіку.
Але багато дистрибутиви (наприклад, Ubuntu[10], Debian[11] і Fedora[12]) вже приступили до використання замість нього Udev.