Anonymous user
Hardware Abstraction Layer: Difference between revisions
no edit summary
[unchecked revision] | [unchecked revision] |
m (Interwiki) |
No edit summary |
||
Line 3:
== 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]] is one of 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]]
|