Hardware Abstraction Layer: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
(стилистика)
No edit summary
 
(9 intermediate revisions by 6 users not shown)
Line 1:
{{Stub}}
'''Нardware Abstraction Layer''' ('''HAL''') - программная прослойка, абстрагирующая [[RU:Kernel|ядро]] [[RU:Operating System|операционной системы]] от конкретного [[RU:Hardware|оборудования]]. Её функция заключается в том, чтобы унифицировать доступ к [[RU:Hardware|аппаратному обеспечению]] на различных [[RU:Architecture|архитектурах]]. Благодаря наличию HAL большая часть кода ядра не нуждается в изменении при переносе на другую архитектуру.
 
== Hardware Abstraction Layer ==
 
A "Hardware Abstraction Layer" or HAL is an abstraction of the actual hardware, so as to present a consistent interface to software even if the underlying hardware alters or different models of the same device class vary a great deal in their implementation and actual interface. A HAL allows programmers to write device drivers in a consistent and largely model / brand agnostic manner, it might even isolate the kernel from much of the installed hardware. Operating systems which make use of a HAL will rarely, if ever, permit user-level software to interface directly with hardware devices and usually will not allow device drivers (which frequently run with privileges) to do so either. [[Device Driver Interfaces]] are one of the most important compoments in HAL.
 
== Usage Example ==
 
* A cash register program wants to read name of product just processed by cash register.
* It calls cash register driver to do so, and cash register driver calls '''Device Driver Interface'''.
* Then, Operating System Device Driver Interface, for example, it communicates with cash register using PCI.
* And at the last, Device Driver Interface passes product name from cash register to driver which passes product name to the program.
 
[[de:Hardware Abstraction Layer]]
[[Category:Kernel]]
Anonymous user