Casa Hardware Cos'è l'allocazione di memoria contigua? - definizione da techopedia

Cos'è l'allocazione di memoria contigua? - definizione da techopedia

Sommario:

Anonim

Definizione: che cosa significa allocazione di memoria contigua?

L'allocazione di memoria contigua è un classico modello di allocazione di memoria che assegna a un processo blocchi di memoria consecutivi (ovvero blocchi di memoria con indirizzi consecutivi).

L'allocazione di memoria contigua è uno dei più vecchi schemi di allocazione della memoria. Quando è necessario eseguire un processo, il processo richiede memoria. La dimensione del processo viene confrontata con la quantità di memoria principale contigua disponibile per eseguire il processo. Se viene rilevata sufficiente memoria contigua, al processo viene allocata la memoria per iniziare la sua esecuzione. Altrimenti, viene aggiunto a una coda di processi in attesa fino a quando non è disponibile memoria contigua libera sufficiente.

Techopedia spiega l'allocazione di memoria contigua

Lo schema di allocazione della memoria contiguo può essere implementato nei sistemi operativi con l'aiuto di due registri, noti come registri di base e di limite. Quando un processo è in esecuzione nella memoria principale, il suo registro di base contiene l'indirizzo iniziale della posizione di memoria in cui il processo è in esecuzione, mentre la quantità di byte consumati dal processo è memorizzata nel registro dei limiti. Un processo non fa riferimento direttamente all'indirizzo effettivo per una posizione di memoria corrispondente. Invece, utilizza un indirizzo relativo rispetto al suo registro di base. Tutti gli indirizzi indicati da un programma sono considerati indirizzi virtuali. La CPU genera l'indirizzo logico o virtuale, che viene convertito in un indirizzo effettivo con l'aiuto dell'unità di gestione della memoria (MMU). Il registro degli indirizzi di base viene utilizzato per la traduzione degli indirizzi da parte della MMU. Pertanto, un indirizzo fisico viene calcolato come segue:

    Indirizzo fisico = indirizzo registro base + indirizzo logico / indirizzo virtuale

L'indirizzo di qualsiasi posizione di memoria a cui fa riferimento un processo viene verificato per assicurarsi che non faccia riferimento a un indirizzo di un processo adiacente. Questa sicurezza di elaborazione è gestita dal sistema operativo sottostante.

Uno svantaggio dell'allocazione di memoria contigua è che il grado di multiprogrammazione è ridotto a causa di processi in attesa di memoria libera.

Cos'è l'allocazione di memoria contigua? - definizione da techopedia