HAL (freedesktop.org)

Поделись знанием:
(перенаправлено с «HAL (software)»)
Перейти к: навигация, поиск
HAL
Тип

Системное ПО

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

Linux, FreeBSD, NetBSD, OpenSolaris, Solaris

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

UNIX

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

[hal.freedesktop.org/releases 0.5.14] (30 ноября 2009)

Состояние

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

Лицензия

GNU General Public License и Academic Free License

Сайт

[freedesktop.org/wiki/Software/hal ktop.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).

См. также

Напишите отзыв о статье "HAL (freedesktop.org)"

Примечания

  1. [gitweb.freedesktop.org/?p=hal.git;a=blob_plain;h=be9031229827a2e2463e99d678f97ae5ef777efc;f=COPYING "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.»  [www.webcitation.org/66BAymjYQ Архивировано из первоисточника 15 марта 2012].
  2. [lists.freedesktop.org/archives/hal/2008-May/011560.html Update on DeviceKit]. [www.webcitation.org/66BAzETtY Архивировано из первоисточника 15 марта 2012].
  3. [wiki.ubuntu.com/Halsectomy Halsectomy], ubuntu.com, <wiki.ubuntu.com/Halsectomy>. Проверено 1 ноября 2009. 
  4. [wiki.debian.org/HALRemoval HAL Removal], Debian wiki
  5. [fedoraproject.org/wiki/Features/HalRemoval Hal Removal], fedora
  6. [www.freedesktop.org/wiki/Software/udisks Udisks], freedesktop.org, <www.freedesktop.org/wiki/Software/udisks>. Проверено 1 ноября 2010. 
  7. [upower.freedesktop.org/ Upower], freedesktop.org, <upower.freedesktop.org/>. Проверено 1 ноября 2010. 
  8. [www.freedesktop.org/wiki/Software/DeviceKit Ликвидация DeviceKit], freedesktop.org, <www.freedesktop.org/wiki/Software/DeviceKit>. Проверено 1 ноября 2010. 


Отрывок, характеризующий HAL (freedesktop.org)

«Да, что бишь еще неприятное он пишет? вспоминал князь Андрей содержание отцовского письма. Да. Победу одержали наши над Бонапартом именно тогда, когда я не служу… Да, да, всё подшучивает надо мной… ну, да на здоровье…» и он стал читать французское письмо Билибина. Он читал не понимая половины, читал только для того, чтобы хоть на минуту перестать думать о том, о чем он слишком долго исключительно и мучительно думал.


Билибин находился теперь в качестве дипломатического чиновника при главной квартире армии и хоть и на французском языке, с французскими шуточками и оборотами речи, но с исключительно русским бесстрашием перед самоосуждением и самоосмеянием описывал всю кампанию. Билибин писал, что его дипломатическая discretion [скромность] мучила его, и что он был счастлив, имея в князе Андрее верного корреспондента, которому он мог изливать всю желчь, накопившуюся в нем при виде того, что творится в армии. Письмо это было старое, еще до Прейсиш Эйлауского сражения.
«Depuis nos grands succes d'Austerlitz vous savez, mon cher Prince, писал Билибин, que je ne quitte plus les quartiers generaux. Decidement j'ai pris le gout de la guerre, et bien m'en a pris. Ce que j'ai vu ces trois mois, est incroyable.
«Je commence ab ovo. L'ennemi du genre humain , comme vous savez, s'attaque aux Prussiens. Les Prussiens sont nos fideles allies, qui ne nous ont trompes que trois fois depuis trois ans. Nous prenons fait et cause pour eux. Mais il se trouve que l'ennemi du genre humain ne fait nulle attention a nos beaux discours, et avec sa maniere impolie et sauvage se jette sur les Prussiens sans leur donner le temps de finir la parade commencee, en deux tours de main les rosse a plate couture et va s'installer au palais de Potsdam.
«J'ai le plus vif desir, ecrit le Roi de Prusse a Bonaparte, que V. M. soit accueillie еt traitee dans mon palais d'une maniere, qui lui soit agreable et c'est avec еmpres sement, que j'ai pris a cet effet toutes les mesures que les circonstances me permettaient. Puisse je avoir reussi! Les generaux Prussiens se piquent de politesse envers les Francais et mettent bas les armes aux premieres sommations.
«Le chef de la garienison de Glogau avec dix mille hommes, demande au Roi de Prusse, ce qu'il doit faire s'il est somme de se rendre?… Tout cela est positif.
«Bref, esperant en imposer seulement par notre attitude militaire, il se trouve que nous voila en guerre pour tout de bon, et ce qui plus est, en guerre sur nos frontieres avec et pour le Roi de Prusse . Tout est au grand complet, il ne nous manque qu'une petite chose, c'est le general en chef. Comme il s'est trouve que les succes d'Austerlitz aurant pu etre plus decisifs si le general en chef eut ete moins jeune, on fait la revue des octogenaires et entre Prosorofsky et Kamensky, on donne la preference au derienier. Le general nous arrive en kibik a la maniere Souvoroff, et est accueilli avec des acclamations de joie et de triomphe.
«Le 4 arrive le premier courrier de Petersbourg. On apporte les malles dans le cabinet du Marieechal, qui aime a faire tout par lui meme. On m'appelle pour aider a faire le triage des lettres et prendre celles qui nous sont destinees. Le Marieechal nous regarde faire et attend les paquets qui lui sont adresses. Nous cherchons – il n'y en a point. Le Marieechal devient impatient, se met lui meme a la besogne et trouve des lettres de l'Empereur pour le comte T., pour le prince V. et autres. Alors le voila qui se met dans une de ses coleres bleues. Il jette feu et flamme contre tout le monde, s'empare des lettres, les decachete et lit celles de l'Empereur adressees a d'autres. А, так со мною поступают! Мне доверия нет! А, за мной следить велено, хорошо же; подите вон! Et il ecrit le fameux ordre du jour au general Benigsen
«Я ранен, верхом ездить не могу, следственно и командовать армией. Вы кор д'арме ваш привели разбитый в Пултуск: тут оно открыто, и без дров, и без фуража, потому пособить надо, и я так как вчера сами отнеслись к графу Буксгевдену, думать должно о ретираде к нашей границе, что и выполнить сегодня.
«От всех моих поездок, ecrit il a l'Empereur, получил ссадину от седла, которая сверх прежних перевозок моих совсем мне мешает ездить верхом и командовать такой обширной армией, а потому я командованье оной сложил на старшего по мне генерала, графа Буксгевдена, отослав к нему всё дежурство и всё принадлежащее к оному, советовав им, если хлеба не будет, ретироваться ближе во внутренность Пруссии, потому что оставалось хлеба только на один день, а у иных полков ничего, как о том дивизионные командиры Остерман и Седморецкий объявили, а у мужиков всё съедено; я и сам, пока вылечусь, остаюсь в гошпитале в Остроленке. О числе которого ведомость всеподданнейше подношу, донеся, что если армия простоит в нынешнем биваке еще пятнадцать дней, то весной ни одного здорового не останется.