Реализация подкачки диска с точки зрения операционной системы

Windows 3.x и Windows 9x

Виртуальная память была функцией Microsoft Windows начиная с Windows 3.0 в 1990 году. Microsoft представила виртуальную память в ответ на отказ Windows 1.0 и Windows 2.0. Требование заключалось в снижении необходимых системных требований для новой операционной системы. Этот шаг, называющий файл подкачки «виртуальной памятью», вызвал путаницу. Новички, не знакомые с этой концепцией, без вопросов приняли ее и рассказали об адаптации виртуальной памяти с Windows. Фактически, каждый процесс имеет фиксированный неизменный объем виртуальной памяти, обычно 2 ГБ. Пользователь имеет только возможность изменить объем дискового пространства, зарезервированного для подкачки.

Windows 3.x создает скрытый файл с именем 386SPART.PAR или WIN386.SWP, который будет использоваться в качестве файла подкачки. Он расположен в корне диска, но может находиться где угодно (обычно в папке WINDOWS). Его размер зависит от настроек в системе (Панель управления Дополнительно и виртуальная память). Если пользователь перемещает или удаляет этот файл, при следующем запуске системы появится синий экран смерти , а также сообщение об ошибке «Постоянный файл подкачки поврежден». Пользователю будет предложено выбрать, следует ли удалять файл (независимо от того, существует он или нет).

Windows NT

В NT- разрядных версий ОС Windows (например, Windows XP , Windows Vista и Windows 7 ), файл , который используется для подкачки называется pagefile.sys . По умолчанию файл подкачки находится в корневом каталоге раздела, где установлена Windows. Windows можно настроить на использование свободного дискового пространства для файлов подкачки. Каждый загрузочный раздел (например, диск, содержащий каталог Windows) должен иметь свой собственный файл подкачки, если система настроена на дамп ядра или полный дамп после завершения работы ядра из-за ошибки.. Windows использует файл подкачки как временное хранилище для дампа памяти. После перезагрузки Windows копирует дамп памяти из файла подкачки в отдельный файл, освобождая место, используемое в файле подкачки.

Фрагментация

По умолчанию Windows позволяет при необходимости расширять файл подкачки сверх своего исходного размера. Если это происходит неоднократно, он становится сильно фрагментированным , что может привести к снижению производительности. Рекомендуется заблокировать размер файла подкачки, чтобы Windows не могла его увеличить. Однако файл подкачки расширяется, если он заполнен, т.е. в базовой конфигурации размер 150% от общей физической памяти. Таким образом, общие требования к виртуальной памяти, использующей обратное чтение из файла подкачки, должны превышать 250% от размера физической памяти компьютера, прежде чем файл подкачки будет расширен.

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

Блокировка размера файла подкачки может быть проблематичной, если приложение, работающее под Windows, требует больше памяти, чем общий размер физической памяти и файла подкачки. В этом случае запрос на выделение памяти завершается ошибкой, которая может вызвать сбой приложения или системы. Сторонники этой точки зрения могут утверждать, что файл подкачки читается или записывается в последовательном порядке, поэтому преимущество наличия полностью последовательного файла подкачки минимально. Хотя общеизвестно, что большие файлы подкачки позволяют использовать приложения, интенсивно использующие память, единственным недостатком является объем используемого дискового пространства.

Использование большего дискового пространства для этой цели может быть незначительным. Например, система с 3 ГБ ОЗУ и 6 ГБ пространства раздела подкачки на диске 750 ГБ или система с 6 ГБ ОЗУ и диском 2 ТБ в обоих случаях использование памяти составляет 8/10 от 1% от общего дискового пространства с расширенным разделом подкачки.

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

Системы Unix

В системах, которые называются Unix (Linux, FreeBSD, Solaris …), для подкачки обычно выделяется специальный раздел. Этот раздел хорошо защищен от возможных изменений, так как он находится за пределами любой доступной пользователю области диска. Кроме того, опущена описанная выше фрагментация файла подкачки. Кроме того, таким образом можно легко отложить в сторону очень быстрое, но в остальном относительно дорогое устройство. Некоторые системы (например, Solaris ) также позволяют выполнять подкачку на нескольких носителях, которые работают в резервной схеме, что значительно повышает надежность этой технологии. С другой стороны, изменить размер дискового пространства сложнее из-за менее гибкого управления размером. Кроме того, поскольку операционная система должна поддерживать таблицы, описывающие состояние пространства подкачки, в некоторых случаях очень сложно правильно определить его размер для оптимальной работы системы.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
pohozhie-programmy.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: