Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В архитектуре x86 исключение двойной ошибки возникает, если процессор сталкивается с проблемой при попытке обслуживания ожидающего прерывания или исключения . Пример ситуации, когда может произойти двойная ошибка, - это когда прерывание запускается, но сегмент, в котором находится обработчик прерывания, недействителен. Если процессор сталкивается с проблемой при вызове обработчика двойной ошибки, генерируется тройная ошибка, и процессор выключается.

Поскольку двойные сбои могут происходить только из-за ошибок ядра , они редко вызываются программами пользовательского пространства в современной операционной системе с защищенным режимом , если только программа каким-либо образом не получает доступ к ядру (некоторые вирусы, а также некоторые низкоуровневые программы DOS ). Другие процессоры, такие как PowerPC или SPARC, обычно сохраняют состояние в заранее определенных и зарезервированных машинных регистрах. В этом случае двойной отказ будет ситуацией, когда произойдет другое исключение, в то время как процессор все еще использует содержимое этих регистров для обработки исключения. Процессоры SPARC имеют четыре уровня таких регистров, т. Е. Имеют четырехоконную регистровую систему .

См. Также [ править ]

Дальнейшее чтение [ править ]