Hardware Reference
In-Depth Information
8 Virtueller Speicher
Moderne Prozessoren erlauben es einem Betriebssystem, jedem Prozess einen
eigenen Adressraum mit 64-Bit-Adressen zur Verfugung zu stellen. Da kein
System uber so viel Speicher verfugt, werden Mechanismen eingebaut, die
einem Prozess diesen großen Adressraum lediglich virtuell vorspielen. Prozes-
sor und Betriebssystem helfen gemeinsam, mit dem zur Verfugung stehenden
physischen Speicher jedem Prozess den gleichen großen Adressraum vorzu-
spielen. Dadurch ist die Anwendungsprogrammierung unabhangig von den
tatsachlichen physischen Gegebenheiten des Speichers, was die Programmie-
rung erheblich erleichtert.
Der reale Speicher wird in Blocke unterteilt, so genannte Seiten oder Pages .
Jedem Prozess werden davon Seiten nach Bedarf zugeteilt. Abbildung 8.1
zeigt diese Organisation. In der Mitte ist der physisch vorhandene Speicher
dargestellt. Links und rechts davon sind die Adressraume von zwei Prozes-
sen gezeichnet. Die Pfeile reprasentieren die Zuordnung der Seiten in den
virtuellen Speicherbereichen auf physischen Speicher. Bei jedem Speicherzu-
griff muss der Prozessor die virtuelle in eine physische Adresse umrechnen.
Durch diesen Mechanismus wird gewahrleistet, dass Prozesse ausschließlich
auf die ihnen zugeteilten Seiten im physischen Speicher zugreifen konnen.
Sehr wichtig ist, dass dieser Umrechnungsvorgang sehr schnell ablauft, da
er ja bei jedem Speicherzugriff erforderlich ist. Nur durch diesen Mechanis-
mus ist es moglich, moderne Multitasking- und Multiuser-Betriebssysteme
zu schreiben. Auf einfachen Prozessoren, die uber keine Vorkehrungen fur die
virtuelle Speicherverwaltung verfugen, lasst sich kein vollstandiges Betriebs-
system wie etwa Linux oder Windows XP starten. Die Speicherbereiche der
einzelnen Prozesse konnten dort nicht voreinander abgeschottet werden, was
ein erhebliches Sicherheitsrisiko bedeuten wurde. Die in Hardware realisierten
Teile der Speicherverwaltung heißen Memory Management Unit , kurz MMU.
Wenn der physische Speicher nicht ausreicht, um den Speicherbedarf der Pro-
zesse zu befriedigen, kann das Betriebssystem einzelne Seiten auf eine Fest-
platte auslagern. Man spricht dabei von Demand Paging . Details obliegen
dem Betriebssystem und sind in der entsprechenden Literatur nachzulesen.
8.1
8.1 Organisation des virtuellen Speichers bei MMIX
Bei MMIX ist der Speicher in zwei große Bereiche geteilt: Dem Betriebssystem
sind alle Adressen uber #8000 0000 0000 0000 vorbehalten, also negative
Adressen, wenn man sie als Zahlen in Zwei-Komplement-Darstellung betrach-
tet. Anwenderprogrammen stehen die positiven Adressen zur Verfugung. Ein
Search WWH ::




Custom Search