| Artículos | 01 SEP 2005

Detectar errores de hardware con Whea

Tags: Histórico
Detección e informe de errores hardware
Eugenio Barahona.
Los sistemas operativos actuales de Microsoft no disponen de un sistema robusto que informe a los usuarios de una manera mínimamente intuitiva acerca de los errores que se han producido en el hardware más básico del ordenador: el microprocesador, la caché de la CPU, la memoria RAM, los buses que emplea el sistema para la conexión de dispositivos, etc. Pero si importante es la forma en que se informa al usuario de estos errores, aún más lo es la manera en que el sistema puede recuperarse de dichos fallos. Apróximadamente entre el 7 y el 10 por ciento de los cuelgues de los sistemas se deben a los errores de hardware anteriormente mencionados, cifras entre las que no se encuentran los errores que acaban en la producción de una NMI (interrupción no enmascarable) que impide que se contabilicen dichos errores de ninguna manera.
Los sistemas operativos habitualmente no suelen contar con los recursos necesarios para evitar este tipo de errores ya que carecen de la infraestructura necesaria para ello, como por ejemplo un formato común en que almacenar la información referente a los errores o un soporte eficiente que ofrecer a las aplicaciones que se encargan de gestionar los errores del hardware. Las pocas implementaciones existentes para gestionar errores además son propietarias, lo que hace que su coste sea relativamente elevado.
La arquitectura WHEA que está desarrollando Microsoft pretende dotar a Windows de los mecanismos necesarios para utilizar eficientemente los estándares actuales, y los que puedan aparecer en el futuro, de reporte de errores de hardware, como por ejemplo la arquitectura MCA de los procesadores Itanium o la característica AER (Advanced Error Reporting) de PCI Express. Además se reducirá el número de cuelgues de los sistemas mediante sistemas de recuperación de errores y de monitorización del estado de los componentes más críticos del PC.
Las primeras implementaciones de esta arquitectura de gestión y recuperación de errores no se extenderán en la gestión de periféricos, ya que Microsoft piensa centrarse en un primer momento en los dispositivos físicos más importantes de los ordenadores: procesador, memoria, caché y buses. Los errores que se produzcan en los periféricos conectados al sistema seguirán bajo la responsabilidad de los controladores de dispositivo encargados de manejarlos, si bien se espera que en el futuro esta arquitectura se extienda a los buses USB, 1394, etc.
WHEA se basa en un mecanismo genérico para descubrir el origen de los errores que se producen en el hardware del equipo. Además se define un formato de registro estándar para almacenar la información referente a los errores, un procedimiento para gestionar los errores, un mecanismo para obtener la persistencia de los registros que contienen información sobre los errores y un sistema de eventos que podrán usar las aplicaciones de gestión de equipos.
La gestión de errores se inicia con el uso de una nueva API implementada en el kernel de Windows que representa el punto de entrada a la gestión de errores del sistema. A través de la función WheaReport–HwError los componentes de modo kernel pueden informar al sistema de los errores que hayan encontrado. Dependiendo de la gravedad del error encontrado se producirá un bugcheck, que normalmente terminará en un pantallazo azul, o bien se generarán eventos de error que informarán a las aplicaciones de gestión de equipos que soporten WHEA.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información