Hello 
HAL signifie "Hardware abstraction layer", il s'agit d'une couche d'abstraction matérielle. Autrement dit, Windows utilise hal.dll pour dialoguer avec certains périphériques matériels, sans aller "taper" directement dans leurs fonctions propres (qui peuvent s'appeler de différentes manières, d'où l'intérêt d'une couche d'abstration).
Je ne crois pas que ce fichier soit présent sur Windows 95 ;)