Слайд 1
Лекция 12. Управление реальной памятью. Основные понятия. Виды организации оперативной памяти.
Управление виртуальной памятью. Основные понятия. Концепция виртуальной памяти. Способы организации. Схема динамического преобразования адресов.
Слайд 63) ОЗУ - десятки-сотни мегабайт, все запросы ЦП которые не могут
быть выполнимы КЭШ памятью, поступают для обработки в основную память. Оперативное запоминающее устройство предназначено для хранения информации (программ и данных), непосредственно участвующей в вычислительном процессе на текущем этапе функционирования ПК. ОЗУ - энергозависимая память: при отключении напряжения питания информация, хранящаяся в ней, теряется. Основу ОЗУ составляют большие интегральные схемы, содержащие матрицы полупроводниковых запоминающих элементов (триггеров). Запоминающие элементы расположены на пересечении вертикальных и горизонтальных шин матрицы; запись и считывание информации осуществляются подачей электрических импульсов по тем шинам матрицы, которые соединены с элементами, принадлежащими выбранной ячейке памяти.
4) Жесткий диск - дисковая память на два порядка дешевле и по сравнению с ОЗУ на два порядка больше по емкость. Но у диска есть только одна проблема: случайный доступ к данным на нём занимает примерно на три порядка больше времени. Причиной низкой скорости жесткого диска является тот факт, что диск представляет собой механическую конструкцию.
5) Для создания резервных копий пространства Ж.Д. или хранения больших наборов данных.
Слайд 7Организация виртуальной памяти.
Принцип: программа пишется в адресах виртуальной памяти, а исполняется
в адресах реальной памяти. Преимущества такой организации:
1) программисту нет необходимости знать реальное количество памяти и её распределение по адресам, в том числе физической памяти может быть меньше чем необходимо.
2) независимость программы от аппаратуры.Впервые появилась в 1980-м году в Манчестерском университете на ЭВМ Atlas. Виртуальное адресное пространство обозначим , а реальное адресное пространство – . При этом может выполняться следующая зависимость . Виртуальное адресное пространство, как правило, ограничено разрядностью шины адреса процессора.
Отделение виртуальных адресов от реальных и перегрузка неиспользуемых программ.
Привязка программ:
Трансляция адресов: DAT – динамическая адресная трансляция, выполняется аппаратно (аппаратура процессора содержит специализированную схему). Необходимо хранить соответствие адреса и адреса . Если пытаться отображать каждый байт, то это вызовет слишком большой размер таблицы, значит необходимо размещение по блокам (его начальный адрес и его размер).
Страничная организация памяти.
Идея: все пространство памяти разбивается на равные части (страницы), обычно размер страницы 4-8 КБ. Он выбирается кратным размеру сектора магнитного диска. Виртуальные и физические адресные пространства также разбиваются на блоки размером в страницу.
Блок основной памяти, равный странице, называют страничным кадром или фреймом. Страницам виртуальной и физической памяти присваивают номера.
При обращении процессора к какой-либо ячейке памяти процессор выставляет адрес, который состоит из номера виртуальной страницы и смещения относительно начала страницы. Этот виртуальный адрес поступает в схему преобразования адресов с целью преобразования данного адреса в физический, причем преобразованию подвергается только номер виртуальной страницы, так как смещения для ВП и ОП одинаковые.
Слайд 8Если преобразователь адресов обнаруживает, что страница с необходимым номером отсутствует в
ОП, то формируется сигнал страничного сбоя (Page Fault) (аппаратное прерывание процессором самого себя, exception) и требуемая страница загружается диспетчером памяти из внешней памяти в основную.
Преобразователь адресов – часть ОС, транслирующая виртуальный адрес в физический (реальный). Преобразование адреса из виртуального в физический осуществляется с помощью страничной таблицы. Обычно она содержит:
Слайд 9Страничная таблица определяет какие виртуальные страницы загружены в ОП и в
каких физических страницах данные виртуальные страницы находятся.
Все виртуальное пространство может быть описано с помощью 2-х таблиц:
1) страничная таблица (описана ранее).
2) карта диска:
Число записей в данных таблицах соответствует числу виртуальных страниц.
Где ТОС – таблица отображения страниц;
р – номер виртуальной страницы;
d – смещение;
p’ – номер реальной страницы.
Для отображения необходимо найти соответствие
Слайд 10Признаки страничной таблицы:
1) V – признак присутствия, определяет загружена ли страница в основой
памяти или нет (1 –данная виртуальная страница находится в ОП; в этом случае в поле номера физической страницы находится номер страницы ОП;
0 – виртуальная страница отсутствует в основной памяти, генерируется сигнал страничного сбоя (PF), по нему происходит замена, т.е. данная виртуальная страница загружается в ОП через карту диска) и далее V = 1.
2) R – признак использования страницы, устанавливается при обращении к данной странице, информация эта используется при замещении страницы в основной памяти;
по данному признаку анализируется, какую страницу выпускать из ОП, если нужно записать другую страницу (см. КЭШ).
3) M – признак модификации (“грязная страница”), данное поле работает, как в КЭШ памяти, определяет была ли изменена страница в процессе работы.
0 – страница не изменялись;
1 – страница изменялись.
Если 1 (страница ВП изменялись), то выполняется перезапись данных во внешнюю память. Иначе – сохранять не надо, ее копия уже лежит на диске
Слайд 114) 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-разрядных архитектур 232 = 4 Гбайт) адресуемой пользовательской памяти (логическоеадресное пространство) при наличии основной памяти существенно меньших размеров (физическое адресное пространство) – очень важный аспект.