Hardware abstraction layer

Hardware abstraction layer (zkratka HAL) je v informatice hardwarová abstraktní vrstva, která v počítači vytváří jednotné rozhraní (API) ovládající různě fungující hardware. Počítačový program, který využívá funkce API rozhraní, nemusí díky existenci HAL implementovat specifické postupy ovládání jednotlivých hardwarových zařízení.

HAL ve Windows

Operační systém Microsoft Windows používá hybridní jádro, ve kterém je mnoho součástí jádra implementováno jako samostatné procesy. Proto jsou v jádře široce využívána různá API, která definují funkce určené pro komunikaci jednotlivých oddělených částí jádra. V jádře Microsoft Windows je přímo definována vrstva HAL jako jeho součást. Vrstva HAL umožňuje, aby jádro systému používalo předem definované funkce bez ohledu na konkrétní použité hardwarové součásti počítače. Může tak přizpůsobením ovladačů využívat jiný procesor, odlišné ovládání paměti, sběrnic nebo jiných I/O zařízení.

Použití HAL umožňuje snadno přenést jádro na jinou platformu, aniž by bylo nutné zasahovat do jeho vnitřní implementace, což bylo v minulosti využito pro portování Microsoft Windows na procesor DEC Alpha. Definované funkce HAL jsou realizovány uvnitř ovladače nebo převedeny na funkce používané uvnitř ovladače v samostatné knihovně.

HAL v Linuxu

Linus Torvalds jako hlavní vývojář odmítá implementaci HAL do jádra Linuxu, protože by zavádělo nutnost dodržování zpětné kompatibility, která není v případě monolitického jádra ani nutná ani žádoucí.[1] Existence HAL by totiž umožnila psaní binárních ovladačů, ke kterým by výrobci nedodávali zdrojové kódy, což je jednoznačně proti duchu vývoje jádra Linuxu.

Při změně způsobu ovládání hardware jsou automaticky všechny ovladače hardware přizpůsobeny, protože jsou přímou součástí jádra (a jeho zdrojových kódů). Je tím umožněno, aby v případě, že je hardware doplněn o nové funkce, je bylo možné optimálním způsobem využít (reimplementací dotčených částí jádra). Kdyby byla zavedena vrstva HAL, nemohlo by jádro nové vlastnosti snadno využít, protože by buď byly zachovány nevyhovující funkce HAL nebo by bylo nutné zajistit zpětnou kompatibilitu s předchozím způsobem definice funkcí rozhraní HAL vrstvy.

Přesto HAL v jádru Linuxu existuje, i když ne v oficiální a stabilní podobě, která by byla dlouhodobě zachovávána. Obdobu HAL využívají firmy, která dodávají ovladače grafických karet (ATI, NVIDIA). Vlastní ovladač je shodný s tím, který je využíván v Microsoft Windows. Kvůli přizpůsobení funkcí implementovaných uvnitř ovladače k funkcím, které používá jádro, je vytvořena „obálka“ v podobě mezivrstvy, která překládá volání jádra na funkce obsažené uvnitř ovladače.

Reference

  1. CORBET, Jonathan. HALs considered harmful [online]. lwn.net, 2005-03-15 [cit. 2009-09-05]. Dostupné online. (anglicky) 

Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Hardware_abstraction_layer
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.