Извиняюсь за глупый вопрос ... Просто стало интересно, что в винде просиходит когда програмно делаем вызов прерывания. Скажем int 50h. В dos все было просто и понятно, в kernel mode аналогично, а вот, что происходит в user mode?
katrus Ядро получает управление и смотрит, что надо сделать. А что надо -- зависит от номера прерывания и вида выполняемой программы.
SII То есть я могу написать дрйвер который будет ловить int из user space application? Что то типа sysenter, только собственный?
маны от интела... посути вам стоит всего лишь добавить элемент в IDT http://www.intel.com/design/literature.htm
Freeman Ну про маны это сильно, надо почитать любую книгу (стотью) о диспетчеризации прерываний в винде.
Можно и без драйвера - int 50h в нормальных условиях сгенерирует исключение #GP, которое благополучно превратится в Win32-исключение EXCEPTION_ACCESS_VIOLATION, которое можно перехватить и обработать, например, через SEH.
Тогда берешь и ставишь туда свой обработчик, модифицируя IDT. Причем отслеживая, чтобы поле Dpl было равно трём, чтобы обработчик мог вызываться из ring3.