Tecniche di gestione della memoria virtuale

December 5

Tecniche di gestione della memoria virtuale


progettisti hardware di computer vogliono mantenere la memoria principale il più piccolo possibile per mantenere i prezzi verso il basso e fare l'indirizzamento semplice. progettisti di software Computer vuole avere grandi programmi che fanno molte cose, anche se questi programmi possono essere troppo grande per entrare nella memoria principale. La soluzione è memoria virtuale. Il grande programma è suddiviso in "pagine" e pagine è presente nella memoria, come necessario.

Swap cache

I programmi per computer sono una lunga lista di istruzioni. Dopo l'esecuzione di un'istruzione, l'istruzione successiva nella lista è probabilmente la prossima istruzione da eseguire. Esecuzione rimane spesso in una piccola sezione del programma per un lungo tempo. Pertanto non è necessario per l'intero programma sia in memoria alla volta, purché il computer funziona sulla stessa pagina, blocco lor di istruzioni. Se è necessaria una nuova pagina (chiamato "errore di pagina"), è portato in memoria. Una tecnica per accelerare il processo di paging è di avere una cache swap. Questo è un blocco separato di memoria ad alta velocità, la cui dimensione è una pagina, che può caricare una pagina dal disco alla memoria principale mentre il sistema operativo sta facendo qualcos'altro.

Tabelle Lookaside Traduzione

Quando una nuova pagina viene caricata nella memoria principale, di solito scrive sulla pagina che non è stato fatto riferimento da più tempo. Questo non è sempre la migliore idea. Se la pagina più antica in memoria è stato fatto riferimento molte volte prima e le altre pagine vecchi sono stati solo di riferimento una volta, si potrebbe essere sostituendo una pagina che è sicuro di essere necessario ancora una volta invece di uno che potrebbe non essere necessario di nuovo. Paging dovrebbe essere ridotto al minimo o si può arrivare a un punto in cui si stanno spendendo più tempo scambiando pagine di quanto spendete fare qualsiasi lavoro effettivo. Questa condizione si chiama "botte" e dovrebbe essere evitato se si desidera che il computer per eseguire alla massima velocità. Un modo per farlo è quello di utilizzare le tabelle Translation Lookaside per registrare ulteriori informazioni sulla cronologia delle pagine in modo che il computer possa prendere decisioni migliori di paging.

Kernel memoria condivisa

Il sistema operativo, o il kernel, controlla il computer, ma è invisibile per l'utente, un po 'come la mente inconscia. Il kernel è un programma, in modo risiede anche in memoria. Una tecnica relativamente nuova gestione della memoria virtuale è alla pagina il sistema operativo in uscita dalla memoria principale. Questo permette al kernel per occupare meno memoria, che lascia a disposizione per il paging programmi di memoria virtuale più memoria principale. Questa tecnica è nota come la memoria condivisa del kernel (KSM).