28 dicembre 2007

Swap

Molte volte ho sentito chiedere domande riguardanti lo swap, oggi vedremo in maniera molto semplice a cosa serve e quanto spazio dedicare ad esso.

Ogni programma in esecuzione su un computer richiede della memoria per poter essere eseguito, tale memoria è messa a disposizione dalla RAM presente sul vostro PC. Tuttavia può succedere che il totale della memoria richiesta dai programmi in esecuzione sia superiore rispetto alla quantità disponibile fisicamente. In questo caso è dunque necessario liberare un po' di spazio sulla vostra RAM e qui entra in gioco il sistema operativo che si occupa di effettuare il cosiddetto swap.

Lo swap consiste infatti nello spostare blocchi di dati presenti nella memoria RAM (o memoria di lavoro) sul disco rigido (o memoria secondaria). Il beneficio di fare questo sta nel fatto che porzioni di RAM precedentemente occupate vengono liberate per permettere l'esecuzione di nuove applicazioni.
Purtroppo come sempre c'è un prezzo da pagare per i benefici ottenuti tramite swap, infatti tutti i dati che sono portati sull'hard disk devono essere riportati in RAM prima di poter essere utilizzati. Il problema è che gli hard disk sono molto lenti se confrontati rispetto alla RAM (circa 1000 volte più lenti). Quindi quando un programma che è stato "swappato" deve tornare in esecuzione esso deve essere ricaricato prima in memoria, e poi eseguito. Questo passaggio aggiuntivo provoca ritardi relativamente piccoli (ma facilmente percettibili).

Ora vediamo quanto spazio destinare allo swap nel sistema operativo GNU/Linux. Poniamoci in tre situazioni tipo:
  1. Il nostro sistema operativo deve essere un server: in tal caso sarà preferibile avere un sistema che risponde rapidamente alle richieste e che tenda quindi ad evitare lo swapping, per cui una partizione di swap di dimensioni pari alla metà della quantità di RAM presente sulla macchina dovrebbe funzionare.
  2. Il nostro sistema operativo è destinato ad utilizzo desktop: in tal caso è utile avere abbastanza swap poiché è possibile che più di qualche applicazione sia inattiva in un dato momento. Perciò una partizione di swap di dimensioni fino al doppio della quantità di RAM presente sulla macchina dovrebbe, anche in questo caso, andare bene.
  3. Il nostro sistema operativo lavora su una macchina datata e con basse prestazioni: in tal caso più swap c'è meglio è quindi almeno un GB è da dedicare a swap.
Senza dubbio questo articolo non ha pretese di dettar legge in materia di dimensionamento dello swap, ma semplicemente ha l'intento di cercare di chiarire alcuni concetti che sono alla base del funzionamento di tutti (o quasi) i sistemi operativi moderni.
A presto.

Blogged with Flock

Nessun commento: