[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
|||
Zeile 24: | Zeile 24: | ||
<p> | <p> | ||
{{#index:Wir brauchen ein Betriebssystem|Notwendigkeit Betriebssystem}} | |||
<loop_area type="important">'''Wir brauchen ein Betriebssystem!''' | |||
<p> | <p> | ||
Und eine der Aufgaben des Betriebssystems wird die Verwaltung des Hauptspeichers und die Versorgung aller Prozesse mit benötigten Teilen des Hauptspeichers sein. | Und eine der Aufgaben des Betriebssystems wird die Verwaltung des Hauptspeichers und die Versorgung aller Prozesse mit benötigten Teilen des Hauptspeichers sein. | ||
Zeile 58: | Zeile 59: | ||
<p> | <p> | ||
{{#index:Virtueller Speicher|Speicher, virtuell}} | |||
<loop_area type="definition">'''Definition: Virtueller Speicher''' | <loop_area type="definition">'''Definition: Virtueller Speicher''' | ||
<p> | |||
Unter dem '''virtuellen Speicher eines Prozesses''' versteht man den Speicherbereich, der einem Prozess durch das Betriebssystem zur Verfügung gestellt wird. | Unter dem '''virtuellen Speicher eines Prozesses''' versteht man den Speicherbereich, der einem Prozess durch das Betriebssystem zur Verfügung gestellt wird. | ||
</p> | </p> | ||
Zeile 82: | Zeile 84: | ||
<p> | <p> | ||
{{#index:Physikalische Speicheradresse|Physikalische Adresse|Speicheradresse, physikalisch|Adresse, physikalisch}} | |||
<loop_area type="definition">'''Definition: Physikalische Speicheradresse''' | <loop_area type="definition">'''Definition: Physikalische Speicheradresse''' | ||
<p> | |||
Unter einer '''physikalischen Speicheradresse''' versteht man eine Adresse innerhalb des physikalischen Speichers eines Rechners. | Unter einer '''physikalischen Speicheradresse''' versteht man eine Adresse innerhalb des physikalischen Speichers eines Rechners. | ||
</p> | </p> | ||
Zeile 90: | Zeile 93: | ||
<p> | <p> | ||
{{#index:Virtuelle Speicheradresse|Virtuelle Adresse|Speicheradresse, virtuell|Adresse, virtuell}} | |||
<loop_area type="definition">'''Definition: Virtuelle Speicheradresse''' | <loop_area type="definition">'''Definition: Virtuelle Speicheradresse''' | ||
<p> | |||
Unter einer '''virtuellen Speicheradresse''' versteht man eine Adresse innerhalb des virtuellen Speichers eines Prozesses. | Unter einer '''virtuellen Speicheradresse''' versteht man eine Adresse innerhalb des virtuellen Speichers eines Prozesses. | ||
</p> | </p> |
{{#index:MMU|Memory Management Unit}}Die Memory Management Unit, kurz MMU, ist eine Hardware-Komponente, welche üblicherweise direkt auf der CPU beheimatet ist. Sie unterstützt das Betriebssystem bei der {{#index:Verwaltung Hauptspeicher|Hauptspeicher, Verwaltung mit MMU}}Verwaltung des Hauptspeichers, und trägt so zu einer größeren Flexibilität und besseren Ausnutzung des vorhandenen {{#index:physikalischer Speicher|Speicher, physikalischer}}physikalischen Speichers ({{#index:RAM}}RAM) bei.
Bevor die konkrete Arbeitsweise der MMU erläutert wird, sei kurz an den bisherigen Stand der Hauptspeicherverwaltung erinnert.
Die bisher betrachtete Hauptspeicherverwaltung hat mit Hilfe des Basisregisters jeweils zusammenhängende Speicherbereiche für jeden im RAM eingelagerten Prozess zugreifbar gemacht. Der Speicherschutz wurde mit Hilfe des Limitregisters realisiert.
Nachteilig, weil wenig flexibel, ist hierbei der Zwang zum zusammenhängenden Speicherbereich. Es muss bereits ganz zu Beginn festgelegt werden, wie groß dieser Speicherbereich ist. Nachträgliche Änderungen dieser Größe (d.h. zur Laufzeit des betreffenden Prozesses) sind zwar nicht unmöglich, aber i.d.R. sehr zeitintensiv und damit in der Durchführung nicht zu empfehlen.
Um eine Flexibilisierung der Speicherverwaltung zu erreichen, wurden in Betriebssysteme Konzepte einer virtuellen Speicherverwaltung integriert. Die bereits von vorangegangenen Seiten bekannte Forderung wird hier wiederholt:
{{#index:Wir brauchen ein Betriebssystem|Notwendigkeit Betriebssystem}}
Wir brauchen ein Betriebssystem!
Und eine der Aufgaben des Betriebssystems wird die Verwaltung des Hauptspeichers und die Versorgung aller Prozesse mit benötigten Teilen des Hauptspeichers sein.
Die virtuelle Speicherverwaltung kann sehr kompilziert erscheinen, wenn man sie allein durch Worte und ein paar Abbildungen beschreiben, bzw. verstehen soll. Glücklicherweise gibt es das folgende Video, welches die Grundlagen anschaulich zeigt.
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Aus dem Video folgen einige Definitionen:
Definition: Physikalischer Speicher
Unter dem physikalischen Speicher eines Computers versteht man den tatsächlich in dieses Gerät verbauten Speicher, soweit er direkt von der CPU oder der MMU angesprochen werden kann.
{{#index:Virtueller Speicher|Speicher, virtuell}}
Definition: Virtueller Speicher
Unter dem virtuellen Speicher eines Prozesses versteht man den Speicherbereich, der einem Prozess durch das Betriebssystem zur Verfügung gestellt wird.
Man bemerke hier eine entscheidende Kleinigkeit in den Definitionen:
Der physikalische Speicher bezieht sich auf den Computer, während der virtuelle Speicher auf einen Prozess bezogen wird!
Da bei den vorangegangenen Definitionen der Speicher an sich unterschieden wurde, gibt es auch bzgl. der Speicheradressen eine Unterscheidung:
{{#index:Physikalische Speicheradresse|Physikalische Adresse|Speicheradresse, physikalisch|Adresse, physikalisch}}
Definition: Physikalische Speicheradresse
Unter einer physikalischen Speicheradresse versteht man eine Adresse innerhalb des physikalischen Speichers eines Rechners.
{{#index:Virtuelle Speicheradresse|Virtuelle Adresse|Speicheradresse, virtuell|Adresse, virtuell}}
Definition: Virtuelle Speicheradresse
Unter einer virtuellen Speicheradresse versteht man eine Adresse innerhalb des virtuellen Speichers eines Prozesses.
Eine physikalische Adresse ist eindeutig, d.h. es gibt sie nur einmal pro Rechner. Wie ist das bei einer virtuellen Adresse? Ist diese auch eindeutig, oder ist sie mehrdeutig? Erläutere!
{{#index:MMU, Arbeitsweise|Arbeitsweise, MMU}}
Wie im Video zu sehen ist, wird durch die Einführung einer Memory Management Unit das Betriebssystem bei der Umrechnung von virtuellen in physikalische Speicheradressen unterstützt. Da die MMU als Hardware auf genau diese Tätigkeit optimiert wurde, kann sie diese Umrechnung sehr viel schneller durchführen, und so bei jedem einzelnen Hauptspeicherzugriff einen Geschwindigkeitsvorteil erzielen.
Basis- und Limitregister fallen durch den Einsatz der MMU weg. Sie werden nicht mehr benötigt.
Eine etwas detailliertere Betrachtung der virtuellen Speicherverwaltung geschieht später im Kapitel Betriebssysteme.
Eine der Aufgaben der MMU ist die Umrechnung von virtuellen in physikalische Speicheradressen. Aber das kann noch nicht alles sein. Denk' mal daran, was durch die MMU auf der CPU alles weggefallen ist.
Was ist also eine weitere Aufgabe der MMU?
Ein Computer besitzt 2 GiB physikalischen Speicher. Jeder gestartete Prozess besitzt 4 GiB virtuellen Speicher. Die typische Größe einer einzelnen virtuellen Seite bei Verwendung der virtuellen Speicherverwaltung beträgt 4 KiB.
Swapping kennst du bereits. Es bezeichnet das Aus- und Einlagern eines kompletten Prozesses. Diskutiere die folgenden Fragen in deiner Lerngruppe:
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png