Мотивировка концепции виртуальной памяти 


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



ЗНАЕТЕ ЛИ ВЫ?

Мотивировка концепции виртуальной памяти



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

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

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

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

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

· страничной организации по требованию (paging on demand);

· сегментной организации по требованию (segmentation on demand).

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

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

Рис.1. Виртуальная память и физическая память.

 

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

Страничная организация по требованию

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

Преимущества данного подхода:

· Меньший объем ввода-вывода: В память подкачивается только минимально необходимый объем данных (например, одна страница большого массива, а не весь многостраничный массив);

· Меньший объем памяти: При данном способе расходуется минимально необходимый объем физической памяти;

· Более быстрая реакция системы: Поскольку объем пересылаемых данных меньше, система в среднем быстрее реагирует на каждый запрос к памяти;

· Система может обслуживать большее число пользователей: Ввиду экономии физической памяти и времени обращения, система в состоянии при данном подходе обслуживать большее число пользовательских процессов.

Основные принципы страничной организации по требованию:

1. Если страница требуется программе, на нее имеется ссылка из программы.

2. Если ссылка на страницу неверна (например, страницы с данным номером не существует), происходит прерывание.

3. Если требуемая страница отсутствует в памяти, то она подкачивается в память. Механизм подкачки реализуется через прерывание (page fault – отказ страницы).

Рис.2 иллюстрирует размещение виртуальной памяти на диске и ее откачку и подкачку.

Рис.2. Преобразование страничной памяти в непрерывное дисковое пространство.

 

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

С каждым элементом таблицы страниц связывается бит "valid/invalid",однако, в отличие от организации логической памяти, он играет несколько иную роль – он указывает на присутствие или отсутствие страницы в основной памяти. Значение бита равно 1, если страница в памяти, и 0, если страница отсутствует в памяти.

Первоначально для всех элементов таблицы страниц бит valid / invalid полагается равным 0.

Если в процессе трансляции адреса бит " valid / invalid " в таблице страниц оказыется равным 0, то происходит прерывание по отсутствию страницы в памяти (page fault).

На рис.3 приведен пример таблицы страниц, в которой не все страницы присутствуют в основной памяти.

Рис.3. Пример таблицы страниц, в которой не все страницы в памяти.

 

На схеме логическия память процесса состоит из 6 страниц с номерами от 0 до 5. Однако только страницы 0, 2, 5 размещены в основной памяти (бит valid / invalid имеет значение v = 1). Страницы 1, 3, 4 в основной памяти отсутствуют (бит valid / invalid равен i = 0).



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.33.107 (0.005 с.)