본문으로 이동

IRQL (윈도우)

위키백과, 우리 모두의 백과사전.

인터럽트 요청 수준(Interrupt Request Level, IRQL)은 윈도우가 시스템 프로세서에서 발생하는 인터럽트의 우선 순위를 지정하는 하드웨어 독립적인 수단이다. 윈도우가 실행되는 프로세서 아키텍처에서 하드웨어는 인터럽트 컨트롤러로 전송되는 신호를 생성한다. 인터럽트 컨트롤러는 특정 우선 순위 수준을 가진 CPU에 인터럽트 요청(또는 IRQ)을 보내고, CPU는 CPU가 제어를 다시 해제할 때까지 우선 순위가 낮은 다른 인터럽트를 보류 상태로 만드는 마스크를 설정한다. 인터럽트 컨트롤러. 신호가 더 높은 우선순위로 들어오면 현재 인터럽트는 보류 상태가 된다. CPU는 인터럽트 마스크를 우선순위로 설정하고 CPU가 우선순위가 더 높은 새 인터럽트 처리를 마칠 때까지 우선순위가 낮은 모든 인터럽트를 보류 상태로 둔다.[1]

윈도우는 하드웨어 인터럽트 수준을 내부 인터럽트 테이블에 매핑할 뿐만 아니라 소프트웨어 인터럽트도 매핑한다. 이 표의 매핑을 인터럽트 요청 수준(IRQL)이라고 하며 다중 프로세서 시스템의 각 프로세서에 대해 별도의 IRQL이 유지된다. IRQL 값은 윈도우가 실행될 수 있는 x86, IA64AMD64 프로세서 아키텍처에만 해당되지만 이론적으로는 유사한 인터럽트 구성표(예: 초기 버전에서 잠깐 지원되었던 DEC 알파MIPS)를 사용하는 다른 CPU도 지원할 수 있다. 이는 APC(비동기 프로시저 호출), 사용자 스레드 및 커널 모드 작업이 중단될 수 있으며 시스템이 스레드 스케줄러(또는 "디스패처")보다 낮은 IRQL에서 이를 실행해야 함을 의미한다.[2]

같이 보기[편집]

각주[편집]

  1. Russinovich, Mark (1997년 10월 31일), “Inside NT's Interrupt Handling”, 《Windows IT Pro》 (Penton Media), 2016년 9월 13일에 원본 문서에서 보존된 문서, 2016년 4월 26일에 확인함 
  2. 《Scheduling, Thread Context, and IRQL》, Microsoft, 2016년 4월 26일, 6–7쪽, 2016년 10월 22일에 원본 문서에서 보존된 문서, 2016년 4월 26일에 확인함