HAL (freedesktop.org)

HAL (freedesktop.org)
HAL
Тип

Системное ПО

Операционная система

Linux, FreeBSD, NetBSD, OpenSolaris, Solaris

Аппаратная платформа

UNIX

Последняя версия

0.5.14 (30 ноября 2009)

Состояние

Разработка прекращена

Лицензия

GNU General Public License и Academic Free License

Сайт

freedesktop.org/wiki/Software/hal

HAL (сокр. от англ. Hardware Abstraction Layer) — более не разрабатываемый демон, представлявший слой аппаратных абстракций для Linux и некоторых других Unix-образных систем.

Содержание

Задачи и история разработки

Проект был изначально создан Red Hat. Демон HAL получает информацию об аппаратном обеспечении от ядра ОС (в Linux, например, HAL черпает большую часть информации из sysfs), и предоставляет программам-клиентам через D-Bus в удобном для использования виде. Получение информации напрямую от ядра — процесс сложный и может быть сопряжен с проблемами с безопасностью; следовательно, наличие HAL сильно упрощает разработку программ, которые должны знать об аппаратной части компьютера (например, что пользователь только что отсоединил принтер или вставил флешку). Поскольку HAL на всех платформах предоставляет информацию в одном формате, независимо от операционной системы и версии ядра, он также облегчает разработку кроссплатформенного ПО. Кроме того, HAL делал возможным создавать автоматические действия (автоматическое монтирование дисков, автоматическую настройку принтеров итд) через правила.

HAL распространяется по лицензиям GNU General Public License и Academic Free License, и является свободным ПО[1].

Текущее состояние

HAL является устаревшим и не рекомендуется к использованию. Решения, поставленные за основу при проектировании HAL, на практике оказались неэффективными и единственным выходом оказалось создание новой подсистемы и перенос функциональности. Такой системой стал udev[2].

В настоящий момент поддержка HAL убрана из ядра,а самые крупные дистрибутивы (Ubuntu[3], Debian[4] и Fedora[5]) завершили переход и используют Udev.

Причины устранения

Основное преимущество в новой подсистеме udev (перед HAL) в том, что первый является событийно-управляемой и имеет тесную интеграцию с ядром, а HAL же, будучи реализованным в userspace в виде демона, вынужден периодически опрашивать ядро. Таким образом, использование событийно-управляемого udev значительно снижает нагрузку на систему, а значит и электропотребление. Также, описания правил для устройств выполнены в виде простых файлов конфигурации и гораздо проще и понятней для пользователей и разработчиков, чем XML примененный ранее в HAL. И наконец, udev разработан "с чистого листа", с учетом предыдущего опыта и в нем отсутсвует устаревший или беспорядочный код.

Процесс миграции c HAL на udev

Изначально большая часть логики HAL была перенесена в udev, а правила в новый модуль — DeviceKit (не путать с PolicyKit или ConsoleKit).

Однако вскоре схема udev+DeviceKit несколько изменилась - разработчики обнаружили, что большая часть аппаратуры уже управляется различными программными компонентами и необходимы только правила для дисков(udisks)[6] и питания(upower)[7]. Проект DeviceKit был разбит на несколько более мелких частей и больше не используется и не упоминается.[8]

Таким образом современные дистрибутивы используют только Udev и правила к нему (udisks, upower - часть пакета udev-extras). Однако ввиду инерционности кода, многие программы всё ещё требуют устаревший HAL (в основном для обнаружения дисков) и поэтому дистрибутивы вынуждены поставлять HAL, фактически дублируя логику (например Qt3, и столкнувшийся с этим проект Trinity).

См. также

Примечания

  1. "COPYING" file from the source code. — «HAL is licensed to you under your choice of the Academic Free License version 2.1, or the GNU General Public License version 2.»  Архивировано из первоисточника 15 марта 2012.
  2. Update on DeviceKit. Архивировано из первоисточника 15 марта 2012.
  3. «Halsectomy», ubuntu.com, <https://wiki.ubuntu.com/Halsectomy>. Проверено 1 ноября 2009. 
  4. HAL Removal, Debian wiki
  5. Hal Removal, fedora
  6. «Udisks», freedesktop.org, <http://www.freedesktop.org/wiki/Software/udisks>. Проверено 1 ноября 2010. 
  7. «Upower», freedesktop.org, <http://upower.freedesktop.org/>. Проверено 1 ноября 2010. 
  8. «Ликвидация DeviceKit», freedesktop.org, <http://www.freedesktop.org/wiki/Software/DeviceKit>. Проверено 1 ноября 2010. 



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "HAL (freedesktop.org)" в других словарях:

  • Freedesktop.org — Логотип freedesktop.org freedesktop.org (дословный перевод «Сообщество за свободный рабочий стол») инициативная группа по стандартизации различных графических сред пользователя для операционных систем POSIX. Хотя формально она не представляет… …   Википедия

  • Freedesktop.org — (fd.o) is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System (X11) on Linux and other Unix like operating systems. It was founded by Havoc Pennington from Red Hat in… …   Wikipedia

  • Freedesktop.org — Le logo de freedesktop.org Freedesktop.org est une zone informelle de collaboration entre différents projets de logiciels libres comme GNOME, KDE, Xfce, Enlightenment, GStreamer, Xgl/AIGLX ou encore X.Org pour travailler à l interopérabilité d …   Wikipédia en Français

  • freedesktop.org — URL: http://freedesktop.org/ Коммерческий: Нет …   Википедия

  • HAL — может значить: по отношению к программному обеспечению, Hardware abstraction layer общая статья о слоях аппаратных абстракций HAL (freedesktop.org) слой аппаратных абстракций от freedesktop.org; HAL/S, язык программирования, используемый на… …   Википедия

  • HAL (software) — HAL Stable release 0.5.14 / November 30, 2009; 23 months ago (2009 11 30) Development status Deprecated; functionality merged with udev Operating system …   Wikipedia

  • HAL (software) — HAL Desarrollador FreeDesktop.org freedesktop.org/wiki/Software/hal Información general Última versión estable 0.5.14 30 de noviembre de …   Wikipedia Español

  • HAL (Software) — HAL Aktuelle Version 0.5.14 (30. November 2009) Betriebssystem Linux, FreeBSD Lizenz GPL and AFL …   Deutsch Wikipedia

  • Freedesktop — Freedesktop.org Le logo de freedesktop.org Freedesktop.org est une zone informelle de collaboration entre différents projets de logiciels libres comme GNOME, KDE, Xfce, Enlightenment, GStreamer, Xgl/AIGLX ou encore X …   Wikipédia en Français

  • X.Org — Développeur Fondation X.Org Dernière version …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»