Лучшие вопросы
Таймлайн
Чат
Перспективы
TSS
Из Википедии, свободной энциклопедии
Remove ads
TSS (англ. Task State Segment — сегмент состояния задачи) — специальная структура в архитектуре x86, содержащая информацию о задаче (процессе). Может использоваться ОС для диспетчеризации задач, но обычно (например в Linux[1]) применяется только для переключения на стек ядра при обработке прерываний и исключений. В TSS содержится информация о:
- Состоянии регистров процессора;
- Разрешениях на использование портов ввода-вывода;
- Указатели на стек внутреннего уровня;
- Ссылка на предыдущую запись TSS (для задач диспетчеризации).
Remove ads
Расположение TSS
Может находиться где угодно в памяти. Специальный сегментный регистр (Регистр Задачи — TR) содержит селектор сегмента, который указывает на действительный сегментный дескриптор TSS, постоянно хранящийся в GDT (может не храниться в LDT). Для использования TSS ядро ОС должно выполнить следующие шаги:
- Создать дескриптор TSS в глобальной таблице дескрипторов;
- Загрузить регистр процесса (TR) с селектором сегмента для этого сегмента;
- При необходимости добавить информацию в TSS в памяти.
В целях безопасности TSS должен быть расположен в области памяти, доступной только для ядра.
Remove ads
Регистр задачи TR
TR — 16-битный регистр, содержащий селектор сегмента для TSS. Может быть загружен через инструкцию LTR. Состоит из двух частей: одна из них видима и доступна программисту, а другая, не видимая часть, автоматически подгружается из дескриптора TSS.
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads