Was ist der unterschied zwischen virtueller und realer Adresse in der Informatik?

...komplette Frage anzeigen

1 Antwort

Eine reale Adresse ist eine  physikalische Hardwareadresse für einen Speicher. Sie greift auf ein reales Stück Speicher zu. Wenn du 4 GB realen Speicher hast,  gibt es genau so viele physikalische Adressen, angefangen bei Adresse 0

Eine virtuelle Adresse wird von den Befehlen eines Programms verwendet.
Diese Befehle tun so,  als ob ob es losgelöst von der Wirklichkeit, einen eigenen programmeigenen (großen) Speicher gäbe. 

Die Anzahl der virtuellen Adressen  steigt mit der Anzahl der Prozesse (Programme). Jedes Programm sieht vor sich einen eigenen virtuellen Speicher. Für jedes Programm beginnt der Speicher mit Adresse 0 und hat zwar einen systembedingten Maximalwert, der aber nicht mit dem realen Speicher notwendigerweise zusammenhängt.  d.h. es können viel mehr Adressen verwendet werden, als es reale Adressen gibt.

Erst wenn dann ein realer Speicherzugriff nötig ist, muss diese
virtuelle Adresse in eine reale physikalische Adresse umgerechnet
werden.   Diese Umrechnung bzw. Umsetzung wird von einer MMU  ( Memory Management Unit ) erledigt.

Guck auch hier, da ist auch ein Bild:

https://de.wikipedia.org/wiki/Memory_Management_Unit

Was möchtest Du wissen?