Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Descriptor Priority Level(DPL)Содержание книги
Поиск на нашем сайте
Используется для организации защиты памяти. Описывает тип сегмента, который описывает данный дескриптор. Сегменты могут быть следующих типов: 1) системные – используются ОС и недоступны пользователю (рис) 2) кодовые – содержат коды выполняемых программ (рис) С – подчиненный или неподчиненный кодовый сегмент R – доступен ли подчиненный сегмент для чтения А – используется ОС для оценки частоты использования данного сегмента. При загрузке сегмента в память бит А обнуляется, а при каждом обращении к сегменту в этот бит записывается 1. Периодически ОС просматривает бит А у всех сегментов, расположенных в памяти и обнуляет их, если возникает ситуация, когда свободного места в памяти нет, а в память необходимо загрузить сегмент. 3) сегменты данных – используются под стек (рис) W определяет возможность записи данных в сегмент. Если =0, то сегмент можно только читать. К – то же значение, что и А Все дескрипторы сегментов объединены в таблицу дескрипторов сегментов. Существует 2 тип таблиц дескрипторов сегментов: GDT – глобальная таблица дескрипторов – содержит дескрипторы сегментов ОС и сегментов, общих для всех выполняемых процессов; LDT – локальная таблица дескрипторов - каждый выполняемый процесс имеет свою таблицу дескрипторов. В такой системе может присутствовать 1 GDT и несколько LDT. И GDT, и LDT занимают по 64 Кб и могут содержать до 8192 дескрипторов сегментов. В системе существуют специальные регистры для ссылок на эти таблицы: GDTR (рис). Кроме этого существует регистр LDTR, который содержит ссылку на дескриптор, описывающий сегмент под текущий LDT – таблицу локальных дескрипторов, выполняемого в данный момент процесса. Т о в каждый конкретныйелано для совместимости с предыдущей версией (рис) егментаамяти. Виртуальный адрес в защищенном режиме так же состоит из пары момент доступна только 1 таблица локальных дескрипторов, а остальные недоступны. Этим обеспечивается защита адресных пространств процессов друг от друга. LDT создается ОС в момент запускания процесса. (рис) В защищенном режиме регистр сегментов, содержащих специальную структуру данных – селектор. (рис) RPL используется для защиты памяти Бит Т определяет какую таблицу нужно использовать для адресации сегментов. Индекс определяет номер дескриптора в этой таблице. Т о разрешение адреса при сегментной организации памяти в защищенном режиме осуществляется следующим образом: 1) из регистра сегментов извлекается селектор и по биту Т селектора определяется какую таблицу необходимо использовать 2) из регистра GDTR извлекается адрес начала таблицы GDT и к нему добавляется индекс селектора * 8 3)по вычисленному адресу извлекается дескриптор. Над ним выполняется ряд проверок: а) проверяется бит Т: если Т=0, то сегмента в памяти нети вырабатывается прерывание по отсутствию сегмента памяти б) анализируется приоритет сегмента и определяется можно ли к сегменту разрешить доступ. Если нет – вырабатывается прерывание по защите памяти в) проверяется тип сегмента и определяется можно ли над этим сегментом выполнить операцию. Если проверка неудачна – вырабатывается прерывание по защите памяти. Если доступ разрешен, переходим к следующей проверке. г) из дескриптора считывается размер сегмента и сравнивается со смещением виртуального адреса. Если смещение > размера сегмента, вырабатывается прерывание по защите памяти, в противном случае доступ к сегментам разрешен. д) из дескриптора извлекается базовый адрес начала сегмента и к нему прибавляется в смещение виртуальный адрес. В результате получается 32разрядный физический адрес??? байта. Из регистра GDT будет извлекаться адрес GDT и к нему будет добавляться индекс из регистра GDTR. В результате получим адрес-начало. По полученному адресу извлекается дескриптор, базовый адрес которого задает адрес начала GDT???. К базовому адресу GDT добавляется индекс из селекторного регистра сегментов +8. В результате получаем адрес дескриптора GDT и извлекаем его. ВА(селектор, смещение)->РА(32р адрес) Поскольку каждый выполняющийся в системе процесс имеет свою собственную таблицу LDT и не имеет доступа к LDT других процессов, т о процессы защищены друг от друга, т е не могут осуществлять доступ в чужую память. В то же время таблица GDT в системе только 1 и к ней имеют доступ все процессы. Для того, чтобы обычные пользовательские процессы не могли получить доступ к сегментам ОС в м/п Intel в защищенном режиме используются специальные средства памяти.
|
||||
Последнее изменение этой страницы: 2017-02-06; просмотров: 222; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.221.252 (0.005 с.) |