Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Основные принципы управления памятью на уровне сигментов




10.09.2014

Подсистемы управления памятью

Одна из основных подсистем. В современных ОС различают управление памятью на уровне сигментов и страниц, подсистема управлению памятью на уровне страниц или сигментов.

Сигмент - это непрерывный фрагмент памяти, характеризующийся базовым адресом и изменяемыми размерами.

Между сегментами может находиться неиспользуемое адрессное пространство или сигменты могут перекрываться.

В отличие от сигмента размер страницы фиксированый. Перекрытие страниц и использование межстраничного пространства не возможно.

Управление памятью на уровне сигментов реализуется на уровне пользователей. Управление памятью на уровне страниц реализуется в ядре ОС.

Основные принципы управления памятью на уровне сигментов

Каждый из сосуществующих сигментов имеет свой описатель (дискриптор). В наиболее общем виде дискриптор сегмента имеет следующий вид:

       
   
Информативный бит

 

 


Размер сигмента отражает его текущий размер. Базовый адрес варьируется. Информационный бит описывают тип сигмента и допустимые над ним операции.

 

Р - бит присутствия, указывает на наличие сигмента в оперативной памяти.

DPL - уровень определения дискриптора, определяют привелегированость содержимого сигмента соотнося его с одним из 4 колец защиты ОС. Чем меньше его значение, тем более привелегированным является содержимое сигмента.

 

В некоторых ОС существуют только 0 кольцо и 3.

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

R - определяет возможность или невозможность считывания определенного сигмента.

ED - признак стекового сигмента. Для таких сигментов смещение меньше, чем его бызовый адрес, а для обычных сигментов - больше.

 

W - записываемость сигментов.

А - признак обращения к сигменту.

Дискрипторы всех сигментов находяться в ОП не произвольно, а собираются в так называемые дискрипторные таблицы. Существует 2 типа таких таблиц: глобальная дискрипторная таблица (GDT), локальные дискрипторные таблицы (LDT).

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

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

 

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

Преобразование логического адреса (ЛА) в физический адрес (ФА) с использованием GDT реализуется следующим образом.

 

Логический адрес представляет собой базовый адрес сигмента и смещение в нем.

Базовый адрес выделяют 3 поля: поле индекса, определяющее порядковый номер дискриптора сигментов GDT. Индикаторы таблицы (TI). Запрашиваемый уровень привелегий.

В процесе преобразования адреса RPL участия не принимает. Как и любой объект управления в виртуальной памяти сигментированного типа GDT тоже помещается сигмент. Базовый адрес такого сигмента и текущий размер помещается в специализированный регистр процесора (GDTR).

Основные этапы преобразования ЛА в ФА следующий: Из базового адреса ЛА выделяется индексное поле, умножается на размер дискриптора сигмента в байтах и прибавляется к базовому адресу GDT. Если полученное таким образом значение не превышает текущий размер GDT, то из проиндексированного дискриптора выделяется базовый адрес и к нему прибавляется смещение. В результате этого сложения получается ФА. В противном случае, генерируется особый случай выхода за пределы GDT.

 

17.09.2014

Индексирование LDT сложнее. Сложность объясняется тем, что таких таблиц может быть несколько. Основные этапы обращения к LDT практически такие же, как и при обращении к GDT.

 

Процесс преобразования логического адреса в физический с использованием LDT заключается в последовательной реализации следующих основных этапов: из регистра LDTR, содержащего индекс дискриптора сигмента с LDT выделяется считывается текущее значение, умножается на размер дискриптора сигмента в байтах и прибавляется к базовому адресу GDT; если полученное таким образом значение превышает размер GDT, то фиксируется особый случай. В противном случае из GDT выделяется считывается дискриптор сегмента, содержащего LDT. Содержимое этого дискриптора является аналогом содержимого регистра GDTR. Из этого дискриптора выделяется базовый адрес и к нему прибавляется индексное поле с селектора логического адреса, умноженного на размер дискриптора сигмента в байтах. Если полученное значение превышает размеры LDT, то фиксируется особый случай. В противном случае из LDT считывается дискриптор сигмента, из него выделяется его базовый адрес и к нему прибывляется внутрисигментное смещение, представляющее собой вторую составляющую логического адреса. Полученное значение представляет собой физический адрес.

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

 

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 614 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

3099 - | 2687 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.