{"id":14900,"date":"2020-05-15T07:30:50","date_gmt":"2020-05-15T05:30:50","guid":{"rendered":"https:\/\/www.unilab.eu\/?p=14900"},"modified":"2020-05-12T10:50:09","modified_gmt":"2020-05-12T08:50:09","slug":"memoria-virtuale","status":"publish","type":"post","link":"https:\/\/www.unilab.eu\/it\/articoli\/coffee-break-it\/memoria-virtuale\/","title":{"rendered":"Come funziona la Memoria Virtuale?"},"content":{"rendered":"<p>La <strong>memoria virtuale<\/strong> \u00e8 una porzione del disco fisso, che viene utilizzata come estensione della RAM durante l\u2019elaborazione dei processi. Essa permette di eseguire operazioni generalmente non eseguibili all\u2019interno della sola RAM (che ha spazio limitato), perch\u00e9 troppo estese.<\/p>\n<p>Si tratta di un espediente molto utile, adoperato per l\u2019esecuzione con i calcolatori di programmi ben pi\u00f9 grandi rispetto alla RAM disponibile. Questo risultato si ottiene con la <strong>simulazione di uno spazio virtualmente infinito<\/strong> su HDD (anche se la memoria virtuale \u00e8 comunque limitata a un determinato valore).<\/p>\n<p><strong>Differenza fra RAM e disco fisso<\/strong><\/p>\n<p>Per poter comprendere meglio come funziona la memoria virtuale, \u00e8 assolutamente necessario fare un breve approfondimento sui due elementi principali, che costituiscono la memoria di un personal computer.<\/p>\n<p>L\u2019<strong>hard disk <\/strong>(anche conosciuto come disco rigido, disco fisso o HDD) rappresenta la parte fisica della memoria. La sua funzionalit\u00e0 all\u2019interno di un computer \u00e8 quella di <strong>immagazzinare i dati e conservarli<\/strong>.<\/p>\n<p>Esistono varianti pi\u00f9 moderne e veloci nel trasferimento e nella scrittura di dati denominati <strong>SSD<\/strong> (Solid State Drive) che, pur differendo nel metodo di immagazzinamento dei dati stessi, svolgono praticamente lo stesso compito.<\/p>\n<p>La <strong>RAM<\/strong> (Random Access Memory) ha anch\u2019essa il compito di immagazzinare dati, ma per un periodo limitato. Il suo scopo principale, infatti, non \u00e8 la conservazione dei suddetti, quanto piuttosto la possibilit\u00e0 di renderli disponibili il pi\u00f9 velocemente possibile, per assicurare il corretto funzionamento dei processi in atto.<\/p>\n<p>Il caricamento dei dati \u00e8 quindi pi\u00f9 veloce rispetto a quando si utilizza un hard disk, ma il problema \u00e8 che, trattandosi di <strong>memoria di tipo volatile<\/strong>, allo spegnimento del PC tutti i valori presenti nella RAM vengono cancellati.<\/p>\n<p><strong>Il funzionamento della memoria virtuale nel dettaglio<\/strong><\/p>\n<p>Ora che tutti gli elementi principali della memoria sono stati descritti, \u00e8 il momento di capire come funziona nel dettaglio la memoria virtuale. Quando un processo \u00e8 corposo e non trova spazio all\u2019interno della RAM, il <strong>sistema operativo<\/strong> provvede a caricarne una parte in una sezione speciale del disco fisso, che simula di fatto un\u2019estensione della RAM stessa.<\/p>\n<p>Essa ne conserva la velocit\u00e0 nei caricamenti e permette il facile accesso a tutti i dati relativi a quel processo durante la sua esecuzione. Per dirla in maniera pi\u00f9 corretta, si impiega il disco fisso (memoria secondaria) come uno <strong>storage provvisorio<\/strong> per i dati\/processi non immediatamente necessari al calcolo in svolgimento.<\/p>\n<p>\u00c8 in questo frangente che entra in gioco lo <strong>swap<\/strong>. Il termine indica uno scambio di dati\/pagine fra disco e RAM (<em>swap-in<\/em>) o fra RAM e disco (<em>swap-out<\/em>). Questa operazione consente di richiamare, quando servono, i pezzi del processo precedentemente immagazzinati nella memoria virtuale, sostituendoli alle parti gi\u00e0 in esecuzione nella RAM.<\/p>\n<p>Un esempio concreto di come swap e memoria virtuale interagiscono fra di loro \u00e8 il seguente:<\/p>\n<ol>\n<li>si deve eseguire un processo;<\/li>\n<li>per farlo in maniera pi\u00f9 veloce vengono caricate nella RAM solo le prime pagine;<\/li>\n<li>le rimanenti vengono assegnate alla memoria virtuale del disco rigido;<\/li>\n<li>con l\u2019avanzare dei calcoli per il processo, le pagine necessarie sono richiamate dalla memoria virtuale e sostituite (swappate) con quelle presenti nella RAM che non servono pi\u00f9.<\/li>\n<\/ol>\n<p>Per trovare la giusta pagina da caricare nella RAM in un dato momento, il calcolatore si affida al cosiddetto <strong>indirizzo virtuale<\/strong>. Si tratta di una stringa formata da tre elementi: numero segmento, numero pagina e offset. A questi valori si aggiungono poi quelli di <strong>segmentazione<\/strong> e <strong>paginazione<\/strong>, cos\u00ec da individuare con precisione l\u2019elemento successivo che serve al processo.<\/p>\n<!--themify_builder_content-->\n<div id=\"themify_builder_content-14900\" data-postid=\"14900\" class=\"themify_builder_content themify_builder_content-14900 themify_builder tf_clear\">\n    <\/div>\n<!--\/themify_builder_content-->\n","protected":false},"excerpt":{"rendered":"<p>La memoria virtuale \u00e8 una porzione del disco fisso, che viene utilizzata come estensione della RAM durante l\u2019elaborazione dei processi. Essa permette di eseguire operazioni generalmente non eseguibili all\u2019interno della sola RAM (che ha spazio limitato), perch\u00e9 troppo estese.<\/p>\n","protected":false},"author":10,"featured_media":14898,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"46","_seopress_titles_title":"","_seopress_titles_desc":"La memoria virtuale \u00e8 una porzione del disco fisso, che viene utilizzata come estensione della RAM durante l\u2019elaborazione dei processi. Essa permette di eseguire operazioni generalmente non eseguibili all\u2019interno della sola RAM (che ha spazio limitato), perch\u00e9 troppo estese.","_seopress_robots_index":"","_seopress_analysis_target_kw":"memoria virtuale","footnotes":""},"categories":[46],"tags":[],"class_list":["post-14900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coffee-break-it","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"builder_content":"","_links":{"self":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts\/14900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/comments?post=14900"}],"version-history":[{"count":0,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts\/14900\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/media\/14898"}],"wp:attachment":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/media?parent=14900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/categories?post=14900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/tags?post=14900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}