Con il termine swap si intende, in informatica, l'estensione della capacità della memoria volatile complessiva del computer, oltre il limite imposto dalla quantità di RAM installata, attraverso l'utilizzo di uno spazio su un altro supporto fisico, ad esempio il disco fisso. A seconda del sistema operativo utilizzato è possibile avere file di swap (chiamato anche 'Memoria virtuale'), residenti nel normale file system del sistema, oppure partizioni di swap, cioè sezioni di disco integralmente dedicate allo swap ed inizializzate con un proprio specifico tipo di file system. L'uso della partizione è generalmente migliore dal punto vista delle prestazioni, perché evita che lo swap vada soggetto alla frammentazione tipica di alcuni file system. Per contro, occupa una delle (poche) partizioni disponibili sul disco fisso. In pratica, se la memoria RAM libera non è più sufficiente a contenere tutte le informazioni che servono ai programmi, il sistema operativo si farà carico di spostare una certa quantità di dati (i più obsoleti) dalla memoria volatile a quella di massa, liberando quindi una parte della RAM per permettere il corretto funzionamento dei programmi. Lo swapping permette a un Sistema Operativo di avere attivi più processi di quanti ne possa contenere lo spazio della MP: Alcuni processi sono mantenuti temporaneamente in un’area dell’hard disk detta area di swap (ad uso esclusivo del SO) Se il processo “swappato” viene ricaricato in una diversa area di Memoria Principale MP, dobbiamo usare codice dinamicamente rilocabile. Salvare in memoria secondaria l’immagine di un processo non in esecuzione viene detto swap out e ricaricarla prima di dargli la CPU swap in. Se un processo a cui è stata assegnata la CPU si trova nell’area di swap, il tempo di context switch aumenta del tempo necessario per fare swap in. L’overhead che ne risulta è troppo alto! Lo swapping di interi processi (detto anche overlay) non è più usato nei moderni SO, ma alcune varianti sofisticate vengono correntemente implementate. L’idea di fondo dello swapping rimane però valida: usare parte della MS per estendere le dimensioni della MP, e permettere l’esecuzione di più processi di quanti ne potrebbe ospitare la sola MP.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.