Сегментностраничная организация памяти
v В операционных системах семейства Windows используется комбинированная сегментностраничная организация памяти.
• При сегментно-страничной организации памяти происходит двухуровневая трансляция виртуального адреса в физический. В этом случае виртуальный адрес состоит из трех полей: номера сегмента виртуальной памяти, номера страницы внутри сегмента и смещения внутри страницы.
q Для преобразования виртуальных адресов в физические применяются две таблицы: таблица сегментов, которая связывает номер сегмента с таблицей страниц и называется также таблицей каталогов страниц, и отдельная таблица страниц для каждого сегмента (рис. 1)
Рис. 1. Формирование физического адреса при сегментно-страничной организации памяти
§ Главная особенность сегментностраничной организации виртуальной памяти заключается в том, что при этом имеется возможность совместно применять одни и те же сегменты данных и программного кода в виртуальной памяти разных процессов.
o Сегментация - схема управления памятью, поддерживающая этот взгляд пользователя. Сегменты содержат процедуры, массивы, стек или скалярные величины, но обычно не содержат информацию смешанного типа.
Ø Каждый сегмент - линейная последовательность адресов от 0 до максимума. Различные сегменты могут иметь различные длины.
ü В элементе таблицы сегментов помимо физического адреса начала сегмента, содержится длина сегмента. Если размер смещения в виртуальном адресе выходит за пределы размера сегмента, возникает прерывание.
v Логический адрес - упорядоченная пара - номер сегмента и смещение внутри сегмента. v Аппаратная поддержка сегментов относительно слабо распространена и характеризуется довольно медленной загрузкой селекторов в сегментные регистры.
Ø В контекст каждого процесса входит набор сегментных регистров, содержащих селекторы текущих сегментов кода, стека, данных и др. и определяющих, какие сегменты будут использоваться при разных видах обращений к памяти.
Презентацию подготовила студентка гр. ПО(Пр)-111 Фаркушатова А. В.