Microsoft/Core
DPC란 무엇인가?~
DPC(Deferred Procedure call) 및 디스패치(Dispatch) 앞에서 알아본 APC와 마찬가지로 DPC도 또한 소프트웨어 인터럽트이다. DPC를 이해하기 위해선 Dispatch에 대해 알아야한다. Dispatch란~? Dispatch는 한 스레드의 실행이 길어져서 스케줄링을 다시 해야하는데, 자발적인 대기상태 전환이나 종료가 안되는 경우 스케쥴링을 다시 하여 스레드 실행을 조절하는 것을 의미한다. DPC란~? 현재 Thrad가 수행중에 IRQL상에 더 높은 인터럽트가 발생하면 현재 수행중인 Thread를 저장하고 해당 인터럽트를 실행한다. 이와같이 하드웨어 인터럽트 서비스를 적절하게 제공하기 위해 함께 동작하는 장치 인터럽트를 제어할때 사용한다. 그런데 이런 인터럽트도 여러 Threa..