A salada de HALs no Windows
HAL (Hardware Abstraction Layer) é um módulo do kernel NT que faz a abstração de hardware entre plataformas diferentes e recursos específicos de hardware (controlador de interrupções, interfaces de E/S, etc.). Componentes internos do Windows e drivers de dispositivo são programados usando rotinas do HAL, que mantém uniformidade entre hardware e plataformas diferentes. Desde seu planejamento, o Windows NT teve como um de seus objetivos ser um sistema operacional portável, que pudesse ser adaptado a novas arquiteturas à medida que o mercado demandasse. Até o Windows XP/Server 2003, o HAL correto era copiado na hora da instalação de acordo com o hardware (sempre chamando-se Hal.dll no sistema alvo). Uma posterior mudança de hardware que porventura não fosse compatível fazia o Windows não iniciar mais. Era necessário no mínimo reparar o sistema. WINDOWS 2000/XP/2003 (FAMÍLIA NT 5.x) Os seguintes principais HALs estão disponíveis ( \Windows\Driver Cache\i386\Driver.cab ): (existem o...