Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Операц среды Уманский 2011.docx
Скачиваний:
38
Добавлен:
24.09.2019
Размер:
66.74 Кб
Скачать
  1. В чем суть страничной организации виртуальной памяти?

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

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

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

Оперативная память компьютера также делится на страницы, называемые физическими. Их размер, как правило, совпадает с размерами виртуальной страницы. Размер страницы всегда выбирается кратным степени двойки (1024, 2048, 4096,…).

При создании процессов ОС загружает в ОП несколько его виртуальных страниц – начальные страницы кодового сегмента и сегмент исходных данных.

Копия всего виртуального пространства находится на диске.

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

  1. В чем суть сегментной организации виртуальной памяти?

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

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

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

Чтобы определить адрес такой памяти программы используют адрес, состоящий из двух частей – номера сегмента и адреса внутри сегмента. Максимальный размер сегмента определяется разрядностью виртуального адреса (для 32-х разрядного Pentium’а 2^32≈4Гб).

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

  1. В чем суть сегментно-страничной организации виртуальной памяти?

Сегментно-страничная виртуальная память – использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а сегменты на страницы. Единицей перемещения является страница.

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

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

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

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

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