Nun die Speicherzuteilung betrachtet durchaus unterschiedliche Granularitäten oder Auflösungen
von freien Speicher, wie man so schön sagt. Diese unterschiedliche Auflösung, diese Granularität
hängt von dem jeweiligen Problem ab. Das ist ein bestimmter Zerlegungsgrad des freien Speichers,
der wirklich sehr problemspezifisch ausgelegt ist in dem Rechensystem. Wir kennen typischerweise
Worte Zellen und Kacheln als diese Zerlegungseinheiten, wenn man so will. Das Wort
ist typischerweise die Platzierungseinheit für den Hauptspeicher. Bei der Zelle spricht man
von der Platzierungseinheit für den Haldenspeicher, aber auch für den Hauptspeicher. Die Kachel ist
dann die Platzierungsnade, aber auch die Ersetzungseinheit für den Arbeitsspeicher.
Die Kachel kommt eigentlich nur ins Spiel, wenn wir Virtualisierung, Speichervirtualisierung betrachten.
Nun die Größen sind sehr unterschiedlich. Ein Wort ist typischerweise ein Vielfaches von
Bytes. Das ist abhängig von der CPU. Wenn man sich das historisch betrachtet, dann ist ein Wort 5
Bits oder 36 Bits groß gewesen. Heute würden wir sagen, bei einer 64-Bit-Architektur ist ein Wort
typischerweise 8 Bytes groß. Die Zelle als Platzierungseinheit für Halden und Hauptspeicher ist
im Wesentlichen abhängig in der Größe vom Laufzeit- und vom Betriebssystem. Hier haben wir so 8 Bytes
Varianten, 32 Bytes Varianten. Auf der anderen Seite könnten auch noch größere sein, aber hier
hängt es im Wesentlichen von dem Laufzeit-System, von den Maßnahmen innerhalb des Laufzeit-Systems und
des Betriebssystems ab, die nachher die Größe dieser Zelle einer solchen Zelle denn bestimmen.
Die Kachel ist abhängig von der Memory Management Unit im Wesentlichen, also von einer weiteren
Hardware-Komponente. Auch hier hat man unterschiedliche Größen, je nach Hardware. Typischerweise hat man
Kachelgrößen oder auch Seitengrößen von 4 Kilobyte. Die Kachel ist der Begriff für den realen
Adressraum, für den Hauptspeicher, den nachher auch für die Speicherverwaltung, wie wir es hier
betrachten. Und die Seite ist der Begriff für den logischen oder den virtuellen Adressraum. Kachel und
Seite sind gleich groß. Diese Granulate werden typischerweise in uniforme Segmente zusammengefasst,
wo die Adressen dieser Segmente dann entsprechend dem Vielfachen einer Granulatgröße entsprechen.
Die sind also wortorientiert, zellentorientiert oder kachelorientiert oder entsprechend dieser
Größe eben ausgerichtet. Die Segmente bilden dann eine Schutzeinheit im logischen Adressraum. Das
muss nicht so sein, dass diese Schutzeinheit doch wirklich physisch durch eine entsprechende
segmentierte Memory Management Unit erreicht wird, sondern vielleicht nur durch spezielle Maßnahmen,
die im Betriebssystem dann auf Basis einer Seitenbasierten Memory Management Unit ausgelegt
sind. Dazu werden wir später noch mehr kennenlernen. Aber diese Segmente sind eine
Schutzeinheit im logischen Adressraum, wo man denn sagen kann, aus solchen Segmenten würden die
Prozesse möglicherweise nicht ausbrechen können. Zumindest gelten für diese Segmente bestimmte
Zugriffsrechte etwa. Diese Schutzeinheit oder dieser Schutz, der über diese Einheit denn im
logischen Adressraum gewährleistet wird, basiert aber für gewöhnlich denn darauf, dass eben diese
Ausrichtung des Alignment im Haupt- und Arbeitsspeicher denn gewährleistet. Nur die
Platzierungsstrategie sind Verfahren, wo man je nach Speicherauflösung eben unterscheidet zwischen
der sogenannten segmentierten Speicherauflösung und der gekachelten Speicherauflösung. Was wir uns
denn im Folgenden noch ein bisschen genauer anschauen wollen. Segmentierte gekachelte
Speicherauflösung. Man muss einfach sehen, dass die Segmente, so ist ein Segment definiert,
eine eigene Größe haben können. Die können also unterschiedlich groß sein. Die Attribute,
die also hier mit Segmenten an Relevanz im Vordergrund stehen, sind Granularität,
Adresse und die Länge. Bei den Kacheln ist das gleiche gilt dann nachher für die Seiten. Die
sind alle gleich groß. Sie unterscheiden sich dann lediglich durch ihre Adressen. Das ist das
einzige Unterscheidungsmerkmal, wenn man so will. Und entsprechend gestaltet sich eben auch die
Verwaltungsoperation. Wenn es denn darum geht, Speicher zu verwalten, eben sehr unterschiedlich.
Man kann sagen, es ist allgemein komplizierter für Segmente im Vergleich zu der gekachelten
Speicherverwaltung. Einfach, weil man mehr Freiheitsgrade hinsichtlich der unterschiedlichen
Attribute, Granularität, Adresse und Länge hat als etwa bei den Kacheln. Nun, um Granulate,
Worte, Zellen oder Kacheln im Hauptspeicher platzieren zu können, muss man wissen,
wo die freien Speicherbereiche denn halt sind. Das heißt, man muss Buch auch darüber führen,
Presenters
Zugänglich über
Offener Zugang
Dauer
00:30:19 Min
Aufnahmedatum
2020-06-22
Hochgeladen am
2020-06-22 18:06:42
Sprache
de-DE