6.1. Ресурсы задачи
Задачу составляют два компонента: адресное пространство задачи и сегмент состояния задачи (Task State Segment - TSS).
В адресное пространство задачи входят доступные ей сегменты кода, данных и стека. Если используется механизм привилегий, то каждой задаче должны быть предоставлены сегменты стека для всех используемых уровней привилегий.
Сегмент состояния задачи хранит состояние регистров (контекст) процессора:
- состояние сегментных регистров (селекторы сегментов, формирующие адресное пространство задачи);
- состояние регистров общего назначения;
- состояние регистра флагов (EFLAGS);
- указатель очередной команды (EIP);
- значение регистра CR3 (PDBR);
- значение регистра LDTR.
В многозадачных системах TSS предоставляет механизм для связывания (вложения) задач.
Каждая задача идентифицируется селектором соответствующего ей TSS.
Этот селектор загружается в регистр задачи (Task Register - TR) при переключении на задачу.
В теневую часть этого регистра загружаются базовый адрес, предел и атрибуты TSS.
Операционная система может предусматривать для каждой задачи свое линейное адресное пространство
(свой набор страниц для страничного преобразования), тогда при переключении задачи
загружается и регистр CR3 (PDBR), хранящий адрес каталога таблиц для
страничного преобразования.