Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 30 стр.

UptoLike

Составители: 

30
в текущей задаче. При NT = 1 (текущая задачавложенная) IRET
выполняет переключение в предыдущую задачу.
Рисунок 1.8 – Структура сегмента состояния задачи
Когда инструкции CALL, JMP или INT выполняют переключение
задач, старый (кроме случая JMP) и новый TSS помечаются занятыми
(меняется значение Type в их дескрипторах), и в поле обратной ссылки в
новом TSS устанавливается значение селектора старого TSS. Инструкции
CALL и INT, переключающие задачи, устанавливают в новой задаче
бит
NT. Прерывание, не вызывающее переключение задач, сбросит бит NT.
Этот бит может устанавливаться и сбрасываться инструкциями POPF и
IRET.
Смена контекста сопроцессора при переключении задач
автоматически не производится, так как новой задаче сопроцессор может и
не понадобиться. Однако, если процессор обнаруживает первое
в текущей задаче. При NT = 1 (текущая задача – вложенная) IRET
выполняет переключение в предыдущую задачу.




            Рисунок 1.8 – Структура сегмента состояния задачи
        Когда инструкции CALL, JMP или INT выполняют переключение
задач, старый (кроме случая JMP) и новый TSS помечаются занятыми
(меняется значение Type в их дескрипторах), и в поле обратной ссылки в
новом TSS устанавливается значение селектора старого TSS. Инструкции
CALL и INT, переключающие задачи, устанавливают в новой задаче бит
NT. Прерывание, не вызывающее переключение задач, сбросит бит NT.
Этот бит может устанавливаться и сбрасываться инструкциями POPF и
IRET.
        Смена   контекста   сопроцессора        при    переключении    задач
автоматически не производится, так как новой задаче сопроцессор может и
не   понадобиться.   Однако,   если        процессор   обнаруживает   первое



                                      30