Caricamento ultime notizie...

Significato Cache - Glossario Informatico per Internet

Con il termine cache in informatica si indica un'area di memoria estremamente veloce ma solitamente di un basso ordine di grandezza di capacitร . Il suo scopo รจ di velocizzare l'esecuzione dei programmi. 



Un esempio di cache รจ la Cache memory, utilizzata per recuperare velocemente dati e programmi che si prevede debbano essere utilizzati nel breve termine. 

Una cache รจ associata ad una memoria "principale", in cui risiedono i dati. Essa รจ tipicamente di capienza inferiore rispetto alla memoria principale, ma il suo utilizzo รจ piรน conveniente in termini di tempo di accesso e/o carico sul sistema. Quando รจ necessario l'accesso ad un dato, una copia di questo viene prima cercata nella cache: se รจ presente e valida, viene utilizzata tale copia; altrimenti il dato viene recuperato dalla memoria principale, e memorizzato nella cache, nel caso possa servire successivamente. La memoria principale puรฒ essere hardware come una RAM (memoria principale di un processore) o un disco rigido, ma anche un complesso database distribuito, come il DNS o il Web. In questi casi, la memoria principale puรฒ essere modificata senza passare dalla cache, il che comporta problemi di coerenza tra i dati "originali" e quelli nella cache, ovvero un possibile disallineamento. In alcuni casi รจ possibile convalidare i dati contenuti nella cache interrogando la memoria principale per verificare se sono ancora sincronizzati e corretti. Questo รจ compito che nel web, per esempio, fanno i server proxy: chiedono al server HTTP se la pagina che posseggono รจ stata modificata dopo la sua memorizzazione, e se non lo รจ evitano di trasferirla e la ripropongono direttamente al client. In altri casi, si utilizza un meccanismo di scadenza a tempo dei dati memorizzati, e fino a quando un dato presente nella cache non รจ scaduto questo viene utilizzato, anche se non corrisponde a quanto presente nella memoria principale. Questo รจ il meccanismo adottato dal DNS. Una cache riduce il carico di richieste che deve essere smaltito dalla memoria principale, e dal collegamento tra questa e l'utilizzatore dei dati. Anche questo puรฒ contribuire a migliorare le prestazioni del sistema. 


Si pensi per esempio ad un server proxy utilizzato da molti utenti: quando un utente richiede una pagina che era giร  stata richiesta da un altro, il proxy potrร  rispondere senza doversi collegare al sito originale, ed eviterร  cosรฌ di caricare sia il sito originale che la rete, migliorando cosรฌ le prestazioni del sistema anche per le richieste che devono essere inoltrate ai siti originali. Una cache utilizza un algoritmo per decidere quali dati mantenere e quali scartare, che tiene conto delle pagine utilizzate piรน di recente, della contiguitร  delle pagine, o di diversi altri fattori. Una cache puรฒ indicizzare i dati memorizzati sulla base del loro indirizzo (un blocco di memoria o di dati su disco fisso) o del loro "nome" (cache associativa, ad esempio una pagina Web o un nome DNS). In alcuni casi la memoria cache supporta anche la modifica dei dati. Questo รจ di implementazione semplice se la cache รจ l'unico percorso di accesso alla memoria principale, come nel caso della cache della memoria RAM presente nei processori: la cache "accetta" una operazione di scrittura verso la RAM, permettendo al processore di proseguire l'elaborazione, presenta subito al processore i dati aggiornati se questo ne chiede nuovamente la lettura, e si prende carico di scriverli sulla RAM prima di eliminare la pagina. In questo modo, se un dato in memoria รจ modificato frequentemente dal processore, รจ possibile mantenere le modifiche nella cache ed evitare continui trasferimenti verso la RAM (vedi Coerenza della cache). 

 Fonte Wikipedia

Posta un commento

I commenti saranno pubblicati, solo dopo esser stati verificati dagli amministratori.

Nuova Vecchia