Prefetcher

Prefetcher

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 вступает в действие немедленно.

Мифы и реальность

Существует несколько распространенных мифов о 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.

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Prefetcher" в других словарях:

  • Prefetcher — The Prefetcher is a component of versions of Microsoft Windows starting with Windows XP.Fact|date=April 2008 It is a component of the Memory manager that speeds up the Windows boot process, and shortens the amount of time it takes to start up… …   Wikipedia

  • Tom Conte — For the Scottish actor see: Tom Conti Dr. Thomas Martin Conte (born 1964) is a professor of Computer Science at Georgia Institute of Technology s College of Computing. He is a fellow of Institute of Electrical and Electronics Engineers (IEEE).… …   Wikipedia

  • Chipset Intel — Chipsets Intel ██████████ …   Wikipédia en Français

  • Chipsets Intel — ██████████20  …   Wikipédia en Français

  • Data General Nova — System Data General Nova 1200 front panel …   Wikipedia

  • Prebinding — is a method for reducing the time it takes to launch executables in the Mach O file format. For example, this is what Mac OS X is doing when in the Optimizing stage of installing system software or certain applications.Prebinding looks up memory… …   Wikipedia

  • Prefetching — generally means loading something ahead of time and could refer to any one of the following topics:* Instruction prefetch, in computer architecture, a microprocessor speedup technique * Prefetch input queue (PIQ), in computer architecture, pre… …   Wikipedia

  • List of Microsoft Windows components — The following is a list of Microsoft Windows components. Contents 1 Configuration and maintenance 2 User interface 3 Applications and utilities 4 Windows Server components …   Wikipedia

  • AMD K10 — The AMD K10 is AMD s latest microprocessor architecture. Though there were once reports that the K10 had been cancelled [http://www.theinquirer.net/?article=27421 AMD s K10 is delayed or dead] , The Inquirer] , the first third generation Opteron… …   Wikipedia

  • BrookGPU — is the Stanford University Graphics group s compiler and runtime implementation of the Brook stream programming language for using modern graphics hardware for non graphical, or general purpose computations. Use of Graphics Processing Unit (or… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»