Prefetcher este o componentă a sistemului de operare Microsoft Windows care accelerează procesul de încărcare inițială , precum și reduce timpul necesar lansării programelor. Prefetcher a apărut pentru prima dată în sistemul de operare Windows XP . De la Windows Vista , acesta a fost completat cu tehnologiile SuperFetch și ReadyBoost .
Pornirea Windows și a aplicațiilor este însoțită de citirea în memorie și procesarea unui număr mare de fișiere. Adesea, același fișier este deschis de mai multe ori pentru a citi segmente diferite. Un astfel de acces irațional la fișiere necesită mult timp. Este mult mai eficient să accesezi fiecare fișier o singură dată, încărcând informații în RAM înainte ca programele să aibă nevoie de ele. Prefetcher ține evidența codului și datelor (inclusiv tabelul de fișiere master NTFS ) care sunt încărcate în timpul pornirii sistemului de operare și a aplicațiilor. Acesta colectează aceste informații în fișiere de urmărire pentru a optimiza codul și încărcarea datelor la rulările ulterioare.
Prefetcher urmărește lansarea fiecărei aplicații în primele 10 secunde. Monitorizarea procesului de pornire a sistemului este limitată în timp și se oprește în următoarele cazuri [1] :
Fișierele de urmărire sunt stocate în folderul Prefetch din directorul rădăcină Windows [2] (de obicei C:\WINDOWS\Prefetch). Încărcarea sistemului de operare este urmărită la un NTOSBOOT-B00DFAAD.pf. Lansarea programelor este urmărită în fișiere separate ale căror nume constau din numele fișierului executabil al programului lansat, o cratima, un hash hexazecimal al căii către fișierul executabil și extensia „.pf” (de exemplu: ). Când rulați aplicații care sunt un banc de lucru pentru alte componente (de exemplu: , , ), numele modulului încărcat este adăugat și la hash, ca urmare, sunt create diferite fișiere de urmărire pentru diferite componente (de exemplu: , ). EXPLORER.EXE-082F38A9.pfDLLHOST.EXEMMC.EXERUNDLL32.EXEMMC.EXE-0B0171A2.pfMMC.EXE-393F4B82.pf
Un rol important în funcționarea componentei Prefetcher îl joacă serviciul Task Scheduler . „Task Scheduler” analizează datele care provin de la Prefetcher și scrie fișierele de urmărire în fișierul . Dacă serviciul nu rulează, Prefetcher nu va funcționa corect. „Task Scheduler” interacționează și cu programul Windows Disk Defragmenter . La fiecare trei zile, când computerul este inactiv , în folderul este creat un fișier care stochează o listă de fișiere și foldere utilizate la încărcarea sistemului de operare și la pornirea programelor. Defragmenterul de disc folosește informațiile din fișier pentru a plasa în mod optim acele fișiere fizic pe disc. %SystemRoot%\Prefetch%SystemRoot%\PrefetchLayout.iniLayout.ini
Setările Prefetcher sunt stocate în registrul de sistem sub HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameterstasta [3] . Parametrul EnablePrefetcher (DWORD) poate lua una dintre următoarele valori:
Modificarea parametrului EnablePrefetcherare efect imediat.
RootDirPath
Fișierul de încărcare preliminară a sistemului este localizat în directorul %SystemRoot%\Prefetch și calea către acesta este specificată de acest parametru.
Implicit = Preluare
Există mai multe mituri comune despre Prefetcher: