Прерывания в защищённом режиме:

Глава 1. Основы работы прерываний.

        Как вы уже знаете, в режиме реальных адресов может существовать 256 различных прерываний. В начале памяти, по адресу 0000:0000 расположена таблица прерываний, состоящая из 256 четырёхбайтовых дальних (far) адресов в виде dw сегмент:dw смещение. Каждый такой адрес указывает на процедуру, обрабатывающую прерывание. Такие процедуры называются обработчики прерываний, а адреса - векторами.

        Режим реальных адресов позоляет использовать два типа прерываний:
1. Аппаратные прерывания - 16 прерываний от внешних устройств, отображённых на 16 векторов.
2. Программные прерывания - прерывания, генерируемые командой INT n.

        В защищённом режиме работа прерываний происходит сложнее.
        Во-первых, вводится новый класс прерываний, генерируемых самим процессором при нарушениях условий защиты - так называемые исключения (exceptions). Число возможных вектором прерываний по-прежнему равно 256, но 32 из них - от 00h до 1Fh используются исключениями.
        Во-вторых, вместо дальних адресов в таблице прерываний используются дескрипторы специальных системных объектов, так называемых шлюзов.
        В-третьих, сама таблица прерываний, которая называется IDT (Interrupt Descriptors Table), может находится по любому адресу памяти.

        Все эти особенности появились в процессоре 80386 и в полном объёме, с небольшими дополнениями, используются в всех 32-разрядных процессорах.
        Прерывания с векторами от 00 до 1Fh, т.е. исключения - это основа защищённого режима. Благодаря исключениям процессор автоматически реагирует на любые попытки нарушить защиту системы и позволяет их корректно обработать. Благодаря разделению кода и данных по уровням привилегий, обработчики прерываний можно надёжно изолировать от других программ.
        В грамотно построенной операционной системе никакая программа не сможет перехватить прерывание, изменить код или даже просто прочитать его(!), выйти за предел отведённых ей адресов и пр. Благодаря исключениям, операционная система может контролировать любые нарушения условий, поставленных ею.

Следующая глава Оглавление Вопросы? Замечания? Пишите: sasm@narod.ru

  Copyright © Александр Семенко.
TopList

Hosted by uCoz