Сделай Сам Свою Работу на 5

Вопрос №12 Схема формирования физического адреса





ОС при нахождении сегмента в ОП помещает в сегментный регистр селектор (14разр), который указывает на дескриптор, находящийся в области дескрипторных таблиц в Оп

Дескриптор из ОП переписывается в невидимую т.е. 2-ю часть сегмента

Формируется эффективных адрес на основании смещения и способа адресации указанного в команде

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

1. Начальный адрес сегмента из дескриптора суммируется с эффективным адресом для нахождения физического адреса ячейки в ОП.

2. Обращение по физическому адресу к ячейке памяти

Вопрос №7Сравнительный анализ способов адресации

Особенности 16-разр. адресации (реальный режим) Особенности 32-разр. адресации (защищённый режим)
Простой вид сегментации Сложная сегментация
Размещение сегмента произвольное
Нет контроля предела сегмента, что может привести к нарушению данных в другом сегменте Есть контроль предела сегмента, несанкционированный доступ к др. сегменту исключён
Максимальный размер сегмента 64К байт Максимальный размер сегмента 1Мб или 1Гб
Сегментный регистр 16разр и содержит начальный адрес сегмента Сегментный регистр 32-разр и содержит дескриптор и селектор
Используется для подготовки к работе в защищённом режиме Обеспечивает защищённый режим работы
Эфф. адрес смещение+база+индекс Эфф. адрес= смещение+база+индекс*масштаб Где масштаб 2,4,8 что эквивалентно сдвигу в сторону старших на 1, 2 или 3 разряда

Вопрос №8 Понятие и действие механизма привилегий



Практически во всех компьютерах в целях защиты предусматриваются 2 режима: системный и пользовательский.

Основное отличие между ними состоит в том, что программам работающим в системном режиме доступны все ресурсы, в пользовательском запрещается выполнение некоторых команд, которые влияют на общие системные ресурсы.

В настоящее время в процессорах поддерживается не 2 а 4 режима работы, которые основаны на привилегиях и обеспечиваются аппаратными средствами процессора. Защита по привилегиям является 2-ой составной частью защищённого режима работы.



Термин привилегия подразумевает права доступа и возможности, которые обычно не разрешаются. Чем меньше номер уровня тем он больше привилегирован. Уровни привилегий условно можно изобразить так:

Уровень привилегий задаётся в дескрипторе каждого сегмента и в сегментном регистре (1 часть). При выполнении каждой машинной команды выполняется проверка по привилегиям т.е. процессор постоянно контролирует достаточно ли привилегированна текущая программа для того чтобы:

1. Вып. ком. 0го уровня

2. Обращаться к данным других программ

3. Передавать управление другим программам

Если имеется нарушение по привилегиям то вырабатывается сигнал нарушения общей защиты и ОС прекращает работу программы.

Привилегированные программы – команды ядра ОС влияют на общие функции процессора. кол-во их ограничено (прим. 20команд). К ним относятся след команды: загрузка дескрипторов, разрешение и запрещение прерываний, загрузка Рг задач, прекращение работы процессора и т.д.

Текущая программа не имеет возможности работы с данными командами (команды 0-го уровня)

Вопрос №9 Условия защиты доступа к данным и передача управления другим программам:

1. Обращение к данным возможно в пределах кольца защиты или к менее привилегированным

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

3. Контроль основан на сравнении уровня привилегий программы, заданного в сегментном регистре кода (CPL) и уровня привилегий сегмента, заданного в дескрипторе (DPL).



4. При этом необходимо выполнение следующих условий:

Для данных CPL ≤ DPL

Для команд CPL = DPL

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

Особенности передачи управления между уровнями привилегий

В процессе работы возникает необходимость обращения к другим подпрограммам находящимся на более высоком уровне привилегий. Например к библиотекам стандартных подпрограмм. Для этого используют подчинённые сегменты или шлюзы вызова.

Шлюз вызова имеет свой дескриптор и собственный формат дескриптора, в котором указывается селектор назначения, смещение назначения и права доступа.

Вопрос №10 Формат дескриптора шлюза вызова.

Разрешенный и запрещенный вызовы более привелигированного кода.

Шлюз вызова представляет собой связующее звено между сегментами кода находящимися на разных уровнях привилегий, и позволяет выполнять переход между этими уровнями.

Принцип действия:

В любой команде указывается селектор дескриптора который позволяет перейти к нужному дескриптору кода, в дескрипторе содержится начальный адрес нужного сегмента, в сегменте находится нужное смещение, то есть определяется ячейка к которой должно произойти обращение, но если DPL=0, то переход к дескриптору этого сегмента кода уже запрещен. Для перехода используется команда межсегментного перехода (CALL). В этой команде указывается не селектор дескриптора кода нужного сегмента, а селектор дескриптора шлюза, поэтому переход к нему разрешается.

В дескрипторе шлюза указан селектор дескриптора кода (селектор назначения).

В дескрипторе кода указывается начальный адрес сегмента кода с DPL=0.

Вопрос №11 Страничная память

В защищённом режиме работы процессор поддерживает страничное преобразование адреса. Основное назначение страничного преобразования связано с огран. виртуальной памяти что позволяет программисту использовать большой объём памяти. Но в каждый момент времени только часть страниц виртуальной памяти присутствует в физической.

Процессор автоматически формирует особый случай не присутствия страницы в ОП и в этом случае выполняется процедура свопинга.

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

Для преобразования адреса используется таблица страниц, находящаяся в ОП, которая осуществляет данное преобразование при этом возможны 2 способа обращения к этой таблице:

Одноуровневое обращение

+ 1 цикл памяти à быстродействие

-большой объём страниц (прим 4Мб)

2. Двухуровневое обращение

+ небольшой размер памяти для хранения стр. 4-5Кбайт

- снижение быстродействия т.к. требуется 2 цикла памяти

В любом варианте требуется обращение к памяти, поэтому для повышения быстродействия в процессоре имеется специальное устройство страничного преобразования которое содержит буфер преобразования стр.(TBL) Этот буфер хранит физич. адреса последних 32 страниц к которым обращался процессор. Это позволяет уменьшить количество обращений процессора за физ. адресами к памяти.

 

Вопрос №14Сравнение двух видов памяти.

Сегментная Страничная
Надежный механизм защиты. Не обеспечивается защита от взаимного влияния программ (-)
Ухудшение быстродействия обуславливается необходимостью формирования сложного адреса (-) Необходимо знать только один виртуальный адрес страницы который сразу преобразуется в физический (+)
Автоматическое обнаружение и обработка программных ошибок Фиксированный размер страницы, который можно согласовать с размером сектора или кластера, что снимает проблему фрагментации диска(+)
Необходимость выполнения служебных функций при загрузке селекторов и дескрипторов(-) Эффективная внутренняя фрагментация, когда объект точно не укладывается в страницу или набор страниц

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.