|
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 operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware. A HAL allows instructions from higher level computer languages to communicate with lower level components, such as directly with hardware. An abstraction layer is a way of hiding the implementation details of a particular set of functionality. ...
Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. ...
A BlueGene supercomputer cabinet. ...
Software, consisting of programs, enables a computer to perform specific tasks, as opposed to the physical components of the system (hardware). ...
An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ...
A kernel connects the application software to the hardware of a computer. ...
The Windows NT-based operating systems have a HAL in the kernel. This allows portability of the Windows NT kernel-mode code to a variety of processors, with different memory management unit architectures, and a variety of systems with different I/O bus architectures; most of that code runs without change on those systems, when compiled for the instruction set for those systems. For example, the SGI Intel x86-based workstations were not IBM PC compatible workstations, but thanks to the HAL, Windows NT was able to run on them. Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. ...
This 68451 MMU could be used with the Motorola 68010 MMU, short for memory management unit or sometimes called paged memory management unit as PMMU, is a class of computer hardware components responsible for handling memory accesses requested by the CPU. Among the functions of such devices are the translation...
An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ...
Silicon Graphics, Inc. ...
This article or section does not cite its references or sources. ...
BSD, Mac OS X, Linux, CP/M, MS-DOS, Solaris, and some other portable operating systems also have a HAL, even if it's not explicitly designated as one. Some systems, such as Linux, have the ability to insert one while running, like Adeos. Usually, the term HAL is considered close to the nanokernels, though this is not exact. BSD redirects here; for other uses see BSD (disambiguation). ...
Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ...
Linux (IPA pronunciation: ) is a Unix-like computer operating system family. ...
CP/M was an operating system originally created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc. ...
Microsofts disk operating system, MS-DOS, was Microsofts implementation of DOS, which was the first popular operating system for the IBM PC, and until recently, was widely used on the PC compatible platform. ...
Solaris is a computer operating system developed by Sun Microsystems. ...
Adeos stands for Adaptive Domain Environment for Operating Systems. ...
In computer science, a nanokernel is a very minimalist operating system kernel. ...
An "extreme" example of a HAL can be found in the System/38 and AS/400 architecture. Most compilers for those systems generate an abstract machine code for a virtual machine; the Licensed Internal Code, or LIC, for those systems translates this virtual machine code into native code for the processor on which it's running and executes the resulting native code. (The exceptions are compilers that generate the LIC itself; those compilers are not available outside IBM.) This was so successful that application software and operating system software above the LIC layer that were compiled on the original S/38 run without modification and without recompilation on the latest AS/400 systems. This despite the fact that the underlying hardware has been changed dramatically; at least three different types of processors have been in use. The IBM System/38 was a computer. ...
i5 Model 570 (2006) The Application System/400 (also known as AS/400, iSeries (since 2000) and System i5 (since 2006)) is a type of minicomputer produced by IBM. It was first produced in 1988 and, as of 2006, is still in production. ...
Hardware abstraction layers are of an even lower level in computer languages than application programming interfaces (API) because they interact directly with hardware instead of a system kernel, therefore HALs require less processing time than APIs. Higher level languages often use HALs and APIs to communicate with lower level components. A application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them. ...
Hardware is the general term that is used to describe physical artifacts of a technology. ...
A kernel connects the application software to the hardware of a computer. ...
Operating systems having a defined HAL are easily portable across different hardware. This is especially important for embedded systems that run on dozens of different platforms. A router, an example of an embedded system. ...
See also In computer science, a nanokernel is a very minimalist operating system kernel. ...
External links |