Casa Hardware Che cos'è la memoria virtuale (vm)? - definizione da techopedia

Che cos'è la memoria virtuale (vm)? - definizione da techopedia

Sommario:

Anonim

Definizione: cosa significa Virtual Memory (VM)?

La memoria virtuale (VM) è una funzionalità sviluppata per il kernel di un sistema operativo (OS) che simula memoria principale aggiuntiva come RAM (memoria ad accesso casuale) o memoria del disco. Questa tecnica prevede la manipolazione e la gestione della memoria consentendo il caricamento e l'esecuzione di programmi più grandi o programmi multipli contemporaneamente. Inoltre, consente a ciascun programma di funzionare come se avesse memoria infinita ed è spesso considerato più conveniente rispetto all'acquisto di RAM aggiuntiva.

La memoria virtuale consente al software di utilizzare memoria aggiuntiva utilizzando l'unità disco fisso (HDD) come memoria temporanea. La maggior parte delle unità di elaborazione centrale (CPU) fornisce unità di gestione della memoria (MMU) che supportano la memoria virtuale. La MMU supporta le "tabelle di pagine" utilizzate per trasformare gli indirizzi "reali" e "virtuali" situati nella memoria e sull'HDD.

Un sistema operativo che utilizza la memoria virtuale libera spazio trasferendo i dati dall'HDD che non è immediatamente necessario. Quando sono necessari, i dati vengono copiati nuovamente sull'HDD. Quando viene utilizzata tutta la RAM, la VM scambia i dati sull'HDD e poi di nuovo. Pertanto, VM consente una memoria di sistema totale più ampia; tuttavia, è richiesta una scrittura complicata del codice.

Techopedia spiega la memoria virtuale (VM)

Negli anni '40 e '50, prima della VM, i grandi programmi implementavano la logica per gestire l'archiviazione primaria e secondaria. Il processo era chiamato overlaying. Quando un programma era più grande della memoria, la procedura consentiva che parti del programma che non venivano continuamente utilizzate fossero trattate come un overlay. Ogni singolo overlay sovrascriverebbe l'attuale overlay in memoria. La programmazione per la sovrapposizione era ampia. Uno dei motivi principali per la creazione di una macchina virtuale non era la memoria primaria aggiuntiva ma la facilità di programmazione. Nel 1969 fu realizzata l'efficacia della memoria virtuale; e divenne ampiamente implementato.

La macchina virtuale tenta letteralmente di utilizzare più RAM, o memoria di archiviazione su disco, rispetto a quanto effettivamente esiste. Questo processo consente alla CPU di gestire contemporaneamente programmi più grandi e multipli. VM è un normale sistema operativo (SO) e un programma hardware che utilizza un HDD archiviando e controllando temporaneamente la memoria. Il processo di manipolazione e gestione della memoria consente a ciascuna applicazione di funzionare come se avesse una memoria quasi infinita. La memoria temporanea è gestita da un'unità di gestione della memoria (MMU), nota anche come "unità di gestione della memoria paginata" (PMMU).

La memoria "reale" è divisa in piccole sezioni chiamate "pagine". Le pagine hanno generalmente una dimensione di 4 kilobyte. Quando viene utilizzata tutta la memoria RAM o disco, qualsiasi pagina non utilizzata viene scritta nella memoria virtuale in quello che viene chiamato un file di scambio. Quando è necessario il file di scambio, questo viene nuovamente tradotto nella memoria "reale", un processo chiamato scambio di pagine.

Uno dei pochi svantaggi dell'utilizzo della VM è che può esserci un eccessivo scambio di pagine, soprattutto se un utente ha numerose applicazioni aperte. Ciò può causare un rallentamento drastico dei programmi poiché la CPU impiega molto tempo a scrivere sull'HDD. La significativa riduzione delle prestazioni si chiama thrashing.

Che cos'è la memoria virtuale (vm)? - definizione da techopedia