Технология виртуальной памяти позволяет запускать на компьютере столько приложений, сколько нужно пользователю, невзирая на ограниченный объем физической памяти. Правда, за такую возможность приходится расплачиваться быстродействием системы. Реальная скорость обращения к жесткому диску в десятки или сотни раз меньше скорости работы оперативной памяти. Поэтому каждое обращение к виртуальной памяти заметно «притормаживает» машину. Рекомендуемый размер файла подкачки в 1,5 раза превышает объем оперативной памяти компьютера. При настройках по умолчанию операционная система Windows создает файл подкачки именно такого размера, а по мере необходимости может его уменьшать или увеличивать. С работой файла подкачки связаны три полезных вывода.
• Виртуальная память – вынужденная мера, призванная обеспечить работу ОС даже на компьютерах с минимальным объемом оперативной памяти. Частые обращения системы к файлу подкачки обычно оказываются основным «тормозом» производительности. На практике из всех вариантов усовершенствования аппаратной части увеличение физической памяти дает самый заметный прирост общего быстродействия компьютера.
• К «народным советам» по настройке файла подкачки стоит относиться осторожно. Для домашнего компьютера оптимальной чаще всего остается настройка, принятая по умолчанию при установке Windows: файл подкачки располагается на системном диске, а его размер автоматически определяется системой.
• Возможна ситуация, когда диск, на котором находится файл подкачки, заполнен почти до предела. В таком случае при запуске большого количества ресурсоемких программ операционная система может выдать предупреждение о нехватке виртуальной памяти. Выход – освободить место на этом диске за счет удаления или перемещения каких-либо файлов.
Фрагментация файлов
На физическом уровне жесткий диск записывает информацию только целыми секторами размером по 512 байт. Когда-то такой стандарт был удобен и достаточен. По мере роста емкости винчестеров возникло желание увеличить размер участков диска, к которым система обращается одномоментно. Современные жесткие диски чаще всего на уровне BIOS поддерживают функцию LBA (Logical Block Access – доступ к логическим блокам). В таком случае BIOS обращается не к каждому сектору отдельно, а к целым блокам, состоящим из нескольких физических секторов. Считывание и запись информации при таком обращении происходят сразу большими порциями и осуществляются гораздо быстрее. Наконец, на уровне файловой системы существует понятие «кластер». Кластер представляет собой группу секторов, или логических блоков, рассматриваемых как единое целое. Каждый кластер включает в себя от 8 до 128 секторов. В процессе форматирования диска средствами Windows размер кластера при желании можно задать вручную. Значение по умолчанию предлагается операционной системой в зависимости от размера диска: чем больше диск, тем больше размер кластеров на нем. После того как диск отформатирован, правильнее всего говорить не о секторах, а о кластерах – для любой операционной системы диск выглядит именно так.
Если размер файла превышает размер сектора (логического блока, кластера), файл занимает несколько секторов (блоков, кластеров). Другими словами, фрагменты одного файла могут размещаться в разных кластерах. В процессе обращения к фай – лу операционная система собирает эти фрагменты воедино в оперативной памяти. Когда фрагменты файла занимают кластеры, следующие один за другим, все отлично – головка жесткого диска может считывать или записывать эти данные практически «не отходя от кассы». В действительности такая непрерывная запись возможна лишь в идеале. Допустим, мы по одному записываем файлы на только что отформатированный диск. Тогда файлы действительно располагаются на диске один за другим и каждый занимает кластеры, последовательно идущие друг за другом. Принято говорить, что файлы на таком диске не фрагментированы или что фрагментация диска составляет 0 %.