Запоминающие устройства ЭВМ, страница 24

Идея виртуальной памяти – сокрытие существенной ограниченности физической емкости основной (оперативной) памяти. Конечно же, полностью скрыть этот факт просто невозможно: выдает время обращения, но с точки зрения принципа (способа) обращения иллюзия будет полной: сквозная произвольная адресация данных.

У виртуальной памяти есть и еще одно преимущество: аппаратная поддержка мобильности и взаимозаменяемости программ.

Рис. 1.5.1.

Реально существующая память в ОЗУ – физическая (у нее физические адреса). Остальная память рассматривается как логическая или виртуальная (у нее виртуальные или логические адреса). Соответствие между физическими адресами устанавливается совместно аппаратными и программными средствами ЭВМ. Устройства (системы устройств) реализующие концепцию виртуальной памяти в последнее время совмещают много функций (управление адресами, сегментация адресного пространства, защита и т.д.)

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

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

В обоих случаях адресное пространство оказывается как бы двумерным.

Одно измерение – адрес страницы или сегмента; другое  –  адрес операнда внутри страницы или сегмента.

Чаще применяется страничная организация, но у сегментной организации есть свои преимущества, а именно:

–  специальными усилиями может быть достигнута оптимизация загрузки основной памяти.

–  возможность коллективного использования сегментированной информации (при организации соответствующих механизмов доступа и защиты).

Допустимо совместное использование сегментации и страничной организации: сегменты дополнительно разбиваются на страницы.

<77>

Конспективно важные моменты (потребуются пояснения):

–  Мультиплексное виртуальное пространство возникает при параллельной обработке задач;

вариант а): разделение виртуального пространства

вариант б): свое виртуальное пространство для каждой задачи, как следствие мультиплексная виртуальная память.

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

–  Управление виртуальной адресацией – механизм динамического преобразования адресов идентичен использованию принципов ассоциативной кэш-памяти. Дисциплины замены страниц: FIFO, LRU и WS  («рабочее множество», выбрасываются те, к которым в течение определенного времени не было обращений).

–  Самостоятельная задача -  распределение основной памяти (между задачами, процессами).

Виртуализация вычислительной системы – распространение концепции  на всю структуру ЭВМ.

<78>

1.6.  Логическое распределение оперативной памяти в персональных компьютерах (Intel/PC).

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

Логическое распределение оперативной памяти (рис. 1.6.0.1) определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых компьютеров. Знание строения RAM необходимо для программной оптимизации системы. Оптимизация системы не всегда пропорциональна денежным вложениям в новейшие быстродействующие программные продукты. Используя простые уловки и хитрости, можно повысить производительность PC внутрисистемными методами.