Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к экзамену,3 лабы(4 вар) / Ответы Гуров 2011 (1).doc
Скачиваний:
72
Добавлен:
10.05.2014
Размер:
1 Мб
Скачать
☆

Двухэтапное преобразование

Рисунок 3 – двухэтапное преобразование

Достоинства:

КТС постоянно находится в ОП, таблицы страниц могут вытесняться во внешнюю память и загружаться из неё, т.е.в ОП должно обязательно храниться 4кб КТС и 4кб активной страницы, что экономит ОЗУ, но при этом каждое страничное преобразование требует двух дополнительных обращений к ОП.

Для сокращения времени страничного преобразования используется буфер ассоциативной трансляции страничного адреса (TLB)

Формат элемента ктс (таблицы страниц)

P– бит присутствия.

A– бит обращения.A=1, при любом обращении к данной странице

D – dirty bit (грязный бит). D=1при записи на данную страницу,D=0 в случае вытеснения данной таблицы из ОЗУ физически она во внешнюю память не копируется

R/W– разрешение только чтения, либо и чтения и записи на данной странице.

U/S–user/supervisor.Uсоответствует в сегменте уровню приоритета =3.Sсоответствует в сегменте уровню приоритетов =0, 1 или 2. На уровнеSразрешается запись и чтение страницы при любом значениеR/W.

PCD– запрещение кэширования страниц

PWT–

Структура tlb

Рисунок 4 - Структура TLB

Биты доступа:D,U/S,R/W(см. выше)

V– бит достоверности.V=0 – информация в данной строке не достоверна.

TLBхранит информацию о 32-х наиболее часто используемых страницах (8 блоков по 4 строке в каждой).

Задача:

Определить выполнялось ли преобразование адреса, если да – взять из ОЗУ, если нет, то выполнить преобразование и добавить информацию в TLB.

При преобразовании виртуального адреса разряды 1214 определяют № блокаTLB. Поля тэгов всех строк этого блока одновременно ассоциативно сравниваются с разрядами 3115 линейного адреса, если для какой либо строки произошло совпадение – это означает, что № данной виртуальной страницы уже преобразовывался в № физической страницы и информация об этой странице имеется в данной строке. При несовпадении страничное преобразование выполняется обычным образом, результаты преобразования записываются в свободную строку блока, если свободной строки нет, то одна из строк освобождается по механизмуLRU(lastrecentlyused).

Механизм замещения строк (lru)

Биты

Последнее обращение

B0

0

Было обращение к строкам L2 или L3

1

Было обращение к строкам L0 или L1

B1

0

Было обращение к L1

1

Было обращение к L0

B2

0

Было обращение к L3

1

Было обращение к L2

B0

B1

B2

Замена

0

0

X

L0

0

1

X

L1

1

X

0

L2

1

X

1

L3

  1. Механизмы защиты в 32-разрядном микропроцессоре. Защита при управлении памятью. Защита по привилегиям. Механизмы передачи управления между программами на разных уровнях привилегий. Шлюз вызова.

Средства защиты должны предотвращать:

  1. Неразрешенное взаимодействие пользователей друг с другом

  2. Несанкционированный доступ пользователей к данным

  3. Повреждение программ и данных из-за ошибок в программе

  4. Намеренные попытки разрушить целостность в системе

Средства защиты делятся на:

  1. Защита при управлении памятью

  2. Защита по привилегиям

Защита при управлении памятью

Выявляет большинство программных ошибок и попыток случайного искажения данных

До загрузки селектора в сегментный регистр данных и кэширования дескриптора выполняются проверки:

  1. Поле INDEX селектора находится в пределах таблицы, определённой битомTI

  2. При загрузке селектора в сегментный регистр данных: DS,ES,FS,GSтип дескриптора должен разрешать считывание из сегмента. Только выполняемые сегменты запрещены, но сегменты с разрешёнными операциями выполнения и считывания допускаются.

Типы сегментов:

  • Сегмент данных

  • Сегмент кода

  • Системные объекты (Сегмент локальной таблицы дескрипторов)

  1. Для SS(сегмент стека): должны быть разрешены операции чтения и записи.

  2. Для CS–можно загружать селекторы ТОЛЬКО исполняемых сегментов.

На этапе обращения к сегменту проверяется:

  1. разрешена ли данная операция (ЧТЕНИЕ / ЗАПИСЬ);

  2. сформированное МП смещение в сегменте не превышает предела, указанного в дескрипторе;

  3. проверка соответствия обращения к сегменту, его типу (нельзя обращаться к кодовому операнду, если он помечен на исполнение, чтобы не перемешалась информация).

Защита по привилегиям

Фиксирует более «тонкие» ошибки и намеренные попытки нарушить целостность системы.

Привилегии– свойства, определяющие какие операции и обращения к памяти, разрешается производить МП при выполнении текущей задачи.

На аппаратном уровне поддерживает до 4 уровня привилегий (00 – наиболее привилегированный)

Кольца защиты

Уровень 0– Ядро ОС обеспечивающее:

  • инициализацию работы;

  • управление доступом к памяти;

  • защиту;

  • ряд важных функций, нарушение которых выводит из строя МП.

Уровень 1– основная часть программ (утилиты)

Уровень 2– служебные программы ОС (драйверы, СУБД и т.д.)

Уровень 3– программы пользователя

Аппаратные средства МП постоянно контролируют: что данная программа достаточно привилегированна, для того, чтобы:

  1. Выполнять некоторые команды (отдельные команды, например, обращения к системным таблицам или регистрам могут выполняться только на уровне 0).

  2. Обращение к данным других программ (программа может обращаться к данным на текущем уровне или более низком уровне привилегий).

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

  4. Программа достаточно привилегированна, чтобы выполнить операции ввода-вывода (т.е. если ей это разрешено) [Бит IOPL регистра EFLAGS] (т.к. некоторым операциям нужен 0 уровень, а мы будем использовать 3 уровень, то часть функций нам будут недоступны).

На уровне страниц используются 2 уровня привилегий, бит U/S (User/Supervisor).

  • Пользователь (уровень 3);

  • Супервизор (уровень 0,1,2).

Проверка проводится вначале на уровне сегмента, а потом на уровне страницы (т.к. в сегменте разные страницы)