En la arquitectura x86 , se produce una excepción de doble falla si el procesador encuentra un problema al intentar reparar una interrupción o excepción pendiente . Una situación de ejemplo en la que se produciría una doble falta es cuando se activa una interrupción pero el segmento en el que reside el manejador de interrupciones no es válido. Si el procesador encuentra un problema al llamar al manejador de doble falla, se genera una falla triple y el procesador se apaga.
Como las fallas dobles solo pueden ocurrir debido a errores del kernel , rara vez son causadas por programas de espacio de usuario en un sistema operativo moderno en modo protegido , a menos que el programa de alguna manera obtenga acceso al kernel (algunos virus y también algunos programas de DOS de bajo nivel ). Otros procesadores como PowerPC o SPARC generalmente guardan el estado en registros de máquina predefinidos y reservados. Entonces, una doble falla será una situación en la que ocurre otra excepción mientras el procesador todavía está usando el contenido de estos registros para procesar la excepción. Los procesadores SPARC tienen cuatro niveles de tales registros, es decir, tienen un sistema de registro de 4 ventanas .
Ver también
Lectura adicional
- Collins, Robert (2000). "Triple fallo de la CPU" . Mejoras de la productividad y trucos de programación . Archivado desde el original el 9 de septiembre de 2017 . Consultado el 22 de noviembre de 2015 .*
- Osterman, Larry (8 de febrero de 2005). "Reducción de trampas de llamada al sistema más rápida" . WebLog de Larry Osterman . Blogs de MSDN . Archivado desde el original el 9 de septiembre de 2017 . Consultado el 23 de julio de 2010 .