logo

Cos'è la memoria virtuale nel sistema operativo (sistema operativo)?

La memoria virtuale è uno schema di archiviazione che fornisce all'utente l'illusione di avere una memoria principale molto grande. Questo viene fatto trattando una parte della memoria secondaria come memoria principale.

In questo schema, l'utente può caricare processi di dimensioni maggiori rispetto alla memoria principale disponibile avendo l'illusione che la memoria sia disponibile per caricare il processo.

Invece di caricare un grande processo nella memoria principale, il sistema operativo carica le diverse parti di più di un processo nella memoria principale.

In questo modo aumenterà il grado di multiprogrammazione e quindi anche l'utilizzo della CPU.

Come funziona la memoria virtuale?

Nel mondo moderno, la memoria virtuale è diventata abbastanza comune al giorno d'oggi. In questo schema, ogni volta che è necessario caricare alcune pagine nella memoria principale per l'esecuzione e la memoria non è disponibile per tutte quelle pagine, in quel caso, invece di impedire alle pagine di entrare nella memoria principale, il sistema operativo cerca l'area RAM meno utilizzata negli ultimi tempi o che non è stata referenziata e copiarla nella memoria secondaria per fare spazio alle nuove pagine nella memoria principale.

Poiché tutta questa procedura avviene automaticamente, il computer ha la sensazione di avere RAM illimitata.

Cercapersone su richiesta

Il Demand Paging è un metodo popolare di gestione della memoria virtuale. Nella paginazione su richiesta, le pagine di un processo meno utilizzate vengono archiviate nella memoria secondaria.

Una pagina viene copiata nella memoria principale quando viene effettuata la sua richiesta o si verifica un errore di pagina. Esistono vari algoritmi di sostituzione delle pagine utilizzati per determinare quali pagine verranno sostituite. Discuteremo ciascuno di essi più avanti in dettaglio.

Istantanea di un sistema di gestione della memoria virtuale

Supponiamo che 2 processi, P1 e P2, contengano 4 pagine ciascuno. Ogni dimensione della pagina è di 1 KB. La memoria principale contiene 8 frame da 1 KB ciascuno. Il sistema operativo risiede nelle prime due partizioni. Nella terza partizione, 1stviene memorizzata la pagina di P1 e vengono visualizzati anche gli altri riquadri riempiti con le diverse pagine di processi nella memoria principale.

Le tabelle delle pagine di entrambe le pagine hanno una dimensione di 1 KB ciascuna e quindi possono essere inserite in un frame ciascuna. Le tabelle delle pagine di entrambi i processi contengono varie informazioni mostrate anche nell'immagine.

La CPU contiene un registro che contiene l'indirizzo base della tabella delle pagine che è 5 nel caso di P1 e 7 nel caso di P2. L'indirizzo base della tabella delle pagine verrà aggiunto al numero di pagina dell'indirizzo logico quando si accede alla voce effettiva corrispondente.


Memoria virtuale del sistema operativo

Vantaggi della memoria virtuale

  1. Il grado di multiprogrammazione sarà aumentato.
  2. L'utente può eseguire applicazioni di grandi dimensioni con meno RAM reale.
  3. Non è necessario acquistare più RAM di memoria.

Svantaggi della memoria virtuale

  1. Il sistema diventa più lento poiché lo scambio richiede tempo.
  2. Ci vuole più tempo per passare da un'applicazione all'altra.
  3. L'utente avrà a disposizione meno spazio su disco rigido per il suo utilizzo.