Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

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

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

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

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

· страничной организации по требованию (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-03-17; Просмотров: 1094; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь