Вызовы прерываний, прерывания и ловушки - это всегда переходы или переключения без уменьшения уровней привилегий. Использование шлюза и отсутствие передач параметров является достаточной мерой защиты программ от взаимных помех. Команда IRET - это команда возвращения из процедуры в исходный кодовый сегмент. Команда не содержит адресного поля. При переключениях задач адрес возврата берется не из стека, а из защищенного системного сегмента TSS, не доступного пользовательским программам. В этой ситуации нет необходимости в проверках допустимости переходов по соотношениям уровней привилегий. Недостатками использования процедуры переключения задач являются:
|