Идея виртуальной памяти – сокрытие существенной ограниченности физической емкости основной (оперативной) памяти. Конечно же, полностью скрыть этот факт просто невозможно: выдает время обращения, но с точки зрения принципа (способа) обращения иллюзия будет полной: сквозная произвольная адресация данных.
У виртуальной памяти есть и еще одно преимущество: аппаратная поддержка мобильности и взаимозаменяемости программ.
Рис. 1.5.1.
Реально существующая память в ОЗУ – физическая (у нее физические адреса). Остальная память рассматривается как логическая или виртуальная (у нее виртуальные или логические адреса). Соответствие между физическими адресами устанавливается совместно аппаратными и программными средствами ЭВМ. Устройства (системы устройств) реализующие концепцию виртуальной памяти в последнее время совмещают много функций (управление адресами, сегментация адресного пространства, защита и т.д.)
Принципиально: все используемое адресное пространство должно быть разделено на части, а части могут располагаться в разных ЗУ и, далее, должен быть организован постоянный обмен между основной и внешней памятью.
Адресное пространство может быть разбито на страницы и сегменты. Страницы: деление на части фиксированной длины вне зависимости от содержания информации. Сегменты: деление по логическим признакам, задаваемым программистом, обычно сегмент соответствует массиву данных, программе или подпрограмме и т.д. и имеет переменную длину.
В обоих случаях адресное пространство оказывается как бы двумерным.
Одно измерение – адрес страницы или сегмента; другое – адрес операнда внутри страницы или сегмента.
Чаще применяется страничная организация, но у сегментной организации есть свои преимущества, а именно:
– специальными усилиями может быть достигнута оптимизация загрузки основной памяти.
– возможность коллективного использования сегментированной информации (при организации соответствующих механизмов доступа и защиты).
Допустимо совместное использование сегментации и страничной организации: сегменты дополнительно разбиваются на страницы.
<77>
Конспективно важные моменты (потребуются пояснения):
– Мультиплексное виртуальное пространство возникает при параллельной обработке задач;
вариант а): разделение виртуального пространства
вариант б): свое виртуальное пространство для каждой задачи, как следствие мультиплексная виртуальная память.
(В обоих вариантах необходима организация нескольких таблиц преобразования адресов. В варианте (б) проще работать программисту и проще создание высокоэффективной защиты памяти.)
– Управление виртуальной адресацией – механизм динамического преобразования адресов идентичен использованию принципов ассоциативной кэш-памяти. Дисциплины замены страниц: FIFO, LRU и WS («рабочее множество», выбрасываются те, к которым в течение определенного времени не было обращений).
– Самостоятельная задача - распределение основной памяти (между задачами, процессами).
Виртуализация вычислительной системы – распространение концепции на всю структуру ЭВМ.
<78>
Разумеется, речь здесь идёт только о фундаментальных принципах, без рассмотрения ненужных и, зачастую, устаревших подробностей.
Логическое распределение оперативной памяти (рис. 1.6.0.1) определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых компьютеров. Знание строения RAM необходимо для программной оптимизации системы. Оптимизация системы не всегда пропорциональна денежным вложениям в новейшие быстродействующие программные продукты. Используя простые уловки и хитрости, можно повысить производительность PC внутрисистемными методами.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.