Memoria virtuale: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
fix /migliorata leggibilità wikitesto |
Funzionalità collegamenti suggeriti: 1 collegamento inserito. |
||
Riga 4:
In [[informatica]], la '''memoria virtuale''' è un'architettura di sistema capace di simulare uno spazio di [[memoria (informatica)|memoria]] centrale ([[memoria primaria]]) maggiore di quello fisicamente presente o disponibile, dando l'illusione all'utente di un enorme quantitativo di memoria<ref>{{Cita web|url=https://users.soe.ucsc.edu/~sbrandt/111/Slides/chapter3.pdf|titolo=Virtual Memory – Paging}}</ref>.
Il [[sistema operativo]] usando una combinazione di [[hardware]] e software, mappa gli [[Indirizzo di memoria|indirizzi di memoria]] usati da un programma, chiamati ''indirizzi virtuali'', in ''indirizzi fisici''. La [[memoria (informatica)|memoria principale]], dal punto di vista di un processo, appare come uno ''spazio di indirizzi'' (o una lista di segmenti) contiguo. Il sistema operativo gestisce lo spazio virtuale e l'assegnamento di memoria fisica a memoria virtuale. La traduzione di indirizzi è fatta da un hardware presente nella [[CPU]], comunemente chiamato [[Unità di gestione della memoria|MMU]], che traduce i vari indirizzi. Software presente all'interno del sistema operativo può estendere queste funzionalità per offrire uno spazio virtuale che eccede quello della memoria fisica, indirizzando così più memoria di quella fisicamente presente nel computer.
I vantaggi principali di quest'architettura sono una maggiore sicurezza dovuta all'isolamento della memoria, la possibilità di condividere alcune pagine di memoria fra diversi processi (in particolar modo quella delle [[Libreria (software)|librerie]]), e potere usare più memoria di quella disponibile con una tecnica chiamata [[Swap (informatica)|swap]].
|