Nun die Adressräume. Wir unterscheiden hier grundsätzlich drei unterschiedliche Arten von
Adressräumen. Den realen Adressraum, den logischen und den virtuellen Adressraum.
Und wir starten mal mit dem realen Adressraum. Hier ist zunächst die Adressraumbelegung zu
erwähnen, die im Wesentlichen fest vorgibt, an welchen realen Adressen in diesem Adressraum,
denn eben welche Objekte liegen. Die Objekte sind Speicherstellen. Unterschiedliche Arten
von Speicher gibt es. Es gibt nicht nur RAM, wo unsere Programme denn für gewöhnlich drinliegen
und zur Ausführung kommen. Es gibt den ROM oder es gibt den EPROMS. Ein Ausgabegeräte
müssen gegebenenfalls adressiert werden und so weiter und so zu. Und es gibt auch Lücken.
Und was von dem Adressraum bei einer gegebenen Hardware wirklich verwendet ist, also was darin
belegt ist, wird durch einen sogenannten Adressraumbelegungsplan bestimmt. Und ein
Betriebssystem muss sich an diesen Belegungsplan richten, um zu wissen, an welchen Stellen denn
überhaupt Speicher, Hauptspeicher für die Ausführung von sich selbst wie auch dem Maschinenprogramm
denn verfügbar ist. Hier haben wir mal so ein Beispiel von einer 32-Bit-Maschine, wo wir denn
unterschiedliche Adressbereiche sehen. Die sind halt hier in der linken Spalte, denn mit Hexen
die dezimalen Adresswerten. Denn angegeben, denn haben wir in der mittleren Speicher die Größe dieses
jeweiligen Bereichs und dann eigentlich die Bedeutung. Und wir sehen hier, dass eben nicht
nur Speicher, sprich RAM oder ROM halt als so typische Speichertypen denn verwendet werden,
sondern eben auch wie Peripheriegeräte. Man könnte also hier zum Beispiel diese ganzen
Videoaktivitäten und Videopunkte, die da existieren, dann eben dazu ziehen. Wir sehen eben auch,
dass möglicherweise gar nichts drin ist. Also hier gibt es gar keine Belegung von mehr oder weniger
großen Bereichen. Das sind 96 Kilobyte, die hier nicht belegt sind, aber hier fast 4 Gigabyte,
die für diesen 32-Bit-Prozessor nicht belegt sind. Also wir sehen hier die RAM-Erweiterung letztendlich,
die ja nun überhaupt nicht im Gigabyte-Bereich liegt, sondern eher im Megabyte-Bereich. So um die
150 Megabyte, die wir dann praktisch dann hier jeweils verfügbar haben. Diese konkrete Auslegung
gibt ein Hardware-Hersteller eines Rechensystems vor. Das Beispiel, was ich also hier gezeigt habe,
ist mal von einem meiner ersten 32-Bit Notebooks, ein Toshiba Tegra, von 1996, ziemlich alt. In den
heutigen Handbüchern für so eine Prozessoren, so man die überhaupt noch bekommt, oder man muss
schon sagen für die Handbücher für die Notebooks oder für die Prozessoren inklusive Peripheriegeräte,
hat man nicht immer noch solche Tabellen verfügbar. Aber das Betriebssystem muss diese Tabellen kennen,
um dann eben zu wissen, wo liegt was, also wo kann ich denn überhaupt auch etwas platzieren. Und wir
können davon ausgehen, dass eigentlich nur in diesen RAM-Bereichen hier, in dem vorderen Bereich,
und hier das, was als Erweiterungs-RAM, denn gilt, unsere Maschinenprogramme und auch das
Betriebssystem zur Ausführung kommen kann. Was wir hier halt hier insbesondere sehen, sind die
ungültigen Adressen, die hier rot markiert sind jeweils. Und wenn die können natürlich, die
könnten generiert werden, also wenn wir uns in einem realen Adressraum bewegen, dann können wir
jede diese Adressen halt hier natürlich generieren und auf dem Bus legen, wie man so schön sagt.
Und das würde dann bedeuten, dass solche undefinierten Adressen, wo also nichts dahinter
ist, also wo wirklich die Lücken sind, dahingehend, dass da kein Gerät, weder RAM noch ein Ausgabegerät
dahinter steckt, denn würde es zum Busfehler, Bus Errors, führen. Das gilt für diese beiden
rot markierten Bereiche, die wir halt hier sehen. Hardware von heute wird da immer einen Trepp
generieren. Also früher gab es durchaus Prozessoren, die haben gesagt, okay, da ist denn nichts und wir
machen trotzdem weiter. Heute ist das typischerweise ein Trepp. Also auch, wenn wir keine Memory
Management Unit, wie wir sie später kennenlernen werden, verwenden, wird einfach so eine Art Bus
Timeout geschehen. Eine Adresse, die halt hier in diesem hier markierten Bereich halt auf dem Bus
gelegt wird, wird eben zu so einem Busfehler führen, weil nämlich keine Antwort sozusagen
von einem Gerät, von einem Adressaten sozusagen zurück kommt. Und dieser Busfehler wird dann
letztendlich von dem Prozessor eben als Trepp dann angezeigt oder im Betriebssystem in entsprechender
Form behandelt. Das sind die ungültigen Adressen. Dann haben wir reservierte Adressen. Auch das sind
hier so die Adressen, die mit dem Video-RAM, dem BIOS zum Beispiel zu tun haben oder das,
was hier als System Management RAM halt bezeichnet wurde für diesen Rechner. Nun reservierte Adressen
Presenters
Zugänglich über
Offener Zugang
Dauer
00:08:34 Min
Aufnahmedatum
2020-12-21
Hochgeladen am
2020-12-22 00:18:44
Sprache
de-DE