Alle Tabs der Lerneinheit (Erklärung · Interaktiv verstehen · Praxis-Übung · Klausur-Quiz) als durchgehender Text. Ideal zum Wiederholen vor der Klausur, und für Suchmaschinen wie Google, Bing und KI-Suche (ChatGPT, Perplexity).
Diese Lerneinheit wurde für typische Bachelor-Klausuren konzipiert. So prüfen wir · Fehler entdeckt? Melde ihn uns oder markiere die fragliche Stelle direkt im Text oben.
Alle Tabs der Lerneinheit (Erklärung · Interaktiv verstehen · Praxis-Übung · Klausur-Quiz) als durchgehender Text. Ideal zum Wiederholen vor der Klausur, und für Suchmaschinen wie Google, Bing und KI-Suche (ChatGPT, Perplexity).
Jeder Prozess tut so, als gehöre ihm der gesamte Speicher allein, von Adresse 0 aufwärts. Wie kann das gleichzeitig für Dutzende Prozesse stimmen? Die Antwort ist virtueller Speicher: das Betriebssystem entkoppelt die Adressen, die ein Programm sieht, von den echten Adressen im RAM. Die wichtigste Technik dafür ist Paging.
Was du in der Klausur können musst:
Klausur-Tipp: Rechne physische Adresse = Frame × Seitengröße + Offset. Prüfe zuerst, ob die Seite present ist (sonst Seitenfehler), und vergiss nie, dass der Offset unverändert übernommen wird.
Anmelden, um den Fortschritt zu speichern.
Nächster Schritt
Aktives Abrufen festigt Wissen schneller als nochmal lesen.
Jeder Prozess tut so, als gehöre ihm der gesamte Speicher allein, von Adresse 0 aufwärts. Wie kann das gleichzeitig für Dutzende Prozesse stimmen? Die Antwort ist virtueller Speicher: das Betriebssystem entkoppelt die Adressen, die ein Programm sieht, von den echten Adressen im RAM. Die wichtigste Technik dafür ist Paging.
Was du in der Klausur können musst:
Virtueller Speicher gibt jedem Prozess einen eigenen, zusammenhängenden Adressraum. Beim Paging wird dieser in gleich große Seiten zerlegt, die über eine Page Table auf beliebige Frames im physischen RAM abgebildet werden.
Eine virtuelle Adresse zerfällt in zwei Teile:
Die Page Table bildet die Seitennummer auf eine Frame-Nummer im physischen Speicher ab. Die physische Adresse ergibt sich dann aus Frame-Nummer und unverändertem Offset:
physische Adresse = Frame-Nummer × Seitengröße + Offset
Der Offset bleibt gleich, nur die Seitennummer wird übersetzt. Die Übersetzung erledigt die MMU (Memory Management Unit) in Hardware.
Verfolge die Übersetzung im Visualizer:
Interaktive Visualisierung
Interaktive Komponente: probiere sie im Topic-Player oben aus.
Statt gleich großer Seiten teilt die Segmentierung den Speicher in logische Segmente variabler Größe, die der Programmstruktur folgen (Code, Daten, Stack, Heap). Eine Adresse besteht aus Segmentnummer und Offset, eine Segmenttabelle liefert Basisadresse und Länge (mit Schutzprüfung).
| Paging | Segmentierung | |
|---|---|---|
| Einheit | feste Seiten | logische Segmente (variabel) |
| Adresse | Seite + Offset | Segment + Offset |
| Fragmentierung | intern (letzte Seite halb leer) | extern (Lücken zwischen Segmenten) |
| Sicht | physiknah, einfach | logisch, programmnah |
Moderne Systeme setzen überwiegend auf Paging (oft mehrstufig), teils kombiniert mit Segmentierung. Der entscheidende Vorteil des Paging: keine externe Fragmentierung, denn jede Seite passt in jedes Frame.
1. Virtueller Speicher entkoppelt logische (virtuelle) von physischen Adressen. MMU und Page Table übersetzen.
2. Paging: Seite ↔ Frame, gleich groß. Virtuelle Adresse = Seitennummer + Offset; der Offset bleibt unverändert.
3. Page Table bildet Seite → Frame ab; der TLB cacht diese Übersetzungen für Tempo.
4. Page Fault: Seite nicht im RAM, das OS lädt sie nach (Demand Paging), evtl. mit Verdrängung (LRU/FIFO).
5. Segmentierung: logische Segmente variabler Größe, Adresse = Segment + Offset.
6. Fragmentierung: Paging erzeugt interne, Segmentierung externe Fragmentierung.
1. Den Offset mitübersetzen. Nur die Seitennummer wird auf ein Frame abgebildet. Der Offset bleibt unverändert und wird einfach angehängt.
2. TLB und Page Table verwechseln. Der TLB ist ein kleiner schneller Cache (in der MMU), die vollständige Page Table liegt im RAM.
3. Page Fault als Programmfehler deuten. Ein Seitenfehler ist ein normaler Mechanismus (Nachladen von der Platte), kein Absturz.
4. Interne und externe Fragmentierung vertauschen. Paging hat interne (ungenutzter Rest in der letzten Seite), Segmentierung externe (Lücken zwischen Segmenten).
5. Seitengröße für variabel halten. Seiten sind fix gleich groß; nur Segmente sind variabel groß.
6. Annehmen, der ganze Adressraum müsse in den RAM passen. Dank Demand Paging und Swapping kann der virtuelle Adressraum größer als der physische RAM sein, nicht alle Seiten sind gleichzeitig geladen.
Verschiebe die virtuelle Adresse und beobachte: Seitennummer und Offset werden abgespalten, die Page Table liefert das Frame, der Offset bleibt gleich. Bei Seite 2 (nicht im Speicher) siehst du einen Seitenfehler.
Interaktive Visualisierung
Interaktive Komponente: probiere sie im Topic-Player oben aus.
Klausur-Tipp: Rechne physische Adresse = Frame × Seitengröße + Offset. Prüfe zuerst, ob die Seite present ist (sonst Seitenfehler), und vergiss nie, dass der Offset unverändert übernommen wird.
Klausurfragen mit Lösungen (6)
Antwort: er entkoppelt die virtuellen Adressen eines Prozesses von den physischen RAM-Adressen
Erklärung: Virtueller Speicher gibt jedem Prozess einen eigenen, zusammenhängenden Adressraum und übersetzt diese virtuellen Adressen (per MMU und Page Table) auf physische RAM-Adressen. Der physische RAM wird dadurch nicht größer.
Antwort: Seitennummer und Offset
Erklärung: Beim Paging zerfällt die virtuelle Adresse in die Seitennummer (welche Seite) und den Offset (Position innerhalb der Seite). Die Seitennummer wird über die Page Table in eine Frame-Nummer übersetzt.
Antwort: er bleibt unverändert und wird an die Frame-Nummer angehängt
Erklärung: Nur die Seitennummer wird auf ein Frame abgebildet. Der Offset bleibt unverändert: physische Adresse = Frame × Seitengröße + Offset.
Antwort: ein kleiner, schneller Cache für die zuletzt genutzten Page-Table-Einträge
Erklärung: Der TLB ist ein kleiner, sehr schneller Cache (in der MMU) für kürzlich genutzte Übersetzungen. Ein TLB-Hit erspart den langsameren Zugriff auf die Page Table im RAM.
Antwort: Falsch
Erklärung: Falsch. Ein Page Fault ist ein normaler Mechanismus: die Seite liegt gerade nicht im RAM, das Betriebssystem lädt sie von der Platte nach (Demand Paging) und setzt das Programm fort. Erst ein Zugriff auf eine ungültige Adresse wäre ein echter Fehler.
Typ: Wahr/Falsch
Antwort: 36 (Toleranz ±0.5)
Erklärung: Seite = 20 ÷ 16 = 1, Offset = 20 mod 16 = 4. Frame 2: physische Adresse = 2 × 16 + 4 = 36. Der Offset 4 bleibt unverändert.
Typ: Zahlen-Eingabe
Klausurfragen mit Lösungen (6)
Antwort: Seitennummer auf Frame-Nummer
Erklärung: Die Page Table ordnet jeder virtuellen Seitennummer eine physische Frame-Nummer zu (und vermerkt, ob die Seite im RAM liegt). So findet die MMU das passende Frame.
Antwort: die angeforderte Seite liegt nicht im RAM und muss nachgeladen werden
Erklärung: Ein Page Fault tritt auf, wenn die angeforderte Seite nicht im Hauptspeicher (present-Bit = 0) ist. Das Betriebssystem lädt sie von der Platte nach, verdrängt bei vollem RAM eine andere Seite und setzt das Programm fort.
Zuordnungen:
Erklärung: Paging = feste Seiten (interne Fragmentierung), Segmentierung = variable Segmente (externe Fragmentierung), TLB = Übersetzungs-Cache, MMU = die übersetzende Hardware-Einheit.
Typ: Zuordnung
Lösungen pro Lücke:
Erklärung: Seiten gleicher Größe, die Page Table bildet Seite auf Frame ab, der TLB cacht die Einträge für schnelle Übersetzung.
Typ: Lückentext
Antwort: intern = ungenutzter Platz innerhalb einer Seite (Paging); extern = unbrauchbare Lücken zwischen Segmenten (Segmentierung)
Erklärung: Interne Fragmentierung: die letzte Seite eines Prozesses ist meist nur teilweise gefüllt, der Rest bleibt ungenutzt (Paging). Externe Fragmentierung: zwischen variabel großen Segmenten entstehen Lücken, die zu klein für neue Segmente sind (Segmentierung).
Antwort: weil dank Demand Paging und Swapping nicht alle Seiten gleichzeitig im RAM liegen müssen
Erklärung: Nur die aktuell benötigten Seiten liegen im RAM; selten genutzte werden auf die Platte ausgelagert (Swapping) und bei Bedarf nachgeladen (Demand Paging). Dadurch kann der virtuelle Adressraum den physischen RAM übersteigen.