109.87K
Категория: ИнформатикаИнформатика

Управление реальной и виртуальной памятью. Основные понятия. Схема динамического преобразования адресов. (Лекция 12)

1.

Лекция 12. Управление реальной
памятью. Основные понятия. Виды
организации оперативной памяти.
Управление виртуальной памятью.
Основные понятия. Концепция
виртуальной памяти. Способы
организации. Схема динамического
преобразования адресов.

2.

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

3.

Организация памяти
Под организацией памяти мы понимаем то, каким образом
представляется и используется основная память. Независимо от
того, какую схему организации памяти мы примем для конкретной
системы, необходимо решить, какие стратегии следует применять
для достижения оптимальных характеристик. Стратегии
управления памятью определяют, каким образом будет работать
память конкретной организации при различных подходах к
решению следующих вопросов: когда мы должны помещать
новую программу в память? Будем ли мы помещать ее, когда
система специально попросит об этом, либо будем пытаться
предупреждать запросы системы? Существуют системы,
ориентированные на использование каждой из этих стратегий
управления памятью.

4.

Стратегии размещения информации в памяти.
Те или иные стратегии размещения информации в памяти применяются для того, чтобы
определить, в какое место основной памяти следует помещать поступающие программы
и данные.
Стратегия наиболее подходящего. Поступающее задание помещается в тот свободный
участок основной памяти, в котором ему наиболее "тесно", так что остается
минимально возможное неиспользуемое пространство. Для многих людей выбор
наиболее подходящего кажется интуитивно самой рациональной стратегией.
Стратегия первого подходящего. Поступающее задание помещается в первый
встретившийся свободный участок основной памяти достаточного размера. Выбор
первого подходящего по размеру свободного участка также кажется интуитивно
рациональным, поскольку он позволяет быстро принять решение о размещении задания.
Стратегия наименее подходящего. На первый взгляд подобный подход кажется весьма
странным. Однако более тщательное рассмотрение показывает, что выбор наименее
подходящего по размеру также имеет сильные интуитивные аргументы в свою пользу.
Этот принцип говорит о том, что при помещении программы в основную память нужно
занимать свободный участок, имеющий наиболее далекий размер, т. е. максимальный
возможный свободный участок. Интуитивный аргумент в пользу такого подхода
достаточно прост: после помещения программы в большой свободный участок
остающийся свободный участок зачастую также оказывается большим и, таким
образом, в нем можно разместить относительно большую новую программу.

5.

Исторически сложилось так, что методы организации и управления основной памятью
компьютера в существенной степени определяли развитие операционных систем.
Организация памяти - это способ представления и использования основной памяти.
Цель стратегий управления памятью заключается в том, чтобы обеспечить наиболее
эффективное использование такого дорогостоящего ресурса, каким является основная
память, и при этом достигнуть наивысших возможных скоростных характеристик
машины.
Память должна быть:
1). Достаточно большой
2). Чрезвычайно быстрой
3). Очень дешёвой
1) Регистры ЦП - При доступе к регистру задержки не происходят, программы могут
сами управлять регистрами(Сами решают что в них хранить без вмешательства
аппаратуры). Регистры микропроцессора делятся на регистры общего назначения и
специальные. Специальные регистры применяются для хранения различных адресов
(адреса команды, например), признаков результатов выполнения операций и режимов
работы ПК (регистр флагов, например) и др. Регистры общего назначения являются
универсальными и могут использоваться для хранения любой информации, но некоторые
из них тоже должны быть обязательно задействованы при выполнении ряда процедур.
2) КЭШ - Контролируемая оборудованием, ограниченная в размерах => Высокая

6.

3) ОЗУ - десятки-сотни мегабайт, все запросы ЦП которые не могут быть выполнимы
КЭШ памятью, поступают для обработки в основную память. Оперативное
запоминающее устройство предназначено для хранения информации (программ и
данных), непосредственно участвующей в вычислительном процессе на текущем этапе
функционирования ПК. ОЗУ - энергозависимая память: при отключении напряжения
питания информация, хранящаяся в ней, теряется. Основу ОЗУ составляют большие
интегральные схемы, содержащие матрицы полупроводниковых запоминающих
элементов (триггеров). Запоминающие элементы расположены на пересечении
вертикальных и горизонтальных шин матрицы; запись и считывание информации
осуществляются подачей электрических импульсов по тем шинам матрицы, которые
соединены с элементами, принадлежащими выбранной ячейке памяти.
4) Жесткий диск - дисковая память на два порядка дешевле и по сравнению с ОЗУ на два
порядка больше по емкость. Но у диска есть только одна проблема: случайный доступ к
данным на нём занимает примерно на три порядка больше времени. Причиной низкой
скорости жесткого диска является тот факт, что диск представляет собой механическую
конструкцию.
5) Для создания резервных копий пространства Ж.Д. или хранения больших наборов
данных.

7.

Организация виртуальной памяти.
Принцип: программа пишется в адресах виртуальной памяти, а исполняется в адресах реальной
памяти. Преимущества такой организации:
1) программисту нет необходимости знать реальное количество памяти и её распределение по
адресам, в том числе физической памяти может быть меньше чем необходимо.
2) независимость программы от аппаратуры.Впервые появилась в 1980-м году в Манчестерском
университете на ЭВМ Atlas. Виртуальное адресное пространство обозначим , а реальное адресное
пространство – . При этом может выполняться следующая зависимость . Виртуальное адресное
пространство, как правило, ограничено разрядностью шины адреса процессора.
Отделение виртуальных адресов от реальных и перегрузка неиспользуемых программ.
Привязка программ:
Трансляция адресов: DAT – динамическая адресная трансляция, выполняется аппаратно
(аппаратура процессора содержит специализированную схему). Необходимо хранить соответствие
адреса и адреса . Если пытаться отображать каждый байт, то это вызовет слишком большой размер
таблицы, значит необходимо размещение по блокам (его начальный адрес и его размер).
Страничная организация памяти.
Идея: все пространство памяти разбивается на равные части (страницы), обычно размер страницы
4-8 КБ. Он выбирается кратным размеру сектора магнитного диска. Виртуальные и физические
адресные пространства также разбиваются на блоки размером в страницу.
Блок основной памяти, равный странице, называют страничным кадром или фреймом. Страницам
виртуальной и физической памяти присваивают номера.
При обращении процессора к какой-либо ячейке памяти процессор выставляет адрес, который
состоит из номера виртуальной страницы и смещения относительно начала страницы. Этот
виртуальный адрес поступает в схему преобразования адресов с целью преобразования данного
адреса в физический, причем преобразованию подвергается только номер виртуальной страницы,
так как смещения для ВП и ОП одинаковые.

8.

Если преобразователь адресов обнаруживает, что страница с необходимым
номером отсутствует в ОП, то формируется сигнал страничного сбоя
(Page Fault) (аппаратное прерывание процессором самого себя, exception) и
требуемая страница загружается диспетчером памяти из внешней памяти в
основную.
Преобразователь адресов – часть ОС, транслирующая виртуальный адрес в
физический (реальный). Преобразование адреса из виртуального в
физический осуществляется с помощью страничной таблицы. Обычно она
содержит:
Признаки
Номер виртуальной
страницы
Номер физической
страницы
V M R A

9.

Страничная таблица определяет какие виртуальные страницы загружены в ОП и
в каких физических страницах данные виртуальные страницы находятся.
Все виртуальное пространство может быть описано с помощью 2-х таблиц:
1) страничная таблица (описана ранее).
2) карта диска:
Номер виртуальной страницы
Сектор
Дорожка
Число записей в данных таблицах соответствует числу
виртуальных страниц.
Где ТОС – таблица отображения страниц;
р – номер виртуальной страницы;
d – смещение;
p’ – номер реальной страницы.
Для отображения необходимо найти соответствие

10.

Признаки страничной таблицы:
1) V – признак присутствия, определяет загружена ли страница в основой
памяти или нет (1 –данная виртуальная страница находится в ОП; в этом
случае в поле номера физической страницы находится номер страницы ОП;
0 – виртуальная страница отсутствует в основной памяти, генерируется сигнал
страничного сбоя (PF), по нему происходит замена, т.е. данная виртуальная
страница загружается в ОП через карту диска) и далее V = 1.
2) R – признак использования страницы, устанавливается при обращении к
данной странице, информация эта используется при замещении страницы в
основной памяти;
по данному признаку анализируется, какую страницу выпускать из ОП, если
нужно записать другую страницу (см. КЭШ).
3) M – признак модификации (“грязная страница”), данное поле работает, как
в КЭШ памяти, определяет была ли изменена страница в процессе работы.
0 – страница не изменялись;
1 – страница изменялись.
Если 1 (страница ВП изменялись), то выполняется перезапись данных во
внешнюю память. Иначе – сохранять не надо, ее копия уже лежит на диске

11.

4) A – признак прав доступа, данный признак используется с
целью защиты информации и определяет, какой вид доступа разрешен в этой таблице
(например, 0 – read/write, 1 – read only).
Кроме того в страничной таблице содержатся и другие признаки (для защиты):
5) U/S пользователь/супервизор. Определяет уровень привилегий страницы.
Используется для защиты системных страниц (вариант Intel – номер кольца защиты
ring 0-3).
6) R/W/Х чтение/запись/исполнение. Атрибуты страницы (ограничивает доступ).
Достоинства:
а) не нужно хранить размер блока.
б) в таблице указывается не начальный адрес, а номер блока виртуальной памяти.
в) аналогично для файла подкачки.
г) не надо проверять влезет ли блок в свободное пространство.
Недостатки: при страничной организации памяти вся ВП рассматривается как
непрерывное линейное пространство, ОДНАКО специфика некоторых программ
требует, чтобы реализация была другой.
Поэтому возникла сегментная организация.
Для того, чтобы сократить число обращений к ТОС в процессор вводят специальный
кэш страниц (ассоциативная таблица, признак ассоциативного поиска – номер
виртуальной страницы).

12.

Отдельной проблемой при разработке системы со страничной или сегментной
адресацией является выбор размера страницы. Этот размер определяется шириной
соответствующего битового поля адреса и поэтому должен быть степенью двойки.
С одной стороны, страницы не должны быть слишком большими, так как это может
привести к неэффективному использованию памяти и перекачке слишком больших
объемов данных при сбросе страниц на диск. С другой стороны, страницы не должны
быть слишком маленькими, так как это приведет к чрезмерному увеличению таблиц
трансляции, требуемого объема КЭШа дескрипторов и т.д. Что будет считаться
«слишком» большим или, наоборот, маленьким, в действительности зависит от
среднего количества памяти, используемого программой.
В реальных системах размер страницы меняется от 512 байт у машин семейства VAX
до нескольких килобайт. Например, i3/486 имеет страницу размером 4 К. У процессора
i860 размер страницы переключается между 4 К и 4 Мбайтами.
Суть концепции виртуальной памяти заключается в следующем. Информация, с
которой работает активный процесс, должна располагаться в оперативной памяти. В
схемах виртуальной памяти у процесса создается иллюзия того, что вся необходимая
ему информация имеется в основной памяти. Для этого, во-первых, занимаемая
процессом память разбивается на несколько частей, например страниц. Во-вторых,
логический адрес (логическая страница), к которому обращается процесс, динамически
транслируется в физический адрес (физическую страницу). И, наконец, в тех случаях,
когда страница, к которой обращается процесс, не находится в физической памяти,
нужно организовать ее подкачку с диска. Для контроля наличия страницы в памяти
вводится специальный бит присутствия, входящий в состав атрибутов страницы
в таблице страниц .

13.

Возможность выполнения программы, находящейся в памяти лишь
частично, имеет ряд вполне очевидных преимуществ.
•Программа не ограничена объемом физической памяти. Упрощается
разработка программ, поскольку можно задействовать большие виртуальные
пространства, не заботясь о размере используемой памяти.
•Поскольку появляется возможность частичного помещения программы
(процесса) в память и гибкого перераспределения памяти между
программами, можно разместить в памяти больше программ, что
увеличивает загрузку процессора и пропускную способность системы.
•Объем ввода-вывода для выгрузки части программы на диск может быть
меньше, чем в варианте классического свопинга, в итоге каждая программа
будет работать быстрее.
Таким образом, возможность обеспечения (при поддержке операционной
системы) для программы "видимости" практически неограниченной
(характерный размер для 32-разрядных архитектур 2 32 = 4 Гбайт)
адресуемой пользовательской памяти (логическоеадресное пространство)
при наличии основной памяти существенно меньших размеров
(физическое адресное пространство) – очень важный аспект.
English     Русский Правила