Средства аппаратной поддержки управления памятью в микропроцессорах Intel 80386, 80486 и Pentium
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: евгений сочинение, bestreferat
| Добавил(а) на сайт: Задорнов.
Предыдущая страница реферата | 1 2 3
Структура сегмента TSS задачи приведена на рисунке 2.28. Контекст задачи должен содержать все данные для того, чтобы можно было восстановить выполнение прерванной в произвольный момент времени задачи, то есть значения регистров процессора, указатели на открытые файлы и некоторые другие, зависящие от операционной системы, переменные. Скорость переключения контекста в значительной степени влияет на скоростные качества многозадачной операционной системы. Процессор i386 производит аппаратное переключение контекста задачи, хранящегося в сегменте TSS. Как видно из рисунка, сегмент TSS имеет фиксированные поля, отведенные для значений регистров процессора, как универсальных, так и некоторых управляющих (например LDTR и CR3). Для описания возможностей доступа задачи к портам ввода-вывода процессор использует в защищенном режиме поле IOPL (Input/Output Privilege Level) в своем регистре EFLAGS и карту битовых полей доступа к портам. Для получения возможности выполнять команды ввода-вывода выполняемый код должен иметь уровень прав не ниже значения поля IOPL. Если же это условие соблюдается, то возможность доступа к порту с конкретным адресом определяется значением соответствующего бита в карте ввода-вывода сегмента TSS (карта состоит из 64 Кбит для описания доступа к 65536 портам).
Битовая карта ввода/вывода (БКВВ) |
( (8 Кбайт |
|||
Дополнительная информация ОС | ||||
Относительный адрес БККВ | . . .0 T 64 | |||
. . . | Селектор LDT | 60 | ||
. . . | GS 5C | |||
. . . | FS 58 | |||
. . . | DS 54 | |||
. . . | SS 50 | |||
. . . | CS 4C | |||
. . . | ES 48 | |||
EDI | 44 | |||
ESI | 40 | |||
EBP | 3C | |||
ESP | 38 | |||
EBX | 34 | |||
EDX | 30 | |||
ECX | 2C | |||
EAX | 28 | |||
EFLAGS | 24 | |||
EIP | 20 | |||
CR3 | 1C | |||
. . . | SS уровня 2 | 18 | ||
ESP2 | 14 | |||
. . . | SS уровня 1 | 10 | ||
ESP1 | C | |||
. . . | SS уровня 0 | 8 | ||
ESP0 | 4 | |||
. . . | Селектор TSS возврата | 0 |
Рис. 2.28. Структура сегмента TSS
Кроме этого, сегмент TSS может включать дополнительную информацию, необходимую для работы задачи и зависящую от конкретной операционной системы (например, указатели открытых файлов или указатели на именованные конвейеры сетевого обмена). Включенная в этот сегмент информация автоматически заменяется процессором при выполнении команды CALL, селектор которой указывает на дескриптор сегмента TSS в таблице GDT (дескрипторы этого типа могут быть расположены только в этой таблице). Формат дескриптора сегмента TSS аналогичен формату дескриптора сегмента данных.
Рис. 2.29. Непосредственный вызов задачи
Как и в случае вызова подпрограмм, имеется две возможности вызова задачи - непосредственный вызов через указание селектора сегмента TSS нужной задачи в поле команды CALL и косвенный вызов через шлюз вызова задачи. Как и при вызове подпрограмм, непосредственный вызов возможен только в случае, если вызывающий код обладает уровнем привилегий, не меньшим, чем вызываемая задача. При вызове через шлюз (который может располагаться и в таблице LDT) достаточно иметь права доступа к шлюзу. Непосредственный вызов задачи показан на рисунке 2.29. При переключении задач процессор выполняет следующие действия:
1) Выполняется команда CALL, селектор которой указывает на дескриптор сегмента типа TSS.
2) В TSS текущей задачи сохраняются значения регистров процессора. На текущий сегмент TSS указывает регистр процессора TR, содержащий селектор сегмента.
3) В TR загружается селектор сегмента TSS задачи, на которую переключается процессор.
4) Из нового TSS в регистр LDTR переносится значение селектора таблицы LDT в таблице GDT задачи.
5) Восстанавливаются значения регистров процессора (из соответствующих полей нового сегмента TSS).
6) В поле селектора возврата заносится селектор сегмента TSS снимаемой с выполнения задачи для организации возврата к прерванной задаче в будущем.
Вызов задачи через шлюз происходит аналогично, добавляется только этап поиска дескриптора сегмента TSS по значению селектора дескриптора шлюза вызова.
Использование всех возможностей, предоставляемых процессорами Intel 80386, 80486 и Pentium, позволяет организовать операционной системе высоконадежную многозадачную среду.
Скачали данный реферат: Gricaj, Минеев, Krivov, Koptev, Радован, Шуленков, Cirul'nikov.
Последние просмотренные рефераты на тему: решебник 6, контрольная 1, лечение шпоры, уголовное право шпаргалки.
Категории:
Предыдущая страница реферата | 1 2 3