ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
