Couche d'abstraction matériel
Un article de Wikipédia, l'encyclopédie libre.
Principaux systèmes d'exploitation |
BSD |
FreeBSD - NetBSD - OpenBSD |
DragonFly BSD - PC-BSD |
GNU/Linux (Liste) |
Debian - Fedora - Gentoo |
Mandriva - Red Hat - Slackware |
SuSE - Ubuntu |
Mac OS |
Système 5 - 6 - 7 - 8 - 9 |
Mac OS X -.0 -.1 -.2 -.3 -.4 -.5 - Server |
MS-DOS - Microsoft Windows |
1.0 - 2 - 3.x - 95 - 98 - Me |
NT - 3.5x - 4.0 - 2000 - XP |
2003 - Vista |
Autres |
AmigaOS - BeOS - Inferno |
LynxOS - Haiku OS - OS/2 |
QNX - Solaris - UNIX - MVS |
OS/360 - OS/390 - OS/400 - Plan 9 |
ReactOS - VMS - ZETA - FreeDOS |
La couche d'abstraction matériel (Hardware Abstraction Layer ou HAL) est une spécification et un utilitaire logiciel qui traque les périphériques du système informatique. Le but du HAL est d'éviter aux développeurs d'implémenter manuellement le code spécifique à un périphérique. À la place, ils peuvent utiliser une couche connectable qui fournit des informations à propos du dit périphérique, tel que cela se passe par exemple lorsqu'un utilisateur branche ou débranche un périphérique USB.
Cette couche implémente un certain nombre de fonctions spécifiques au matériel : interfaces d'entrées-sorties, contrôleur d'interruptions, caches matériels, mécanismes de communication multiprocesseur... Elle isole ainsi le noyau du système des spécificités des plate-formes matérielles.
Les systèmes d'exploitation disposant du HAL (notamment : BSD, Linux et Windows NT) ont une portabilité simplifiée à travers différents types de matériels tels que les systèmes embarqués, ou encore les serveurs disposant de différentes architectures propres à leur fonctionnement : Intel x86, DEC Alpha, MIPS, PowerPC, etc.