Una excepción de verificación de máquina ( MCE ) es un tipo de error informático que se produce cuando se detecta un problema relacionado con el hardware del equipo . En la mayoría de los ordenadores personales del mercado masivo, una MCE indica un hardware defectuoso o mal configurado.
La naturaleza y las causas de los MCE pueden variar según la arquitectura y la generación del sistema. En algunos diseños, un MCE es siempre un error irrecuperable que detiene la máquina y requiere un reinicio . En otras arquitecturas, algunos MCE pueden no ser fatales, como los errores de un solo bit corregidos por la memoria ECC . En algunas arquitecturas, como PowerPC , ciertos errores de software pueden causar MCE, como un acceso no válido a la memoria. En otras arquitecturas, como x86 , los MCE suelen originarse solo en el hardware.
El sistema operativo IBM System/360 ( OS/360 ) registra los errores de entrada/salida en un conjunto de datos denominado SYS1.LOGREC. Desde entonces, IBM ha acuñado el término conjunto de datos de registro de errores ( ERDS ) para las versiones posteriores que permiten que la instalación elija el nombre y para los sistemas operativos no derivados de OS/360. [1]
En OS/360, la instalación puede elegir varios niveles de soporte para el manejo de comprobaciones de máquina. El más sofisticado, Machine Check Handler (MCH), registra los datos de fallos en SYS1.LOGREC e intenta la recuperación. La instalación puede imprimir esos datos utilizando la ayuda de servicio del Programa de edición e impresión de registros ambientales (EREP) o la versión independiente SEREP. El MCH puede manejar fallos de memoria en secciones de control de núcleo actualizables leyendo una copia nueva de SYS1.ASRLIB y puede manejar errores de memoria en áreas transitorias de SVC leyendo una copia nueva del módulo SVC de SYS1.SVCLIB.
En z/OS, la instalación puede utilizar un ERDS o puede definir un flujo de registro del registrador del sistema z/OS [2] para almacenar los datos de error. Al igual que con OS/360, la instalación utiliza EREP para imprimir esos datos; SEREP ya no está disponible. El MCH ya no es opcional y maneja muchos más modos de falla que el MCH de OS/360.
En las plataformas Microsoft Windows , en caso de un MCE irrecuperable, el sistema genera un BugCheck, también llamado error STOP o pantalla azul de la muerte .
Las versiones más recientes de Windows utilizan la arquitectura de errores de hardware de Windows (WHEA) y generan el código de detención 0x124, WHEA_UNCORRECTABLE_ERROR. Los cuatro parámetros (entre paréntesis) varían, pero el primero siempre es 0x0 para un MCE. [3] Ejemplo:
DETENER: 0x00000124 (0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000)
Las versiones anteriores de Windows utilizan la arquitectura Machine Check , con el código STOP 0x9C, MACHINE_CHECK_EXCEPTION. [4] Ejemplo:
DETENER: 0x0000009C (0x00000030, 0x00000002, 0x00000001, 0x80003CBA)
En Linux , el núcleo escribe mensajes sobre MCE en el registro de mensajes del núcleo y en la consola del sistema . Cuando los MCE no son fatales, normalmente también se copian en el registro del sistema o en el diario systemd . En algunos sistemas, los errores ECC y otros errores corregibles pueden informarse a través de las funciones de MCE. [5]
Ejemplo:
CPU 0: Excepción de comprobación de máquina: 0000000000000004 Banco 2: f200200000000863 Pánico en el kernel: contexto de CPU corrupto
Algunos de los principales problemas de hardware que provocan MCE incluyen:
Los errores de la máquina son un problema de hardware, no de software. Suelen ser el resultado de overclocking o sobrecalentamiento. En algunos casos, la CPU se apaga sola una vez que supera un límite térmico para evitar daños permanentes. Pero también pueden deberse a errores de bus introducidos por otros componentes defectuosos, como la memoria o los dispositivos de E/S. Las posibles causas incluyen:
Los problemas de refrigeración suelen ser evidentes tras una inspección. Una placa base o un procesador defectuosos se pueden identificar cambiándolos por piezas que funcionen. La memoria se puede comprobar iniciando el sistema con una herramienta de diagnóstico, como memtest86 . Los dispositivos de E/S y controladores defectuosos no esenciales se pueden identificar desconectándolos si es posible o desactivándolos para ver si el problema desaparece. Si las fallas suelen producirse poco después de iniciar el sistema operativo o no se producen en absoluto o durante días, puede ser indicativo de un problema de suministro de energía. En el caso de un problema de suministro de energía, la falla suele producirse cuando la demanda de energía alcanza su punto máximo cuando el sistema operativo inicia cualquier dispositivo externo para su uso.
Para los procesadores IA-32 e Intel 64, consulte el Manual del desarrollador de software de arquitecturas Intel 64 e IA-32 [6] Capítulo 15 (Arquitectura Machine-Check), o el artículo de Microsoft Knowledge Base sobre excepciones de Windows. [7]
{{cite book}}
: |work=
ignorado ( ayuda )