![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Виртуализация оперативной памяти осуществляется совокупностью аппаратных средств процессора и программных средств ОС и включает решение следующих задач:
· размещение данных (образов процессов или их частей) в запоминающих устройствах разного типа: частично - в оперативной памяти, частично - на диске;
· выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно;
· перемещение данных между памятью и диском;
· преобразование виртуальных адресов в физические.
Решение этих задач осуществляется автоматически, без участия программиста, и не отображаются в логике работы приложений.
Виртуализация памяти может быть осуществлена на основе двух подходов - свопинга и механизма виртуальной памяти.
Свопинг (swapping). Между оперативной памятью и диском перемещаются образы процессов Более простой в реализации способ, чем виртуальная память. Однако обладает избыточностью при подкачке или выгрузке: часто для активизации процесса или освобождения памяти не требуется перемещение всего образа процесса. Избыточность приводит к замедлению работы системы и неэффективному использованию памяти. Кроме того, невозможно загрузить для выполнения процесс, виртуальное адресное пространство которого превышает имеющуюся в наличии свободную память.
Как основной механизм управления памятью в современных ОС почти не используется. В некоторых ОС, например, версиях Unix, основанных на коде SVR4, свопинг применяется как дополнительный к виртуальной памяти, включающийся только при серьезных перегрузках системы.
Виртуальная память (virtual memory). Между оперативной памятью и диском перемещаются части (сегменты, страницы - см. ниже) образов процессов.
В зависимости от способа структуризации виртуального адресного пространства, определяющего преобразование виртуальных адресов в физические, выделяется три класса виртуальной памяти.
· Страничное распределение. Единицей перемещения между памятью и диском является страница - часть виртуального адресного пространства фиксированного и небольшого объема.
· Сегментное распределение. Единицей перемещения между памятью и диском является сегмент - часть виртуального адресного пространства произвольного объема, содержащая осмысленную с некоторой точки зрения совокупность данных (подпрограмму, массив и т.д.).
· Сегментно-страничное распределение. Объединяет элементы предыдущих классов. Виртуальное адресное пространство структурируется иерархически: делится на сегменты, а затем сегменты делятся на страниц. Единицей перемещения между памятью и диском является страница.
Для временного хранения вытесненных на диск сегментов и страниц отводится либо специальная область, либо специальный файл, обычно называемые страничным файлом (page file, paging file) или, по традиции, файлом свопинга.
Текущий размер страничного файла влияет на возможности работы ОС следующим образом: чем больше файл, тем больше одновременно работающих приложений, но тем медленнее их работа из-за многократной перекачки перемещаемых элементов на диск и обратно.
Размер страничного файла в современных ОС является настраиваемым параметром, который выбирается администратором системы для достижения компромисса между числом одновременно выполняемых приложений и быстродействием системы. Этот размер устанавливается в панели управления, пункт «система», вкладка «дополнительно» - «параметры быстродействия».
Дата публикования: 2015-10-09; Прочитано: 5084 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!