Differenza tra memoria virtuale e cache nel sistema operativo

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 4 Maggio 2024
Anonim
Memoria virtuale
Video: Memoria virtuale

Contenuto


La memoria è un dispositivo hardware utilizzato per archiviare le informazioni in modo temporaneo o permanente. In questo articolo, ho discusso delle differenze tra memoria virtuale e cache. UN Memoria cache è una memoria ad alta velocità che viene utilizzata per ridurre i tempi di accesso ai dati. D'altro canto, Memoria virtuale non è esattamente una memoria fisica, è una tecnica che estende la capacità della memoria principale oltre il suo limite.

La principale differenza tra la memoria virtuale e la memoria cache è che a memoria virtuale consente a un utente di eseguire programmi più grandi della memoria principale mentre, memoria cache consente un accesso più rapido ai dati utilizzati di recente. Discuteremo alcune altre differenze con l'aiuto della tabella di confronto mostrata di seguito.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoMemoria virtualeMemoria cache
Di baseLa memoria virtuale estende la capacità della memoria principale per l'utente.La memoria cache accelera la velocità di accesso ai dati della CPU.
NaturaLa memoria virtuale è tecnica.La memoria cache è un'unità di archiviazione.
Funzione La memoria virtuale consente l'esecuzione del programma che è più grande della memoria principale.La memoria cache memorizza le copie dei dati originali utilizzati di recente.
Gestione della memoriaLa memoria virtuale è gestita dal sistema operativo.La memoria cache è completamente gestita dall'hardware.
Taglia La memoria virtuale è molto più grande della memoria cache.La memoria cache ha dimensioni limitate.
MappaturaLa memoria virtuale richiede strutture di mappatura per mappare l'indirizzo virtuale all'indirizzo fisico.Non sono richieste strutture di mappatura come tali in una memoria cache.


Definizione di memoria virtuale

Memoria virtuale non è esattamente una memoria fisica di un computer, ma è un tecnica che consente l'esecuzione di a grande programma quello può non essere completamente inserito nella memoria principale. Consente al programmatore di eseguire i programmi più grandi della memoria principale.

Ora cerchiamo di capire come funziona la memoria virtuale? Il programma ha il suo indirizzo di memoria virtuale che è diviso in un numero di pagine. Anche la memoria principale è divisa in un numero di pagine. Ora, come possiamo vedere, l'indirizzo virtuale di un programma è più grande della memoria principale disponibile. Quindi la mappa di memoria viene utilizzata per mappare l'indirizzo virtuale sulla memoria principale.


Pagina 0, 1, 2, viene mappata nella memoria principale e la memoria principale si riempie. Ora, quando la pagina 3 della memoria virtuale richiede spazio nella memoria principale, la pagina posizionata più vecchia, ovvero la pagina 0, viene trasferita sul disco rigido ed evacua il posto per la pagina 3, nella memoria principale e il processo continua. Nel caso in cui la pagina 0 sia di nuovo necessaria, quindi la pagina posizionata più vecchia in quel momento viene trasferita sul disco rigido creando il posto per la pagina 0.

Se i due programmi necessitano degli stessi dati, collocati nella memoria principale, l'unità di mappatura della memoria consente a entrambi i programmi di condividere lo stesso spazio di indirizzi nella memoria principale dove dati condivisi è memorizzato. Questo fa condivisione di file facile.

I vantaggi della memoria virtuale sono:

  • I programmi non sono più vincolati dal limite della memoria principale.
  • La memoria virtuale aumenta il grado di multiprogrammazione.
  • Aumenta l'utilizzo della CPU.
  • Meno unità I / O richiederà il caricamento o lo scambio di programmi in memoria.

Ma c'è un inconveniente di memoria virtuale, mettendo più pagine di un programma nel disco rigido sarà lento in fondo al prestazione poiché l'accesso ai dati dal disco rigido richiede più tempo rispetto all'accesso ai dati dalla memoria principale.

Definizione di memoria cache

A differenza della memoria virtuale, nascondiglio è un dispositivo di archiviazione implementato sul processore si. Trasporta le copie dei dati originali a cui è stato effettuato l'accesso di recente. I dati originali possono essere collocati nella memoria principale o in una memoria secondaria. La memoria cache caletta la velocità di accesso ai dati, ma come? Capiamo

Possiamo dire che la velocità di accesso della CPU è limitato alla velocità di accesso di memoria principale. Ogni volta che un programma deve essere eseguito dal processore, lo recupera dalla memoria principale. Se una copia del programma è già presente nel nascondiglio implementato sul processore. Il processo sarebbe in grado di accedere a tali dati più rapidamente, il che si tradurrà in un'esecuzione più rapida.

  1. Memoria virtuale si estende la capacità della memoria principale praticamente per l'utente. Tuttavia, la memoria cache consente l'accesso ai dati Più veloce per CPU.
  2. La cache è un ricordo unità di archiviazione mentre come memoria virtuale è un tecnica.
  3. La memoria virtuale consente le esecuzioni del programma che più grandi rispetto alla memoria principale. D'altra parte, la memoria cache memorizza il file copie di dati originali che sono stati utilizzati di recente.
  4. La gestione della memoria virtuale viene eseguita da sistema operativo. D'altra parte, la gestione della memoria cache viene eseguita da hardware.
  5. La memoria virtuale è lontana più grandi della dimensione della memoria cache.
  6. La tecnica della memoria virtuale richiede il strutture cartografiche per mappare l'indirizzo virtuale all'indirizzo fisico mentre, memoria cache non richiedere eventuali strutture di mappatura.

Conclusione:

La memoria virtuale è una tecnica per espandere la capacità della memoria principale praticamente per gli utenti. La memoria cache è un'unità di archiviazione che memorizza i dati a cui è stato effettuato l'accesso di recente e che consente alla CPU di accedervi più rapidamente.