Frage

Ich bin ein bisschen verwirrt über die reine Segmentierung aufgrund in meinem Kopf existierte immer die Idee des virtuellen Gedächtnisses.

Wenn ich jedoch eine reine Segmentierung verstehe, ist auch ein virtueller Adressraum, der in Segmenten unterteilt ist, die alle in RAM geladen sind.

Der Unterschied mit dem virtuellen Gedächtnis mit Segmentierung ist, dass möglicherweise ein Segment vorhanden ist, das es nicht in RAM ist.

ist das richtig?

Ich füge eine Frage hinzu: Gibt es einen praktischen Unterschied zwischen der Segmentierung in Kombination mit Paging, und einer zweistufigen Paging?, Es ist derselbe, mit Ausnahme des "Grenzwerts" der Segmentmethode.Oder es gibt einen anderen Unterschied?

War es hilfreich?

Lösung

nein, es ist nicht richtig. Beispielsweise verwendet auf X86 die Segmentierung "weit" Zeiger, die aus zwei Teilen bestehen, die aus zwei Teilen bestehen: dem Segmentwähler (in ein Segmentregister, z. B. DS) und ein Versatz in das Segment. Segment-Offsets beginnen immer mit 0. Die CPU verwendet den Segmentwähler, um den Segmentkriptor zu finden, der die lineare Basisadresse, Länge und Zugriffsrechte des Segments enthält. Alle Zugriffe sind längenüberprüft; Wenn Sie versuchen, auf den Speicher außerhalb des Segmentlimits oder mit einem ungültigen Zugriff zuzugreifen (z. B. Schreiben in ein schreibgeschütztes Segment), erzeugt die CPU einen allgemeinen Schutzfehler.

Da Segmentadressen immer Null-basiert sind und die Segmentbasis im Segmentwahlschalter impliziert ist, kann das Betriebssystem Segmente um den Segment- und Defragmentspeicher verschieben, ohne die Programme mit diesen Daten zu beeinträchtigen. (Dagegen dies mit dem "flachen" Speichermodell, in dem Sie, wenn Sie einige Daten bewegen, auch alle Zeiger aktualisieren müssen, die darauf hinweisen.)

Nun, wenn Paging deaktiviert ist, ist die Signaladresse der linearen Segment ihre physische Speicheradresse. Wenn Paging aktiviert ist, werden alle Zugriffe auf Segmentdaten von der MMU wie üblich übersetzt.

Andere Tipps

Wenn Sie es ernst meinen, das Gedächtnismanagement auf dieser Ebene zu verstehen, ist eine hervorragende Erklärung zu finden, indem Sie Betriebssystemkonzepte von Silberschatz, Galvin und Gagne.Sie sollten in der Lage sein, eine günstige, ältere Ausgabe zu finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top