Prefetcher

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2016. január 27-én felülvizsgált verziótól ; az ellenőrzések 7 szerkesztést igényelnek .

A Prefetcher  a Microsoft Windows operációs rendszer egyik összetevője, amely felgyorsítja a kezdeti betöltési folyamatot , valamint csökkenti a programok indításához szükséges időt. A Prefetcher először a Windows XP operációs rendszerben jelent meg . A Windows Vista óta SuperFetch és ReadyBoost technológiákkal egészült ki .

Leírás

A Windows és az alkalmazások elindítása a memóriába való beolvasással és nagyszámú fájl feldolgozásával jár. Gyakran ugyanazt a fájlt többször megnyitják különböző szegmensek olvasásához. A fájlokhoz való ilyen irracionális hozzáférés sok időt vesz igénybe. Sokkal hatékonyabb, ha minden fájlt csak egyszer ér el, és az információkat a RAM-ba tölti be, mielőtt a programoknak szüksége lenne rá. A Prefetcher nyomon követi, hogy milyen kód és adat (beleértve az NTFS-főfájltáblázatot is) töltődik be az operációs rendszer és az alkalmazások indításakor. Ezeket az információkat nyomkövetési fájlokban gyűjti össze, hogy optimalizálja a kód- és adatbetöltést a következő futtatások során.

A Prefetcher figyeli az egyes alkalmazások indulását az első 10 másodpercben. A rendszerindítási folyamat figyelése időben korlátozott, és a következő esetekben leáll [1] :

A nyomkövetési fájlok a Windows gyökérkönyvtárának [2] (általában C:\WINDOWS\Prefetch) Prefetch mappájában tárolódnak. Az operációs rendszer betöltését egy NTOSBOOT-B00DFAAD.pf. A programok indítását különálló fájlok követik, amelyek neve az indítandó program futtatható fájljának nevéből, egy kötőjelből, a végrehajtható fájl elérési útjának hexadecimális hashéből és a ".pf" kiterjesztből áll (például: ). Más komponensek munkaasztalaként működő alkalmazások futtatásakor (például: , , ), a betöltött modul neve is hozzáadódik a hashhez, ennek eredményeként a különböző komponensekhez különböző nyomkövetési fájlok jönnek létre (például: , ). EXPLORER.EXE-082F38A9.pfDLLHOST.EXEMMC.EXERUNDLL32.EXEMMC.EXE-0B0171A2.pfMMC.EXE-393F4B82.pf

A Prefetcher komponens működésében fontos szerepet játszik a Task Scheduler szolgáltatás .  A „Feladatütemező” elemzi a Prefetchertől származó adatokat, és a nyomkövetési fájlokat a . Ha a szolgáltatás nem fut, a Prefetcher nem fog megfelelően működni. A „Feladatütemező” a Windows Lemeztöredezettség -mentesítő programmal is együttműködik . Háromnaponta, amikor a számítógép tétlen , a mappában létrejön egy fájl , amely az operációs rendszer betöltésekor és a programok indításakor használt fájlok és mappák listáját tárolja. A lemeztöredezettség-mentesítő a fájlból származó információkat használja fel a fájlok optimális fizikai elhelyezésére a lemezen. %SystemRoot%\Prefetch%SystemRoot%\PrefetchLayout.iniLayout.ini

Testreszabás

A Prefetcher beállításai a rendszerleíró adatbázisban tárolódnak a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters[3] kulcs alatt . A EnablePrefetcher (DWORD) paraméter a következő értékek egyikét veheti fel:

A paraméter módosítás EnablePrefetcherazonnal életbe lép.

RootDirPath

A rendszerindítási előzetes letöltési fájl a %SystemRoot%\Prefetch könyvtárban található, és az elérési utat ez a paraméter határozza meg.

Alapértelmezett = Előzetes letöltés

Mítoszok

Számos általános mítosz kering a Prefetcherrel kapcsolatban:

Jegyzetek

  1. Windows XP: Kernelfejlesztések robusztusabb, erősebb és skálázhatóbb operációs rendszer létrehozása Archiválva : 2015. május 7. a Wayback Machine -nél  – Az MSDN Magazine 2001. decemberi számából.
  2. 1 2 Mi az előzetes letöltési mappa? Archivált 2016. május 29-én a Wayback Machine  - Windows Vista súgóban.
  3. Kernel fejlesztések Windows XP rendszerhez Archiválva : 2010. szeptember 24. a Wayback Machine  - Windows Hardverfejlesztő Központban. 2003. január 13.
  4. 1 2 3 Félretájékoztatás és a The Prefetch Flag archiválva 2021. augusztus 15-én a Wayback Machine -nél  – MSDN Blogs. 2005. május 25.

Lásd még

Linkek