Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 285; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.11 (0.006 с.) |