Виртуальной памятью называют ресурсы внешней или оперативной памяти, которые выделяются прикладной программе ОС. Не всегда физическое расположение виртуальной памяти на реальных носителях совпадает с логической из-за адресации в прикладной программе. Аппаратные средства и ОС преобразовывают логические адреса программы в физические запоминающих устройств.
Виртуальная память – это схема адресации памяти компьютера, причем для программного обеспечения память непрерывная и однородная, тогда как на самом деле при хранении данных применяются отдельные области различных типов памяти - и оперативная, то есть кратковременная, и долговременная – к примеру, на жестких дисках и т.п.
Если данные располагаются на внешних запоминающих устройствах, то память может быть в виде специального раздела на жестком диске – partition, или же отдельного файла (файла подкачки) в обычном разделе диска.
Так как разные ОС имеют различную архитектуру ядра и файловых систем, то виртуальные данные хранятся в разных операционных системах по-разному. В таких системах, как UNIX и прочих системах SWAP, данные чаще всего помещены в отдельный раздел жесткого диска, благодаря чему доступ к ним осуществляется быстрее, чем если бы SWAP расположен в обычном разделе.
Microsoft Windows и Windows NT Часть жесткого диска, которая предназначена для свопинга, находится в файле подкачки, то есть отдельном файле. Файлом подкачки, swap-файлом называется область жесткого диска, которая используется операционной системой как виртуальная память. Этот файл называется pagefile.sys, он может быть размещен на одном или нескольких дисках компьютера, на нем временно хранятся страницы виртуальной памяти. Находится в корне жесткого диска установленной ОС. Чем больше виртуальная память по объему, тем меньший по объему файл подкачки требуется, и тем реже ОС его использует. Но нужный объем файла подкачки можно установить только посредством его мониторинга. Можно создать файл подкачки фиксированного или динамически изменяемого размера. ОС Windows по умолчанию делает файл подкачки динамически изменяемым, но это не всегда правильно. Например, если файл подкачки увеличивается, то ОС помещает эти «лишние» данные в другие места, в результате чего происходит фрагментация файла подкачки и самого диска. Из-за этого скорость доступа к файлу значительно падает, что вовсе нежелательно. По этой причине, гораздо лучше, если файл подкачки имеет фиксированный объем и размещен в самом начале диска, так как именно там чтение и запись данных происходят с максимальной скоростью.
В том случае, если ОС располагается в первой разделе, а жесткий диск – только один, то в том же разделе, что и ОС, рекомендуется поместить файл подкачки. Если жестких диска два, операционная система установлена на первом, но второй имеет такую же скорость, то именно на втором рационально разместить файл подкачки – в самом начале диска. Таким образом, будет достигнута максимальная скорость работы с виртуальной памятью. Благодаря механизму виртуальной памяти упрощается адресация памяти клиентским ПО, управление виртуальной памятью происходит более рационально, то есть в ней хранятся только те области памяти, которые активно используются. Кроме того, процессы изолируются друг от друга, так как каждый процесс считает, что обладает всей памятью единолично.
На ПК можно организовать виртуальную память следующими методами:
Страничная организация. Оперативная память делится на страницы, то есть области памяти, каждая из которых имеет определенную фиксированную длину. Эти области - минимальная единица выделяемой памяти. То есть, даже в том случае, если запрошен всего 1 байт от приложения, ему выделится целая страница памяти. Обращение процесса к памяти происходит посредством использования адреса виртуальной памяти, который включает номер страницы и смещение внутри нее. ОС превращает виртуальный адрес в физический и, если это необходимо, подгружает страницу в оперативную память с жесткого диска. Когда осуществляется запрос на выделение памяти, ОС может поместить на жесткий диск страницы, которые давно уже не использовались. В основном, критические данные, такие как код и память ядра системы и др. размещаются в оперативной памяти. Есть некоторые исключения, однако они никак не касаются част, отвечающей за использование свап-файла.
Сегментная организация Это метод организации виртуальной памяти, при котором виртуальное пространство делится на сегменты, то есть на части различного, но всегда кратного 2-м, размера. Таким образом, устраняется основной минус страничной организации – фрагментация памяти, то есть не остается больших не использованных участков страниц. Правда, сегментная организация приводит к внешней фрагментации памяти, то есть между сегментами остается достаточно много маленьких, неиспользованных участков памяти. Так же, как и в случае со страницами, можно установить права доступа к каждому сегменту для пользователя и пользовательских процессов.
Свопинг При этом методе организации виртуальной памяти некоторые процессы, в основном, неактивные, перемещаются на жесткий диск из ОЗУ, благодаря чему на ОЗУ могут быть загружены другие процессы. В отличие от страничной организации, при этом методе процессы полностью переходят с ОЗУ на жесткий диск, так что иногда в ОЗУ определенные процессы отсутствуют целиком. Когда процесс активизируется, диспетчер снова возвращает его в ОЗУ.
Предыдущий термин: Вебкамера
Следующий термин: Материнская плата
Смотрите также: обслуживание компьютеров