Prefetcher är en komponent i Microsoft Windows -operativsystemet som snabbar upp processen för den första inläsningen , samt minskar tiden det tar att starta program. Prefetcher dök först upp i operativsystemet Windows XP . Sedan Windows Vista har det kompletterats med SuperFetch- och ReadyBoost -teknologier .
Att starta Windows och applikationer åtföljs av läsning i minnet och bearbetning av ett stort antal filer. Ofta öppnas samma fil flera gånger för att läsa olika segment. Sådan irrationell åtkomst till filer tar mycket tid. Det är mycket effektivare att bara komma åt varje fil en gång, och ladda information till RAM-minnet innan program behöver det. Prefetcher håller reda på vilken kod och data (inklusive NTFS Master File Table ) som laddas under uppstarten av operativsystemet och applikationerna. Den samlar in denna information i spårningsfiler för att optimera kod och dataladdning vid efterföljande körningar.
Prefetcher ser varje applikation som startar under de första 10 sekunderna. Övervakning av systemstartprocessen är tidsbegränsad och stoppar i följande fall [1] :
Spårningsfiler lagras i mappen Prefetch i Windows rotkatalog [2] (vanligtvis C:\WINDOWS\Prefetch). Operativsystemets laddning spåras till en NTOSBOOT-B00DFAAD.pf. Starten av program spåras in i separata filer vars namn består av namnet på den körbara filen för programmet som startas, ett bindestreck, en hexadecimal hash av sökvägen till den körbara filen och tillägget ".pf" (till exempel: EXPLORER.EXE-082F38A9.pf). När du kör applikationer som är en arbetsbänk för andra komponenter (till exempel: DLLHOST.EXE, MMC.EXE, RUNDLL32.EXE), läggs även namnet på den laddade modulen till i hashen, som ett resultat skapas olika spårningsfiler för olika komponenter (till exempel: MMC.EXE-0B0171A2.pf, MMC.EXE-393F4B82.pf).
En viktig roll i driften av Prefetcher-komponenten spelas av tjänsten Task Scheduler . "Task Scheduler" analyserar data som kommer från Prefetcher och skriver spårningsfilerna till . Om tjänsten inte körs kommer Prefetcher inte att fungera korrekt. "Task Scheduler" interagerar också med Windows Disk Defragmenter- programmet . Var tredje dag, när datorn är inaktiv , skapas en fil i mappen , som lagrar en lista över filer och mappar som används när operativsystemet laddas och program startas. Diskdefragmenteraren använder informationen från filen för att optimalt placera dessa filer fysiskt på disken. %SystemRoot%\Prefetch%SystemRoot%\PrefetchLayout.iniLayout.ini
Prefetcher-inställningarna lagras i systemregistret under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters[3]-tangenten . Parametern EnablePrefetcher (DWORD) kan ha ett av följande värden:
Parameterändringen EnablePrefetcherträder i kraft omedelbart.
RootDirPath
Systemstartfilen finns i katalogen %SystemRoot%\Prefetch och sökvägen till den anges av den här parametern.
Standard = Förhämtning
Det finns flera vanliga myter om Prefetcher: