Скачиваний:
123
Добавлен:
04.04.2013
Размер:
774.66 Кб
Скачать

OS-basic 09. Управление виртуальной памятью

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

Основные понятия модуля:

Виртуальная память,

Реальная память,

Пространство виртуальных адресов,

Пространство реальных адресов,

Искусственная смежность,

Двухуровневая память,

Поблочное отображение памяти,

Таблица отображения блоков,

Регистр начального адреса таблицы блоков,

Страничный способ организации памяти,

Виртуальный адрес в страничной системе,

Файл подкачки (страничный файл, swap-файл),

Страничный кадр,

Таблица страниц,

Бит присутствия страницы в ОП,

Сегментная организация памяти,

Виртуальный адрес в сегментной системе,

Таблица сегментов, дескриптор сегмента

Права доступа к сегменту: чтение, запись, выполнение, дополнение,

Системы с комбинированной странично-сегментной организацией,

Виртуальный адрес в системе со странично-сегментной организацией,

Стратегии замещения сегментов (страниц) в памяти: FIFO, LRU, LFU, случайный выбор,

Пробуксовка,

Рабочее множество.

9.1 Виртуальная память. Понятие

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

Физическая память представляет собой упорядоченное множество ячеек, и все они пронумерованы, то есть к каждой из них можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограничено и фиксировано.

Рис. 9.1 Отображения памяти

Системное программное обеспечение должно связать каждое указанное пользо­вателем имя с физической ячейкой памяти, то есть осуществить отображение пространства имен на физическую память компьютера. В общем случае это ото­бражение осуществляется в два этапа (рис. 9.1): сначала системой программи­рования, а затем операционной системой.

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

Термин виртуальная память обычно ассоциируется с возможностью адресовать пространство памяти, гораздо большее, чем емкость первичной (реальной, физической) памяти конкретной вычислительной машины. Впервые она была реализована в вычислительной машине Atlas, созданной в Манчестерском университете в Англии в 1960 г.

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

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

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

Те адреса, на которые делает ссылки выполняющийся процесс, называются виртуальными адресами, а те адреса, которые существуют в первичной памяти, называются реальными (или физическими) адресами (см. рис. 9.1). Диапазон виртуальных адресов, к которым может обращаться выполняющийся процесс, называется пространством виртуальных адресов V этого процесса. Диапазон реальных адресов, существующих в конкретной вычислительной машине, называется пространством реальных адресов R этого компьютера.

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

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

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

Рис. 9.3 Искусственная смежность. Элементы, которые являются смежными в виртуальной памяти, отображаются не обязательно на смежные элементы реальной памяти.

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

Соседние файлы в папке Лекции 9-12rar