Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Прерывания. Прерыванияслужат для обработки некоторого внешнего события, явно не связанного с прерываемой программой



Прерыванияслужат для обработки некоторого внешнего события, явно не связанного с прерываемой программой. Для этих случаев целесообразно использовать переключение задач. Выход из подпрограмм (обратное переключение) производится командой IRET.

Механизм выполнения команды IRET

Механизм выполнения команды IRET определяется способом вызова процедуры обработки прерывания.

Если переход на программу обработки был произведен с использованием механизма переключения программ, то и возврат на исходную программу производится переключением задач.

Если переключение задач вызывается командами CALL, командой вызова прерываний INT n, или прерыванием, то процессор устанавливает бит вложенности NT в регистре флагов FLAGSи бит занятости B в поле прав доступа дескриптора. Затем записывает селектор дескриптора TSS прерываемой программы в специальное поле "селектора возврата" TSS принимающей программы, и производится процедура переключения задач по схеме 3.10. После этого обе задачи становятся занятыми. Это запрещает применение рекурсивных процедур и реентерабельных программ.

Если переключение задач вызывает команда JMP, то селектор возврата, бит вложенности и бит занятости не устанавливаются.

При выполнении команды возврата процессор проверяет бит вложенности (NT) и выбирает механизм перехода. В случае использования переключения задач читается селектор TSS программы возврата.

Отсутствие прямого взаимодействия программ при переходах с использованием механизма переключения задач позволяет значительно смягчить требования к доступности программ по условиям корректности переходов с изменением уровня привилегий. Но все проверки, непосредственно не связанные с уровнями привилегий, выполняются в том же объеме.

TSS по чтению и по записи программно недоступен. Создание, модификацию и чтение TSS операционные системы могут производить путем отображения в тот же адрес памяти дескриптора сегмента данных.

Вопросы для самопроверки:

1. Назначение дескриптора сегментов в защищенном режиме МП IA-32.

2. Назначение дескриптора шлюзов в защищенном режиме МП IA-32.

3. Процедура переключения задач в защищенном режиме МП IA-32.

4. Основные поля дескрипторов сегментов и шлюзов.

5. Использование поля базового адреса сегмента и поля предела в дескрипторе сегмента.

6. Назначение поля атрибутов в дескрипторе сегмента.

7. Возможности использования сегментов CS, SS, ES, CS.

8. Понятие селектора сегмента.

9. Процедура переключения задач.

10. Термины: TSS, шлюз TSS.

11. Этапы процедуры переключения задач.





Дата публикования: 2014-11-03; Прочитано: 259 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...