Hardware Abstraction Layer: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
(English translation provided by Inflater)
No edit summary
 
(8 intermediate revisions by 6 users not shown)
Line 1:
{{Stub}}
 
== Hardware Abstraction Layer ==
The Hardware Abstraction Layer (HAL) is a abstraction layer between the physical PC hardware and the software. HAL is a part of the operating system. It's task is to allow instructions from high level programming languages to communicate between the low-level components (e.g. directly hardware).
 
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