Двойная ошибка - Double fault

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

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

Смотрите также

дальнейшее чтение

  • Коллинз, Роберт (2000). «Тройной сбой процессора». Повышение производительности и приемы программирования. В архиве из оригинала на 09.09.2017. Получено 2015-11-22.*
  • Остерман, Ларри (2005-02-08). "Более быстрое сокращение ловушки системных вызовов". WebLog Ларри Остермана. Блоги MSDN. В архиве из оригинала на 09.09.2017. Получено 2010-07-23.