본문 바로가기

Windows OS2

윈도우즈 커널에서의 컨텍스트 스위치 과정 윈도우즈 커널에서의 컨텍스트 스위치 과정 - 2026/01스레드 스케쥴링OS내에는 많은 수의 스레드가 있고, 이 스레드는 돌아가면서 CPU를 사용합니다. 실제로 스레드 스케쥴링은 유저 모드에서 커널 모드로 전환되고 커널 코드를 수행함으로서 이루어집니다.퀀텀시간과 우선순위모든 스레드는 퀀텀(Quantum) 이라고 불리는 시간 단위를 가집니다. 이는 KTHREAD라고 불리는 커널 구조체에 포함 됩니다. 선점되거나, 커널 디스패처가 포함되는 API(WFSO, Sleep)등을 호출하지 않는다면, 스레드는 코어를 해당 시간 만큼 점유합니다.스케쥴러(Scheduler)와 디스패처(Dispatcher) 현재 실행 중인 스레드의 상태가 Running에서 Ready로 바뀌는 경우가 있습니다. 퀀텀을 모두 소진하거나, 다..
윈도우즈의 커널의 인터럽트 처리 (CPU IRQL 상승과 복귀) 윈도우즈의 커널의 인터럽트 처리 (CPU IRQL 상승과 복귀) - 2026/01윈도우즈의 인터럽트 처리방식현대 컴퓨터 아키텍처에서 장치 간 통신의 핵심적인 메커니즘은 인터럽트(Interrupt)라고 불리는 일종의 이벤트 알림 메커니즘입니다. CPU 코어 또한 인터럽트를 수신함으로써 장치의 상태 변화를 인식합니다. 따라서 이 방식을 이해하시면, 유저 모드 어플리케이션에서의 API 호출로부터 커널 진입, 인터럽트 수신 및 처리, 그리고 다시 유저 모드 코드로 복귀하는 일련의 과정을 이해하시는 데 큰 도움이 됩니다.프로세서 IRQL의 개념CPU 코어가 인터럽트를 수신하면, 이에 대한 처리를 위해 특정 루틴(코드 조각)이 해당 CPU 코어에서 실제로 실행되어야 합니다. 이 루틴을 ISR(Interrupt Se..