Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

Контрольные вопросы

  1. В чем преимущества динамического связывания по сравнению со статическим?

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

  3. Поясните разницу между внутренней и внешней фрагментацией.

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

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

  6. Почему размер страницы выбирается равным степени двойки (1024, 2048 и т.д.)?

  7. Укажите недостаток сегментного распределения памяти.

  1. Управление виртуальной памятью

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

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

Виртуальная память чаще всего реализуется на базе подкачки страниц, что удобно и при страничной и при сегментно-страничной организации памяти. Возможна виртуальная память и на базе сегментов, например в компьютерах фирмы Burroughs или IBM OS/2.

    1. Подкачка страниц

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

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

Для учета распределения страниц между внешней и основной памятью каждая строка таблицы страниц дополняется признаком местонахождения страницы (битом принадлежности, valid-invalid bit).

Опишем последовательность действий при переносе страниц в ОП.

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

  • Если процесса в памяти нет (значение бита принадлежности равно false), то возникает страничный отказ (page fault) – прерывание по отсутствию страниц в памяти. Управление передается операционной системе.

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

  • После завершения загрузки страницы редактируется соответствующая строка таблицы страниц (базовый адрес и бит принадлежности).

  • Управление возвращается прерванному процессу.

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