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

Определение свопинга и виртуальной памяти. Достоинства и недостатки



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

Необходимым условием для того, чтобы программа могла выполняться, являет­ся ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их. Объем оперативной памяти, который имеется в компьютере, существенно сказывается на характере протекания вычислительного процесса. Он ограничи­вает число одновременно выполняющихся программ и размеры их виртуальных адресных пространств. Подмена (виртуализация) оперативной памяти дисковой памятью позво­ляет повысить уровень мультипрограммирования - объем оперативной памяти компьютера теперь не столь жестко ограничивает количество одновременно вы­полняемых процессов, поскольку суммарный объем памяти, занимаемой образами этих процессов, может существенно превосходить имеющийся объем опера­тивной памяти. По­нятно, однако, что работа такой «оперативной памяти» происходит значительно медленнее.

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

· размещение данных в запоминающих устройствах разного типа, например часть кодов программы - в оперативной памяти, а часть - на диске;

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

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

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

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

· свопинг (swapping) - образы процессов выгружаются на диск и возвращаются в оперативную память целиком;

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

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

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

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

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

Сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.

Сегментная-страничная виртуальная память использует двухуровневое деле­ние: виртуальное адресное пространство делится на сегменты, а затем сегмен­ты делятся на страницы. Единицей перемещения данных здесь является стра­ница.

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





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



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