Разница между Call Gate, Interrupt Gate, Trap Gate?
Я изучаю Intel защищенный режим. Я обнаружил, что Call Gate, Interrupt Gate, Trap Gate почти одинаковы. Фактически, кроме того, что у Call Gate есть поля для счетчика параметров, и что эти 3 шлюза имеют поля разных типов, они идентичны во всех других полях.
Что касается их функций, все они используются для передачи управления кодом в некоторую процедуру в некотором сегменте кода.
Мне интересно, так как все эти 3 шлюза содержат информацию, необходимую для вызова через границы привилегий. Зачем нам их 3 вида? Разве 1 не достаточно хорош?
Спасибо за ваше время и ответ.
Обновление 1Смежный вопрос:Когда использовать Interrupt Gate или Trap Gate?
Обновление 2Сегодня я придумал эту мысль:
Различное назначение, разные ворота, и с различными деталями поведения процессора. Например, обработка флага IF.