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")
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.
Articoli simili
- Perché la tastiera del telefono ha quella in alto mentre quella della calcolatrice ha quella in basso?
- Come spostare i file dalla memoria interna a una scheda SD/memoria? Come si fa a spostare le app di LG Stylo 5 dalla memoria esterna alla scheda SD
- Un ambiente virtuale è la stessa cosa di una macchina virtuale?
- Cosa succede se uso una scheda SD con una memoria più grande di quella consentita per uno smartphone?