Windows XP: come fare quando il prefetch va in vacanza…

wxp.jpgUna delle funzioni più utili ed innovative che Microsoft ha inserito in Windows XP, è sicuramente la funzione Prefetch che ci da la possibilità di avviare il PC, ed i programmi in genere, in modo un pò più veloce.

A volte però, a seguito dell’utilizzo di programmi per l’ottimizzazione del sistema, si disabilita del tutto il prefetching con il risultato di non poterlo più abilitare facilmente… ecco come fare:

  • Andate su start > esegui… > digitate services.msc e date invio.
  • Nella finestra che è apparsa, cercate la voce utilità di pianificazione e fateci doppio click sopra.
  • Nel menù a tendina tipo di avvio controllate che ci sia impostata la voce automatico (se non c’è, mettetela voi e applicate i cambiamenti).
  • Una volta usciti dal gestore dei servizi di Windows, andate nuovamente su start > esegui… > digitate regedit e date l’invio.
  • Nella parte sinistra della finestra che si è appena aperta, andate in questo percorso: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management\PrefetchParameters.
  • Cercate nella parte destra della finestra la voce enablePrefetcher e, fateci doppio click sopra, impostando come numero il 3 e dando l’invio.
  • Adesso uscite dal regedit e riavviate il sistema.
  • Al nuovo avvio di Windows, andate ancora su start > esegui… > digitate rundll32.exe advapi32.dll,ProcessIdleTasks e date l’invio.
  • Adesso aspettate che il computer finisca la breve elaborazione e, al prossimo riavvio, il prefetching dovrebbe funzionare correttamente.

That’s all, folks!

Annunci

8 Risposte to “Windows XP: come fare quando il prefetch va in vacanza…”

  1. artgatt Says:

    Ottima segnalazione 😉

    E complimenti per il blog, ti seguo assiduamente ormai già da qualche giorno.

  2. Andrea Guida Says:

    Grazie mille! 😉

  3. realtebo Says:

    curiosità: ma come ‘funziona’ il prefetch e come valuarne il reale ‘aiuto’ fornito al sistema ?

  4. Andrea Guida Says:

    Beh, in teoria basterebbe mettere “0” come valore alla chiave di registro indicata nell’articolo, riavviare il PC e notare le differenze all’avvio e nell’apertura dei programmi.

  5. artgatt Says:

    Ciao Realtebo, qui

    http://it.wikipedia.org/wiki/Prefetch

    puoi trovare un po di nozioni sul Prefetch 🙂

  6. artgatt Says:

    Vorrei polemizzare un po su questa frase tratta dal Wiki:

    Nei processori più evoluti l’attività di prefetch è realizzata mediante un complesso algoritmo di predizione, con il quale il processore cerca di individuare la giusta istruzione successiva da caricare.

    In particolare: il processore cerca di individuare

    L’informatica è composta da 0 e da 1. Esiste il Si e il No. Il Forse non è contemplato.

    Quindi è giusto dire: il processore INDIVIDUA

    Giusto cosi, per fare un piccolo appunto e per sentire voi che ne pensate. 🙂

  7. Andrea Guida Says:

    artgatt c’è davvero poco da discutere: come dici tu il codice binario è il codice binario e, il “forse” in informatica non può esistere!

  8. francesco Says:

    Ciao,
    in realtà è più corretto rimanere nel “dubbio”, nel forse. Il prefetch a livello di processore è un meccanismo che funziona facendo una predizione della prossima istruzione da effettuare.
    Nel caso in cui ci si trovi di fronte una istruzione di salto condizionale (branch, jump, chiamatela come preferite) il processore non può sapere, in fase di fetch delle istruzioni, se il salto sarà fatto o meno. Per questo si basa su conoscenze statistiche e… tira ad indovinare. La realtà è che questi algoritmi predittivi (tipo quello che regola il BTB del Pentium) hanno una percentuale di successo molto elevata (90% – 95%).
    Ma quando la supposizione sul branch è errata (e il processore se ne può accorgere solo dopo la fase di execute dell’istruzione che determina la condizione di salto), non c’è altro da fare che buttare via il lavoro fatto per recuperare le istruzioni che erano state approvigionate.
    Quindi: quando il processore vuole riempire la propria coda di prefetch dopo aver caricato una istruzione di salto NON INDIVIDUA LA GIUSTA ISTRUZIONE (successiva) DA CARICARE, piuttosto CERCA di individuarla. E spesso ci prende.
    Questa logica regola similmente il prefetch di Windows, che però opera su programmi, e non su singole istruzioni (siamo a livelli di astrazione diversi).
    E quindi… al di là del binario, il “forse” in informatica può esistere (anche se non mi piace metterla così) 😉

    Ciao!

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...


%d blogger hanno fatto clic su Mi Piace per questo: