Хотя большинство прерываний генерируется аппаратно, ядро Windows тоже может генерировать прерывания — только они являются программными. Этот вид прерываний служит для решения многих задач, в том числе: • инициации диспетчеризации потоков; • обработки прерываний, не критичных по времени; • обработки событий таймеров; • асинхронного выполнения какой-либо процедуры в контексте конкретного потока; • поддержки асинхронного ввода-вывода. Эти задачи подробно рассматриваются ниже.Программные прерывания