IRQL은 무엇인가
2장에서 IRQ와 IRQL의 관계에 대해 설명했다.(물론 내 주관적인 견해다 )
IRQ : 물리적인 인터럽트
IRQL : Windows에서의 논리적인 인터럽트
라고 생각한다.
윈도우에서의 IRQL의 구조는 다음과 같다.
'
여기서 중요한 것은 IRQL이 3가지로 나뉜다는 점이다.
그 3가지에 대해 알아보겠다.
1. IRQL의 구조
1) Hardware Interrupt
IRQ라고 생각하면 된다.
비동기적으로 하드웨어 적으로 걸려오는 인터럽트를 말하며
간단한 예를 생각하면 키보드 입력 또는 마우스 입력과 같은 것을 의미한다.
2) Software Interrupt
이부분이 추가되었으며 이부분에 대해서는 다음 장에서 알아보겠따.
DPC, APC의 개념에 대해서 숙지하고 있어야하며
어떤 경우에 해당 Interrupt가 발생되는지 알아보도록 하겠다.
3) Passive
일반 프로그램이라고 생각하면 된다.
인터럽트를 발생시키도 않으며 일반적으로 실행되는 프로그램이다.
2. IRQL의 구동원리
IRQL의 구동원리는 IRQ와 동일하다.
IRQL의 레벨 번호를 확인할 수 있따.
레벨 번호가 큰 것부터 실행한다.
레벨 번호가 큰 것을 실행한 후 아래의 레벨 번호의 Interrupt를 수행한다.
여기서 궁금한점은 IRQ의 경우 Wait를 하는 Interrupt는 Interrupt가 수행되면 레벨을 높혀주어
Interrupt 지연현상을 일으키지 않는다.
하지만 IRQL에서는 어떻게 구동되는지에 대해서는 연구가 필요할 것 같다.
혹시 아시는 분은 댓글에 올려주시면 많은 도움이 될 듯하다.
다음 장에서는 IRQL에서 DPC와 APC의 개념에 대해 알아보도록 하겠다.
2장에서 IRQ와 IRQL의 관계에 대해 설명했다.(물론 내 주관적인 견해다 )
IRQ : 물리적인 인터럽트
IRQL : Windows에서의 논리적인 인터럽트
라고 생각한다.
윈도우에서의 IRQL의 구조는 다음과 같다.
'
여기서 중요한 것은 IRQL이 3가지로 나뉜다는 점이다.
그 3가지에 대해 알아보겠다.
1. IRQL의 구조
1) Hardware Interrupt
IRQ라고 생각하면 된다.
비동기적으로 하드웨어 적으로 걸려오는 인터럽트를 말하며
간단한 예를 생각하면 키보드 입력 또는 마우스 입력과 같은 것을 의미한다.
2) Software Interrupt
이부분이 추가되었으며 이부분에 대해서는 다음 장에서 알아보겠따.
DPC, APC의 개념에 대해서 숙지하고 있어야하며
어떤 경우에 해당 Interrupt가 발생되는지 알아보도록 하겠다.
3) Passive
일반 프로그램이라고 생각하면 된다.
인터럽트를 발생시키도 않으며 일반적으로 실행되는 프로그램이다.
2. IRQL의 구동원리
IRQL의 구동원리는 IRQ와 동일하다.
IRQL의 레벨 번호를 확인할 수 있따.
레벨 번호가 큰 것부터 실행한다.
레벨 번호가 큰 것을 실행한 후 아래의 레벨 번호의 Interrupt를 수행한다.
여기서 궁금한점은 IRQ의 경우 Wait를 하는 Interrupt는 Interrupt가 수행되면 레벨을 높혀주어
Interrupt 지연현상을 일으키지 않는다.
하지만 IRQL에서는 어떻게 구동되는지에 대해서는 연구가 필요할 것 같다.
혹시 아시는 분은 댓글에 올려주시면 많은 도움이 될 듯하다.
다음 장에서는 IRQL에서 DPC와 APC의 개념에 대해 알아보도록 하겠다.