WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Prefetcher — компонент операционной системы Microsoft Windows, ускоряющий процесс её начальной загрузки, а также сокращающий время запуска программ. Prefetcher впервые появился в операционной системе Windows XP. Начиная с Windows Vista, он был дополнен технологиями SuperFetch и ReadyBoost.

Описание

Запуск Windows и приложений сопровождается чтением в память и обработкой огромного количества файлов. Зачастую один и тот же файл открывается по несколько раз для чтения различных сегментов. Такой нерациональный доступ к файлам занимает много времени. Гораздо эффективнее обращаться к каждому файлу только один раз, загружая информацию в оперативную память ещё до того, как она станет нужна программам. Prefetcher наблюдает за тем, какой код и данные (включая NTFS Master File Table) загружаются в процессе запуска операционной системы и приложений. Он накапливает эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках.

Prefetcher наблюдает за запуском каждого приложения в течение первых 10 секунд. Наблюдение за процессом загрузки системы ограничено по времени и прекращается в следующих случаях[1]:

  • по истечении 30 секунд с момента запуска пользовательской оболочки
  • по истечении 60 секунд с момента завершения инициализации всех служб
  • по истечении 120 секунд с момента начала загрузки системы

Файлы трассировки сохраняются в папке Prefetch корневого каталога Windows[2] (обычно C:\WINDOWS\Prefetch). Загрузка операционной системы трассируется в файл NTOSBOOT-B00DFAAD.pf. Запуск программ трассируется в отдельные файлы, имена которых состоят из названия исполняемого файла запускаемой программы, дефиса, шестнадцатеричного хеша пути к исполняемому файлу и расширения «.pf» (например: EXPLORER.EXE-082F38A9.pf). При запуске приложений, являющихся рабочей средой для других компонентов (например: DLLHOST.EXE, MMC.EXE, RUNDLL32.EXE), в хеш также добавляется имя загружаемого модуля, в итоге для разных компонентов создаются разные файлы трассировки (например: MMC.EXE-0B0171A2.pf, MMC.EXE-393F4B82.pf).

Важную роль в работе компонента Prefetcher играет служба «Планировщик заданий» (англ. Task Scheduler). «Планировщик заданий» анализирует данные, поступающие от Prefetcher, и записывает файлы трассировки в папку %SystemRoot%\Prefetch. Если служба не запущена, Prefetcher не будет работать правильно. «Планировщик заданий» также взаимодействует с программой дефрагментации диска Windows. Каждые три дня во время простоя компьютера в папке %SystemRoot%\Prefetch создается файл Layout.ini, в котором сохраняется список файлов и папок, использовавшихся при загрузке операционной системы и запуске программ. Дефрагментатор диска использует информацию из файла Layout.ini для оптимального физического размещения этих файлов на диске.

Настройка

Параметры Prefetcher хранятся в системном реестре в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters[3]. Параметр EnablePrefetcher (DWORD) может принимать одно из следующих значений:

  • 0x00000000 — компонент отключен
  • 0x00000001 — ускорение запуска приложений
  • 0x00000002 — ускорение загрузки системы
  • 0x00000003 — ускорение запуска приложений и загрузки системы

Изменение параметра EnablePrefetcher вступает в действие немедленно.

RootDirPath

Файл предварительной выборки системной, начальной загрузки расположен в каталоге %SystemRoot%\Prefetch и путь к нему задан именно этим параметром.

Значение по умолчанию = Prefetch

Мифы

Существует несколько распространенных мифов о Prefetcher:

  • Добавление ключа «/prefetch:1» в строку запуска приложения ускоряет его загрузку.
    Этот миф основывается на том факте, что после установки операционной системы в строке запуска Windows Media Player изначально указан ключ «/prefetch:1». В реальности добавление этого ключа само по себе не дает никакого эффекта, а в некоторых случаях приложение может отказаться запускаться совсем[4].
  • Удаление файлов из папки %SystemRoot%\Prefetch ускоряет работу компьютера.
    Этот миф основывается на предположении, что в папке %SystemRoot%\Prefetch скапливается слишком много файлов, поэтому Prefetcher начинает «тормозить» систему. В реальности очистка вышеуказанной папки приводит к замедлению работы компьютера до тех пор, пока трассировочные данные не будут снова накоплены[4].
  • Со временем папка %SystemRoot%\Prefetch начинает занимать много места на диске.
    В большинстве случаев это можно рассматривать как миф. В целях экономии дискового пространства максимальное количество трассировочных файлов ограничено 128[4]. Очистка папки %SystemRoot%\Prefetch не требуется, так как Prefetcher обслуживает себя автоматически без участия со стороны пользователя[2].

Примечания

  1. Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS — From the December 2001 issue of MSDN Magazine.
  2. 1 2 What is the prefetch folder? — Windows Vista Help.
  3. Kernel Enhancements for Windows XP — Windows Hardware Developer Central. 13 January, 2003.
  4. 1 2 3 Misinformation and the The Prefetch Flag — Funny, It Worked Last Time. MSDN Blogs. 25 May, 2005.

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии