Топ питань
Часова шкала
Чат
Перспективи

Prefetcher

З Вікіпедії, вільної енциклопедії

Remove ads

Prefetcher — компонент операційної системи Microsoft Windows, що прискорює процес її початкового завантаження[ru], а також скорочує час запуску програм. Prefetcher уперше з'явився в операційній системі Windows XP. Починаючи з Windows Vista, його було доповнено технологіями SuperFetch і ReadyBoost.

Опис

Узагальнити
Перспектива

Запуск Windows і застосунків супроводжується читанням у пам'ять і обробкою великої кількості файлів. Часто один і той самий файл відкривається декілька разів для читання різних сегментів. Такий нераціональний доступ до файлів займає багато часу. Набагато ефективніше звертатися до кожного файлу лише один раз, завантажуючи інформацію до оперативної пам'яті ще до того, як вона стане потрібною програмам. Prefetcher спостерігає за тим, який код і дані (включно з головною файловою таблицею NTFS) завантажуються у процесі запуску операційної системи та застосунків. Він накопичує ці відомості у файлах трасування для оптимізації завантаження коду та даних при наступних запусках.

Prefetcher спостерігає за запуском кожного застосунку протягом перших 10 секунд. Спостереження за процесом завантаження системи обмежено за часом і припиняється в наступних випадках[1]:

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

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

Важливу роль у роботі компоненту Prefetcher відіграє служба «Планувальник завдань[ru]». «Планувальник завдань» аналізує дані, що надходять від Prefetcher, і записує файли трасування в папку %SystemRoot%\Prefetch. Якщо служба не запущена, Prefetcher не працюватиме правильно. «Планувальник завдань» також взаємодіє з програмою дефрагментації диску Windows. Щотри дні під час простою комп'ютера у папці %SystemRoot%\Prefetch створюється файл Layout.ini, в якому зберігається список файлів і папок, які використовувалися при завантаженні операційної системи та запуску програм. Дефрагментатор диску використовує інформацію з файлу Layout.ini для оптимального фізичного розміщення цих файлів на диску.

Remove ads

Налаштування

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

  • 0x00000000 — компонент вимкнено
  • 0x00000001 — прискорення запуску застосунків
  • 0x00000002 — прискорення завантаження системи
  • 0x00000003 — прискорення запуску застосунків і завантаження системи

Зміна параметру EnablePrefetcher вступає в дію негайно.

RootDirPath

Файл попередньої вибірки системного, початкового завантаження розташований у каталозі %SystemRoot%\Prefetch і шлях до нього заданий саме цим параметром.

Значення за замовчуванням = Prefetch

Remove ads

Міфи

Існують декілька поширених міфів про Prefetcher:

Додавання ключа «/prefetch
1» до рядка запуску застосунку прискорює його завантаження.
Цей міф засновується на тому факті, що після встановлення операційної системи у рядку запуску Windows Media Player початково вказано ключ «/prefetch:1». У реальності додавання цього ключа саме по собі не дає жодного ефекту, а в деяких випадках застосунок може відмовитися запускатися зовсім[4].
Видалення файлів із папки %SystemRoot%\Prefetch прискорює роботу комп'ютера.
Цей міф засновується на припущенні, що в папці %SystemRoot%\Prefetch накопичується забагато файлів, тому Prefetcher починає «гальмувати» систему. В реальності очищення вищезазначеної папки спричинює сповільнення роботи комп'ютера доти, доки трасувальні дані не будуть знову накопичені.
З часом папка %SystemRoot%\Prefetch починає займати багато місця на диску.
У більшості випадків це можна розглядати як міф. Із метою економії дискового простору максимальна кількість трасувальних файлів обмежена 128. Очищення папки %SystemRoot%\Prefetch не вимагається, так як Prefetcher обслуговує себе автоматично без участі з боку користувача.

Примітки

Див. також

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads