- Adressraum
-
Als Adressraum wird eine Menge von Adressen bezeichnet, die sich jede einheitlich und (innerhalb des Adressraums) eindeutig ansprechen (adressieren) lässt.
Inhaltsverzeichnis
Beispiele
Beispiele für Adressräume sind die Menge aller:
- Telefonnummern – zum Beispiel der deutsche Adressraum beginnend mit +49
- IP-Adressen – zum Beispiel der IPv4-Adressraum von 0.0.0.0 bis 255.255.255.255
- adressierbaren Speicheradressen in einem Rechner (s. u.)
- E-Mail-Adressen einer Domain – zum Beispiel alle local-parts @de.wikipedia.org
- Domain Name System/FQDN
Adressraum in der Informationstechnologie
Der Arbeitsspeicher in Computern wird mit Hilfe von Adressen verwaltet und angesprochen. In modernen Computern gibt es dabei aber nicht nur einen einzigen Adressenraum, vielmehr sind häufig Speicherverwaltungsmechanismen zuschaltbar, die es ermöglichen verschiedene Adressräume zu benutzen. Die Abbildung der Adressen eines Adressraums auf die jeweiligen Speicherzellen wird von der Speicherverwaltung übernommen. Diese Abbildung kann auch mehrstufig geschehen, sodass Adresse a aus Adressraum A auf Adresse b des Adressraumes B abgebildet wird und erst die Adresse b wird dann auf die Adresse der anzusprechenden Speicherzelle abgebildet. Des Weiteren kann sich die Adressumsetzung während der Laufzeit ändern, wodurch ein und derselben Adresse eines Adressraums zu verschiedenen Zeitpunkten verschiedene Speicherzellen zugeordnet sein können.
Gebräuchliche Speicheradressräume
In modernen Computersystemen finden u. a. folgende Speicheradressräume Anwendung:
- Physischer Adressraum
- Der physische Adressraum ist die Menge aller durch einen Prozessor ansprechbaren Speicheradressen. Die Größe dieses Adressraumes wird durch die Zahl der Adressleitungen des Prozessors oder der Speicherverwaltung (MMU) begrenzt.
- Der physische Adressraum wird in der Regel nicht einfach auf den vorhandenen Arbeitsspeicher abgebildet („gemappt“). Bestimmte Adressbereiche sind für spezielle Funktionen reserviert, sie dienen der Kommunikation mit Hardwarekomponenten (zum Beispiel die AGP-Apertur zur Kommunikation mit der Grafikkarte) oder dem Zugriff auf nichtflüchtigen Speicher (zum Beispiel Flash-ROMs, die das BIOS enthalten). Der im System verfügbare Arbeitsspeicher (RAM) wird über Adressbereiche zwischen den reservierten Bereichen angesprochen. Dadurch ist der vorhandene Arbeitsspeicher mancher Systeme nicht über einen einzigen, zusammenhängenden und an der ersten physischen Adresse beginnenden Adressbereich ansprechbar. Abhängig von der Systemspeicheraustattung sind Teile des physischen Adressraums nicht zugeordnet, also unbenutzbar.
- Um den physischen Adressraum zu erweitern, hat man früher Bank Switching in Form von Erweiterungen wie etwa EMS verwendet.
- Neben dem Arbeits- und Programmspeicher ist auch noch der I/O-Adressraum wichtig, der je nach Computersystem als Memory Mapped I/O oder als Isolated I/O ausgeführt sein kann.
- Linearer Adressraum
- Bei modernen Prozessoren können Betriebssystem und MMU in Zusammenarbeit einen virtuellen von der ersten bis zur letzten linearen Adresse zusammenhängenden Adressraum bilden. Dies geschieht mittels sogenannter Seitenverwaltung. Sie ermöglicht einen linearen Adressraum, der größer sein kann als die Menge der real im System vorhandenen Arbeitspeicherzellen. Je nach Prozessor und dessen MMU kann der lineare Adressraum sogar größer sein als der physische Adressraum (zum Beispiel beim PowerPC).
- Wird keine Seitenverwaltung unterstützt oder ist sie abgeschaltet, sind physischer und linearer Adressraum identisch.
- Logischer Adressraum
- Mit Hilfe von Segmentierung teilen Betriebssystem und MMU den linearen oder (direkt) den physischen Adressraum in Segmente und bilden somit den logischen Adressraum. Logische Adressen bestehen aus zwei Teilen, einer Segmentadresse und einem Offset. Die Segmentadresse gibt an, aus welchem Segment des linearen Adressraums eine Adresse angesprochen werden soll. Der Offset adressiert, relativ zum Segmentanfang, die Speicherstelle innerhalb des Segments, die angesprochen werden soll. Ist nur der Offset angegeben, ist meist das aktuelle Segment gemeint („implizite Adressierung“).
- Ist die Speichersegmentierung nicht vorhanden oder deaktiviert, sind logischer und linearer Adressraum identisch.
Moderne Betriebssysteme
In modernen Desktop- oder Serverbetriebsystemen wie Windows XP, Solaris oder Linux (ab Kernelversion 2.6), werden, außer während des Systembootvorgangs, durchgängig lineare Adressräume benutzt. Da auf x86er Prozessoren im 32-Bit-Protected-Modus die Segmentierung nicht abschaltbar ist, wird hier ein stark vereinfachter logischer Adressraum benutzt, bei dem sich Programm-, Daten- und Stacksegment über den gesamten linearen Adressraum erstrecken, beginnend an der kleinsten linearen Adresse. Somit findet auch hier effektiv keine Segmentierung statt und Offset und lineare Adresse sind identisch.
Siehe auch
Wikimedia Foundation.