QNA > C > C'è Una Differenza Tra La Memoria Logica E Quella Virtuale?

C'è una differenza tra la memoria logica e quella virtuale?

Come si usa normalmente, la memoria "logica" è l'indirizzo effettivamente usato all'interno del vostro programma. (Raramente uso questo termine).

La memoria fisica è l'effettivo hardware di memoria in lettura/scrittura sul vostro dispositivo. Normalmente è la RAM, ma i sistemi moderni possono fare uso di altri dispositivi di lettura/scrittura su un computer, come dischi rigidi, unità a stato solido, ecc come spazio di swap, trattandoli con metodi di memoria virtuale (vedi sotto) come estensioni del possibile pool di memoria disponibile per le applicazioni. (La memoria fisica può anche includere la memoria di sola lettura (ROM), ma la salterò perché è una distrazione per questa discussione e non è normalmente usata per i programmi utente al di fuori del mondo dei piccoli dispositivi)

La memoria virtuale è il modo in cui la maggior parte dei sistemi operativi per dispositivi più grandi effettivamente funziona. Il sistema operativo vi dà quella che sembra essere una sequenza contigua di indirizzi di memoria che mappano la memoria fisica, che può essere memorizzata nella RAM o eventualmente su disco se non c'è abbastanza RAM disponibile per tutti i processi in esecuzione. (Se si accede a un indirizzo che è su disco al momento nel vostro programma, esso'sarà caricato in RAM dal sistema operativo/MMU, e qualche altra memoria sarà "paginata fuori")

main-qimg-3daccf531294e75772f89730efa52530.webp

Naturalmente, la paginazione è estremamente lenta, ed è per questo che una volta superata la RAM disponibile e utilizzato lo "spazio di swap" su disco/SSD, il computer gira visibilmente più lentamente.

Alcuni sistemi, come l'RTOS in molti piccoli dispositivi, non supportano la memoria virtuale (dopo tutto, spesso non hanno dischi!), e gli indirizzi di memoria usati nei programmi si riferiscono direttamente alla RAM indirizzabile.

Di Fennessy

Perché i cavalli perdono i ferri? :: Quali sono alcuni nomi intelligenti che le aziende hanno chiamato le loro sale conferenze, server, ecc?
Link utili