66 - 6.2.5 Speicher: Speicherzuteilung [ID:18328]
50 von 276 angezeigt

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,

Teil einer Videoserie :

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

Tags

module programmstruktur Variablen Datentypen Preprozessor Gültigkeit
Einbetten
Wordpress FAU Plugin
iFrame
Teilen