Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

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



Мы поможем в написании ваших работ!




Сегментно-страничное распределение памяти

Читайте также:
  1. II. РАСПРЕДЕЛЕНИЕ ЛЕКАРСТВЕННЫХ СРЕДСТВ В ОРГАНИЗМЕ. БИОЛОГИЧЕСКИЕ БАРЬЕРЫ. ДЕПОНИРОВАНИЕ
  2. IV. Распределение часов курса по темам и видам работ
  3. Алгоритм описания многолетней динамики заболеваемости (распределение годовых показателей заболеваемости)
  4. Биномиальное распределение
  5. Биномиальное распределение
  6. Биномиальное распределение дискретной случайной величины. Распределение Пуассона.
  7. Виртуализация оперативной памяти. Свопинг и виртуальная память.
  8. Деятельностный подход к пониманию памяти.
  9. Для чего нужно распределение, близкое к нормальному?
  10. Доходы и их распределение.

Представляет собой комбинацию сегментного и страничного распределений, и совмещает достоинства обоих подходов. Как и при чисто сегментном распределении, ВАП процесса делится на неравные части, называемые сегментами, или в некоторых реализациях – разделами. Это позволяет устанавливать различные права доступа к программным частям процесса и областям его данных.

Каждый виртуальный сегмент, или все ВАП, и физическая память делятся на страницы, что позволяет эффективнее использовать память и до минимума сократить потери от фрагментации.

Перемещение данных между ОП и внешней памятью осуществляется в этом случае страницами.

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

В одном из них, который чаще используется на практике, ВАП делится на сегменты, а все ВАП и ФП – на страницы. Начальные адреса каждого сегмента Vs каждого сегмента задаются с помощью таблицы сегментов для каждого процесса.

Каждый сегмент описывается с помощью своего дескриптора, который включает параметры, аналогичные тем, которые используются в дескрипторах сегментов при обычной сегментной организации. Вместе с тем имеется отличие в содержании дескриптора. В поле базового адреса дескриптора указывается не начальный ФА сегмента, а начальный линейный ВА (ЛВА) в ВАП процесса.

Эта информация позволяет однозначно преобразовать ВА (S, ds) в ЛВА Av = (P, dv) элемента информации, который затем преобразуется в ФА методами страничного преобразования.

Размер страницы, на которые делятся сегменты, выбирается равным 2k, что упрощает преобразование ЛВА в ФА.

Виртуальные страницы нумеруются в пределах всего ВАП процесса, а физические – в пределах ФАП.

При создании процесса в ОП загружается только часть страниц, необходимых в текущий момент. Остальные, по мере необходимости, подгружаются в внешней памяти. Кроме того, система периодически выгружает временно ненужные страницы в ФВП и замещает их новыми страницами из этого же файла. Тем самым реализуется подход к управлению памятью, который называется режимом виртуальной памяти.

Для каждого процесса, помимо таблицы сегментов, создается таблица страниц, в которой указывается соответствие виртуальных страниц физическим. Если таблицы сегментов и страниц хранятся непосредственно в ОП, то их базовые адреса загружаются в специальные регистры процессора, и используются в ходе преобразования ВА в ФА. Эти же адреса являются частью контекста процесса, и при смене активного процесса сохраняются в системных таблицах.

Схема показывает отображение ВА в ФА прямым способом. Преобразование осуществляется в два этапа.

На первом этапе выполняется сегментное преобразование ВА (S, ds) в ЛВА. Для этого, на основании начального адреса B0 таблицы сегментов и номера виртуального сегмента S вычисляется адрес (B0 + S) дескриптора таблицы сегментов. Дескриптор читается, осуществляется анализ его полей. В результате проверяется возможность обращения к сегменту. Если доступ к сегменту разрешен, то из дескриптора извлекается базовый адрес Vs сегмента в ВАП, который складывается со смещением ds элемента информации из ВА. В результате формируется ЛВА элемента информации.

На втором этапе осуществляется страничное преобразование. Полученный ЛВА преобразуется в ФА ОП. При этом, ЛВА представляется в том виде, в каком он используется при страничном распределении, а именно в виде сочетания номера страницы P и смещения на странице dp. В ходе страничного преобразования номер страницы P складывается с базовым адресом Bs таблицы страниц, и по полученному адресу из ОП считывается дескриптор страницы с номером P. В дескрипторе хранится базовый адрес Bp данной страницы в ФП. Для получения ФА элемента информации к этому адресу с помощью конкатенации добавляется смещение на странице dp.

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

В одном из этих вариантов сегментно-страничное преобразование включает следующие операции:

· Вначале всё ВАП делится на страницы.

· Затем в этом пространстве выделяются участки, называемые разделами. Информация о разделах хранится в создаваемой ОС таблице разделов.

· С использованием этой таблицы и информации из ВА вычисляется ЛВА элемента информации. В нем выделяется три поля:

1. Номер раздела.

2. Номер виртуальной страницы в разделе.

3. Смещение на странице.

· Далее, по номеру раздела из таблицы разделов находится адрес таблицы страниц, создаваемой ОС.

· По номеру виртуальной страницы из таблицы страниц определяется базовый физический адрес страницы в ОП.

· Для получения ФА элемента информации к нему добавляется смещение на странице.

Такой способ преобразования используется для всех процессоров модели Intel, работающих в защищенном режиме.

Во всех случаях, если преобразование осуществляется прямым отображением, с использованием полного набора таблиц сегментов и страниц, хранящихся в ОП, то одно обращение к памяти по ВА в процессе требует выполнения трех циклов ОП:

1. Для доступа к таблице сегментов.

2. Для доступа к таблице страниц.

3. Для доступа по адресу физического элемента.

Это означает, что реальное быстродействие процессора будет составлять ~1/3 от номинального значения. Поэтому при сегментно-страничном преобразовании используются различные способы уменьшения времени преобразования адресов. Они сводятся к использованию ассоциативной памяти, кэш-памяти, а также к применению комбинированного ассоциативно-прямого отображения.

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

Обращение к этой памяти осуществляется с использованием номера сегмента и номера страницы.

Применение дополнительной быстродействующей памяти относительно небольшого объема позволяет достигнуть скорости преобразования ~90% от максимальной скорости, которая могла бы быть получена при условии, что таблицы сегментов и страниц целиком хранятся в быстродействующей памяти.


<== предыдущая страница | следующая страница ==>
Управление доступом в системах с сегментной организацией памяти | Реализация режима виртуальной памяти. Стратегии замещения страниц

Дата добавления: 2014-10-10; просмотров: 735; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.