Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

3.3. Организация виртуальной памяти

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

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

3.3.1. Основные концепции виртуальной памяти

Физическая (также «абсолютная», «оперативная», «реальная») память ЭВМ - это фиксированное число упорядоченных ячеек, обращение к каждой из которых осуществляется с помощью уникального числа фиксированной длины - адреса ячейки. Набор используемых физических ячеек постоянен, даже заранее определен и составляет то, что называется физической памятью ЭВМ. Другим обычно используемым термином является «абсолютное адресное пространство». Диапазон реальных адресов, существующих в конкретной вычислительной машине, называется пространством реальных адресов R этого компьютера.

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

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

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

Рис. 3.9. Отображение элементов виртуального адресного

пространства на реальное адресное пространство

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

Рис. 3.10. Искусственная смежность