Betriebssysteme // Kapitel 8: Speicherverwaltung
Was geschieht mit den Speicheradressen eines Programms, wenn das Betriebssystem 'Memory Abstraction' mittels Basis-Register verwendet?
Das Programm nutzt relative (logische) Adressen (startet bei 0). Die CPU addiert bei jedem Zugriff automatisch den Wert des Basis-Registers, um die physische Adresse im RAM zu berechnen.
Warum ist der Zugriff auf den Heap langsamer oder komplexer als auf den Stack?
Der Stack ist ein LIFO-Speicher mit strikter Ordnung. Der Heap erlaubt wahlfreien Zugriff und beliebige Allokation/Freigabe, was zu Fragmentierung führen kann und Verwaltung (z.B. durch malloc/free) erfordert.
Welches Problem entsteht, wenn Programme ohne Speicherabstraktion direkt auf physische Adressen zugreifen?
Es kann nur ein Programm gleichzeitig laufen, oder Programme würden sich gegenseitig den Speicher überschreiben, da sie feste Adressen nutzen müssten.