December 17 2017 04:27:59
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Сегмент состояния задачи TSS
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

Сегмент состояния задачи TSS, структура которого показана на рис. 2.51, состоит из двух частей. Обязательная часть TSS объемом 104 байта содержит всю информацию, необходимую процессору для решения данной задачи. Дополнительная часть может содержать какую-либо информацию об этой задаче, используемую операционной системой (имя задачи, комментарии и т. д.), и битовые карты, одна из которых определяет номера прерываний, для которых реализуется виртуализация, другая указывает адреса устройств ввода-вывода, к которым разрешено обращение при выполнении данной задачи. Рассмотрим содержание обязательной части сегмента TSS.

Первые два байта в сегменте TSS используются для хранения селектора TSS предыдущей задачи, при выполнении которой произошел вызов данной задачи. В эти байты заносится содержимое регистра TR для предыдущей задачи, чтобы обеспечить возврат к ее выполнению. Поэтому данный селектор называется селектором возврата. Отдельные поля TSS хранят содержимое сегментных регистров ES, CS, SS, DS, FS, GS, регистров общего назначения ЕАХ, ЕСХ, EDX, EBX, ESP, EBP, ESI, EDI, регистра флагов EFLAGS и указателя команд EIP. При переключении задач содержимое указанных полей из вызванного TSS загружается в соответствующие регистры процессора. При следующем переключении текущее содержимое регистров заносится в TSS данной задачи, после чего производится загрузка регистров из TSS новой задачи. Таким образом, содержимое TSS обновляется при каждом переключении задачи, фиксируя текущее состояние.

31 16 15 0
Резервировано (0...0) Селектор возврата Ах
ESP0 Ах + 4
Резервировано (0...0) SS0 Ах + 8
ESP1 Ах + С
Резервировано (0...0) SS1 Ах + 10
ESP2 Ах + 14
Резервировано (0...0) SS2 Ах + 18
CR3 Ах + 1С
EIP Ах + 20
EFLAGS Ах + 24
ЕАХ Ах + 28
ЕСХ Ах + 2С
EDX Ах + 30
ЕВХ Ах + 34
ESP Ах + 38
ЕВР Ах + ЗС
ESI Ах + 40
EDI Ах + 44
Резервировано (0...0) ES Ах + 48
Резервировано (0...0) CS Ах + 4С
Резервировано (0...0) SS Ах + 50
Резервировано (0...0) DS Ах + 54
Резервировано (0...0) FS Ах + 58
Резервировано (0...0) GS Ах + 5С
Резервировано (0...0) LDT Ах + 60
Относительный адрес БКВВ Резервировано (0...0) Ах + 64
Дополнительная информация для ОС
Битовая карта обслуживания прерываний
Битовая карта ввода-вывода (БКВВ)

11111111

Рис. 2.51. Структура сегмента TSS

Содержимое ряда полей в обязательной части TSS не изменяется при решении задачи. Так, не изменяется содержимое поля, определяющего значение селектора LDT для данной задачи, и содержимое регистра управления CR3, которое используется при страничной организации памяти. Не изменяется также содержимое полей SS0, ESP0, SS1, ESP1, SS2, ESP2, которые определяют начальный адрес стека при переключении к задачам с более высоким уровнем привилегий PL = 0,1,2. Такое выделение отдельных стеков для задач с различными уровнями привилегий обеспечивает их более надежную защиту. Содержимое указанных полей TSS загружается в соответствующие регистры в процессе выполнения конкретной задачи.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,298,857 уникальных посетителей