Вопрос №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 Все материалы защищены законодательством РФ.
|