이중 결함

Double fault

x86 아키텍처에서 프로세서가 보류 중인 인터럽트 또는 예외를 서비스하려고 시도하는 동안 문제가 발생하면 이중 장애 예외가 발생한다.이중 결함이 발생할 수 있는 상황은 인터럽트가 트리거되지만 인터럽트 핸들러가 상주하는 세그먼트는 유효하지 않은 경우다.이중 결함 핸들러를 호출할 때 프로세서에 문제가 발생하면 3중 결함이 발생하고 프로세서가 종료된다.

이중 장애는 커널 버그 때문에만 발생할 수 있기 때문에 프로그램이 커널 액세스(일부 바이러스 및 일부 낮은 수준의 DOS 프로그램)를 얻지 않는 한 현대 보호 모드 운영 체제사용자 공간 프로그램에 의해 발생하는 경우는 거의 없다.Power와 같은 다른 프로세서PC 또는 SPARC는 일반적으로 미리 정의된 예약된 컴퓨터 레지스터에 상태를 저장한다.그러면 이중 고장은 프로세서가 이러한 레지스터의 내용을 계속 사용하여 예외를 처리하는 동안 또 다른 예외가 발생하는 상황이 될 것이다.SPARC 프로세서는 그러한 레지스터의 네 가지 수준을 가지고 있다. 즉, 그들은 4-윈도 레지스터 시스템을 가지고 있다.

참고 항목

추가 읽기

  • Collins, Robert (2000). "Triple Faulting the CPU". Productivity Enhancements and Programming Tricks. Archived from the original on 2017-09-09. Retrieved 2015-11-22.*
  • Osterman, Larry (2005-02-08). "Faster Syscall Trap redux". Larry Osterman's WebLog. MSDN Blogs. Archived from the original on 2017-09-09. Retrieved 2010-07-23.