Алгоритм переключения задачи

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

DPL TSS шлюза ³ max (CPL, RPL)?

2. Проверить присутствие TSS и что TSS имеет правильный предел (> 67 Н).

3. Сохранить состояние выходящей задачи (текущий TSS берется из регистра TR).

4. Загрузка в регистр TR селектора TSS  входящей задачи;

5. Загрузить состояние входящей задачи из ее сегмента TSS.

       Формат шлюза задачи:

           

 

 

Шлюз задачи служит посредником привызове TSS и его поле DPL препятствует инициированию переключений задач програмами с

max (CPL, RPL) > DPL шлюза

       Правило доступа: max (CPL, RPL) £ DPL шлюза, при этом DPL, TSS не проверяются.

                       

 

 

Шлюз используется для косвенных переключений. Поскльку дескрипторы TSS могут располагаться только в GDTR, то для того, чтобы расположить их в LDT и IDT используются шлюзы задач. Т. е. можно ограничить возможность использования задач теми, шлюзы которых имеются в LDT.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: