Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_Drobin_doc.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.87 Mб
Скачать
  1. Сегментное распределение памяти. Таблица сегментов. Преобразование виртуального адреса в физический адрес.

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

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

Таблица сегментов:

  • Базовый физический адрес сегмента в ОП

  • Размер сегмента

  • Правила доступа к сегменту

  • Признаки модификации, присутствия и обращения к данному сегменту и пр.

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

Преобразование виртуального адреса в физический:

  • Номер сегмента и смещение в сегменте (g,s)

  • По номеру сегмента выбирается базовый адрес из таблицы сегментов

  • К нему прибавляется смещение в сегменте, получаем физический адрес.

  1. Страничное распределение памяти. Преобразование виртуального адреса в физический адрес.

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

При таком способе все фрагменты программы, на которые она разбивается (кроме последней части) получаются одинаковыми. Одинаковыми должны быть и единицы памяти, предоставляемые для размещения фрагментов программы. Эти одинаковые части называются страницами:

  • Оперативная память разбивается на физические страницы;

  • программа разбивается на виртуальные страницы.

В пределах страницы непрерывная последовательность виртуальных адресов однозначно отображается в непрерывную последовательность физических адресов. Значит смещения в виртуальных и физических номерах равны.

Преобразование ВА в ФА:

1. Путем отбрасывания k+n младших разрядов в ВА определяется номер раздела, куда входит данный ВА

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

3. Из этой таблицы страниц извлекается дескриптор виртуальной страницы, помер в n средних разрядах преобразуемого ВА. Проверка наличия в ОП и, если надо, загрузка.

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

  1. Сегментно-страничное распределение памяти. Преобразование виртуального адреса в физический адрес.

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

  • Перемещение данных между ОП и диском осуществляется не сегментами, а страницами.

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

Преобразование виртуального адреса в физический при сегментно-страничной организации:

  • исходный виртуальный адрес преобразуется в линейный виртуальный адрес;

  • линейный виртуальный адрес преобразуется в физический адрес

Преобразование ВА в ФА:

I этап. Работает механизм сегментации. Исходный ВА (номер, смещение) преобразуется в линейный ВА. Базовый адрес таблицы сегментов + номер сегмента адрес дескриптора сегмента. Анализ полей дескриптора сегмента – вывод о возможности выполнения заданной операции. Если доступ к сегменту разрешен линейный ВА = базовый адрес сегмента (из дескриптора)+ смещение (из исходного ВА)

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

Еще одна схема:

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

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

Загрузка процесса выполняется ОС постранично, при этом часть станиц размещается в ОП, а часть на диске. Для каждого процесса создается собственная таблица сегментов, а для каждого сегмента - своя таблица страниц. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активизируется процесс. Таблица страниц = дескриптору страниц

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

Преобразование ВА в ФА

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

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

3. К номеру физической страницы пристыковывается младшая часть ВА – смещение.

  1. КЭШ-ПАМЯТЬ. ПРИНЦИП ИСПОЛЬЗОВАНИЯ. ДЕЙСТВИЯ ОС ПО УПРАВЛЕНИЮ КЭШ-ПАМЯТЬЮ.

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

Принцип действия кеш-памяти: • Таблица кешей - Значение элемента данных - Адрес элемента в основной памяти - Информация для реализации алгоритма замещения. Включает признак модификации и признак действительности данных.

Алгоритм запроса к оперативной памяти

  • Просматривается содержимое кэш-памяти с целью определения, не находятся ли нужные данные в кэш-памяти;

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

  • Если нужных данных нет, то они вместе со своим адресом копируются из оперативной памяти в кэш-память, и результат выполнения запроса передается в процессор.

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

Время доступа к кеш-памяти:

  • ОП – t1

  • Кэш – t2

t2 < t1 p – вероятность кэш-попадания

t= t1(1-p)+t2*p = (t2-t1)*p+ t1

T1 при p=0 T2 при p=1

Отображение ОП на кэш:

  • Случайное отображение;

  • Детерминированное отображение;

  • Прямое отображение;

  • Смешанное отображение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]