Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Сегментно-страничное распределение памятиПредставляет собой комбинацию сегментного и страничного распределений, и совмещает достоинства обоих подходов. Как и при чисто сегментном распределении, ВАП процесса делится на неравные части, называемые сегментами, или в некоторых реализациях – разделами. Это позволяет устанавливать различные права доступа к программным частям процесса и областям его данных. Каждый виртуальный сегмент, или все ВАП, и физическая память делятся на страницы, что позволяет эффективнее использовать память и до минимума сократить потери от фрагментации. Перемещение данных между ОП и внешней памятью осуществляется в этом случае страницами. Существует несколько разновидностей сегментно-страничного распределения, которые отличаются, в основном, способом структурирования ВАП процесса. В одном из них, который чаще используется на практике, ВАП делится на сегменты, а все ВАП и ФП – на страницы. Начальные адреса каждого сегмента 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; Нарушение авторских прав Мы поможем в написании ваших работ! |