Hardware abstraction

Hardware abstraction

Hardware abstractions are sets of routines in software that emulate some platform-specific details, giving programs direct access to the hardware resources.

They often allow programmers to write device-independent, high performance applications by avoiding standard Operating System calls to hardware. The process of abstracting pieces of hardware is often done from the perspective of a CPU. Each type of CPU has a specific instruction set architecture or ISA. The ISA represents the primitive operations of the machine that are available for use by assembly programmers and compiler writers. One of the main functions of a compiler is to allow a programmer to write an algorithm in a high-level language without having to care about CPU-specific instructions. Then it is the job of the compiler to generate a CPU-specific executable. The same type of abstraction is made in operating systems, but OS APIs now represent the primitive operations of the machine, rather than an ISA. This allows a programmer to use OS-level operations (i.e. task creation/deletion) in their programs while still remaining portable over a variety of different platforms.

See also: Hardware abstraction layer


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Hardware abstraction layer — У этого термина существуют и другие значения, см. HAL. Hardware Abstraction Layer (HAL, Слой аппаратных абстракций)  слой абстрагирования, реализованный в программном обеспечении, находящийся между физическим уровнем аппаратного обеспечения… …   Википедия

  • Hardware Abstraction Layer — Hardware Abstraction Layer,   HAL …   Universal-Lexikon

  • Hardware abstraction layer — A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. Its function is to hide differences in hardware from most of the… …   Wikipedia

  • Hardware Abstraction Layer — Eine Hardwareabstraktionsschicht (engl. HAL, Hardware Abstraction Layer) ist eine architektonische Ebene größerer Computerprogramme oder Systeme solcher Programme, die dafür sorgt, dass andere Software Komponenten nicht auf die Spezifikationen… …   Deutsch Wikipedia

  • Hardware abstraction layer — Couche d abstraction matérielle Pour les articles homonymes, voir HAL. La couche d abstraction matérielle (Hardware Abstraction Layer ou HAL) est une spécification et un utilitaire logiciel qui traque les périphériques du système informatique. Le …   Wikipédia en Français

  • Hardware Abstraction Layer —    Abbreviated HAL. The lowest level of the Microsoft Windows NT operating system, which is specifically tailored to the type of hardware used in the server. If the hardware changes, changes also have to be made to the HAL …   Dictionary of networking

  • Hardware-Abstraktions-Schicht — Eine Hardwareabstraktionsschicht (engl. HAL, Hardware Abstraction Layer) ist eine architektonische Ebene größerer Computerprogramme oder Systeme solcher Programme, die dafür sorgt, dass andere Software Komponenten nicht auf die Spezifikationen… …   Deutsch Wikipedia

  • Abstraction — This article is about the concept of abstraction in general. For other uses, see abstraction (disambiguation). Abstraction is a process by which higher concepts are derived from the usage and classification of literal ( real or concrete )… …   Wikipedia

  • Hardware Compatibility List — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Abstraction (computer science) — In computer science, abstraction is the process by which data and programs are defined with a representation similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”