인터럽트
windows internal/3장 / 2017. 12. 1. 23:08
idt = 인터럽트 디스패치 테이블
!idt명령어를 통해서 확인할 수 있다.
!pic 명령어를 통해서
programmable interrupt controller를 확인할 수 있다.
마스크 기능은 인터럽트를 막기위한 내부적인 제어과정이다.
실행되고 있는 우선순위 보다 같거나 낮은 것들을 마스킹하여 금지하도록 만드는 것이다
-
IRQL 살펴보기
irql은 커널레벨에서만 변경할 수 있다.
유저모드 코드라면 passive모드인 것이다.
프로세서가 커널에서 실행하면 항상 passive보다 높은 것이다.
인터럽트마다 특정목적이 존재한다.
IDT 및 인터럽트 모드에대한 정보도 알아낼 수 있다.
irql에대한 정보를 알아내기 위한 유용한 명령어이다.
-
인터럽트 내부 조사하기
!idt 명령어 81번 주소를 참조한다.
81번이 키보드 ISR과 관련있다.
irql 레벨이 7인 것을 확인할 수 있다.
!acpiirqlarb 명령어
The !acpiirqarb extension displays the contents of the Advanced Configuration and Power Interface (ACPI) IRQ arbiter structure, which contains the configuration of I/O devices to system interrupt controller inputs and processor interrupt dispatch table (IDT) entries.
APIC 와 ACPI는 다르다.
'windows internal > 3장' 카테고리의 다른 글
타이머 동작원리 (0) | 2017.12.02 |
---|---|
시스템 타이머 나열 (0) | 2017.12.02 |
익스큐티브 자원 열거하기 (!locks 명령어) (0) | 2017.12.02 |
DPC ISR 상세히 참조하기 (0) | 2017.12.01 |
인터럽트 DPC 행위 감시 (0) | 2017.12.01 |