Таблица векторов прерываний
Таблица векторов прерываний (англ. Interrupt Descriptor Table, IDT) используется в x86 архитектуре и служит для связи обработчика прерывания с вектором (номером прерывания).
В реальном режиме таблица векторов прерываний расположена в первом килобайте памяти начиная с адреса 0000:0000 и содержит 256 векторов прерываний. В защищённом режиме адрес в физической памяти и размер таблицы прерываний определяется 48-битным регистром IDTR.
В IDT используются следующие типы прерываний: аппаратные прерывания, программные прерывания и прерывания, зарезервированные процессором, называемые исключениями (для RM первые пять, для PM первые 32) на случай возникновения некоторых событий (деление на ноль, ошибка трассировки, переполнение).
В реальном режиме элементом IDT является 32-битный FAR адрес обработчика прерывания.
В защищённом режиме элементом IDT является шлюз прерывания длиной 8 байт, содержащий сегментный (логический) адрес обработчика прерывания, права доступа и др.
Инициализация IDT
Первый этап инициализации выполняется BIOS, перед загрузкой ОС. Второй непосредственно самой операционной системой. Операционной системе доступно изменение некоторых адресов прерываний.
См. также
Ссылки
cs:Tabulka vektorů přerušení en:Interrupt descriptor table fr:Interrupt Descriptor Table he:טבלת פסיקות it:Interrupt Descriptor Table
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....