Agnitum Outpost Firewall tűzfalak topikja
  • cooldoc
    #460
    Prefetch-nek hívják ezt a dolgot, de ez más...
    Ld. it:
    Prefetch-Cikk
    Persze, ezt ismerem
    Prefetching

    A Windows XP gyorsaságának lelke az úgynevezett prefetch (előtöltés): a rendszer első indulásakor naplózza az összes lemezműveletet. A legközelebbi induláskor pedig az előző naplók alapján előre, párhuzamos, kötegelt lemezműveletekkel betölti a rendszerindítás során szükséges fájlokat, adatokat (eszközmeghajtók fájljait, a registry részeit, stb.), még mielőtt a rendszer rájönne, hogy szüksége van rá. Amikor pedig kell, rögtön kéznél (azaz a memóriában) van az adat. A betöltés a "rendes" indítással párhuzamosan működik, így míg például az eszközmeghajtók az eszközök felismeréséhez szükséges elkerülhetetlen üresjáratukat töltik, a Windows szépen előkészíti a terepet a folytatáshoz. A Windows XP emellett a naplók alapján automatikusan átrendezi a rendszertöltésben résztvevő fájlokat a merevlemezen (így lényegesen megnő az egy műveletben betölthet komponensek száma, és persze lecsökken a betöltésükhöz szükséges idő ). Ennek köszönhetően a boot loader máris négy-ötször gyorsabb lesz, mint a Windows 2000-ben. A műveletekhez az XP (alapértelmezésben) az előző nyolc rendszerindítás adatait veszi alapul.
    Mindezeken túl a Windows XP optimalizálja az eszközmeghajtók betöltésének sorrendjét, hogy a felhasználó minél előbb hozzájuthasson a bejelentkező képernyőhöz. Ha például a Windows XP nincs tartományban, és a bejelentkezéshez nincs szükség a hálózati komponensekre, azok indítása időben hátrébb csúszik (a Winlogon tehát nem vár többé a hálózat elindítására!). Sok eszközmeghajtó már nem sorban, egymást megvárva, hanem egymással párhuzamosan indulhat el.


    BootVis

    A bootvis.exe sokmindent elárul a rendszerindítási folyamatról. A Windows XP rendszerindításának folyamatát figyelemmel kísérhetjük a bootvis.exe nevű eszközzel, amellyel nem csak a különféle indulási idők, de a lemezműveletek, a processzor terheltsége, a "lusta" eszközmeghajtók is megfigyelhetők, sőt, akár módosíthatunk is az értékeken, de ez galibákat okozhat, s a végeredmény az lehet, hogy nem bírjuk életre lehelni a rendszerünket. (A Microsoft a BootVis segédalkalmazást le is vette a letölthető eszközök listájáról, mert sok otthoni felhasználó téves információk vagy félretájékoztatás miatt beleesett abba a hibába, hogy saját maga akarta még tovább gyorsítani a rendszert, aminek visszafordíthatatlan következményei lettek az operációs rendszerre nézve.)


    Prefetching az alkalmazásoknál

    Ezúttal tényleg igaz a marketingfogás: a Windows XP tényleg gyorsabban futtatja az alkalmazásokat! A prefetching algoritmus ugyanis nemcsak az operációs rendszer indításakor, de (hacsak kifejezetten le nem tiltjuk) minden egyes alkalmazás esetén is működik. Nézzünk csak bele a Windows XP \Windows\Prefetch könyvtárába! Jónéhány ".pf" kiterjesztésű fájlt találunk majd benne (és egy layout.ini-t, melyben összegzi a kapott eredményeket) Az egyes prefetch fájlok tartalmazzák az alkalmazások futása során használt lemezterületek adatait (fájlokat, .dll-eket, registry-kulcsot, stb.). Ha egy alkalmazáshoz már létezik prefetch-fájl, a Windows XP az alkalmazás indításakor automatikusan betölti a szükséges adatokat, hogy mire az alkalmazásnak szüksége lesz rá, kéznél legyen. (A rendszerindítás prefetch fájlja az notosboot-B00DFAAD.pf; ez a fájl tartalmazza az előző nyolc rendszerindítás adatait. Ez a fájl a rendszerindítás után 1 perccel jön létre, illetve frissül. Ha letöröljük, a következő rendszerindításnál nem lesz prefetch (ideális eszköz a prefetch hasznosságának kipróbálására).
    Egy fontos dolgot jegyezzünk meg: a prefecth akkor képes igazán jól működni, ha van hova betölteni az adatokat. Éppen ezért a Windows XP memóriaigényének kielégítése teljesítmény-okokból fontosabb, mint az elődöké volt. A minimális 128 megabájt a mai memóriaáraknál már nem okozhat gondot.


    A lemezterület automatikus optimalizálása

    A prefetch jó és gyors működésének fontos feltétele, hogy a betöltendő adatok a lemezen is megfelelő sorrendben legyenek. Mit sem ér a prefetch algoritmus, ha a gyors betöltés során ide-oda kell rángatni a winchester fejét! A Windows XP ezért a számítógép pihenőidejében ("idle" állapot esetén) folyamatosan optimalizálja a merevlemezek tartalmát. A prefetch szolgáltatás a prefetch fájlokból kiolvassa a boot és az alkalmazások indításának adatait, és ezek alapján felépíti a layout.ini fájlt. Az automatikus defragmentálás ezután ez alapján működik. A layout.ini fájl 32 alkalmazás elindítása után jön létre először, és a rendszerindítások során automatikusan frissül.

    Több helyen téves információként olvasható, hogy használaton kívüli fájlok lepik el a Prefetch mappát és egy idő után megtelik, lassítja a rendszert.
    Ez nem igaz, a Prefetch hetenként kipucolja a felesleges fájlokat és három naponta, amikor a rendszerünket nem használjuk végrehajt egy optimalizációt. Az optimalizációt manuálisan is kierőszakolhatjuk a defrag -b c: paranccsal (ahol c: az XP installáció helye).

    Némi "tuningra" azért van módunk.
    A HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\...
    ...\PrefetchParameters\EnablePrefetcher registry-kulcs értékét az alábbiak szerint módosíthatjuk:
    0 - Kikapcsolja a prefetch szolgáltatást,
    1 - Csak a bootolás idejére engedélyezi a prefetch-t,
    2 - Csak "alkalmazásindítási" prefetch engedélyezett,
    3 - Mind a boot-, mind az alkalmazásindítási prefetch engedélyezett. (Alapértelmezett és javasolt)