Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виртуализация памяти. Классы виртуальной памяти



Виртуализация оперативной памяти осуществляется совокупностью аппаратных средств процессора и программных средств ОС и включает решение следующих задач:

· размещение данных (образов процессов или их частей) в запоминающих устрой­ствах разного типа: частично - в оперативной памяти, частично - на диске;

· выбор образов процессов или их частей для перемещения из оперативной памя­ти на диск и обратно;

· перемещение данных между памятью и диском;

· преобразование виртуальных адресов в физические.

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

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

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

Как основной механизм управления памятью в современных ОС почти не использует­ся. В некоторых ОС, например, версиях Unix, основанных на коде SVR4, свопинг приме­няется как дополнительный к виртуальной памяти, включающийся только при серьезных перегрузках системы.

Виртуальная память (virtual memory). Между оперативной памятью и диском пе­ремещаются части (сегменты, страницы - см. ниже) образов процессов.

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

· Страничное распределение. Единицей перемещения между памятью и диском является страница - часть виртуального адресного пространства фиксированного и небольшого объема.

· Сегментное распределение. Единицей перемещения между памятью и диском является сегмент - часть виртуального адресного пространства произвольного объе­ма, содержащая осмысленную с некоторой точки зрения совокупность данных (под­программу, массив и т.д.).

· Сегментно-страничное распределение. Объединяет элементы предыдущих клас­сов. Виртуальное адресное пространство структурируется иерархически: делится на сег­менты, а затем сегменты делятся на страниц. Единицей перемещения между памятью и диском является страница.

Для временного хранения вытесненных на диск сегментов и страниц отводится либо специальная область, либо специальный файл, обычно называемые странич­ным файлом (page file, paging file) или, по традиции, файлом свопинга.

Текущий размер страничного файла влияет на возможности работы ОС следую­щим образом: чем больше файл, тем больше одновременно работающих приложе­ний, но тем медленнее их работа из-за многократной перекачки перемещаемых эле­ментов на диск и обратно.

Размер страничного файла в современных ОС является настраиваемым парамет­ром, который выбирается администратором системы для достижения компромисса между числом одновременно выполняемых приложений и быстродействием системы. Этот размер устанавливается в панели управления, пункт «система», вкладка «до­полнительно» - «параметры быстродействия».





Дата публикования: 2015-10-09; Прочитано: 5025 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...