Speicherverwaltung Flashcards

1
Q

Was passiert bei der statischen Relokation?

A

Objektdaten werden vom Binder verschoben, da alle Codestücke sich einen linearen Speicherbereich teilen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Swapping

Was beinhaltet Swapping?

A
  • Auslagern ganzer Prozesse
  • Speicher freigeben
  • Ein anderes Programm in den freigewordenen Speicher einlagern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Fragmentierung (Verschnitt)

Wie entsteht interner Verschnitt?

A
  • Der Speicher wird in Vielfachen von festen Blockgrößen vergeben
  • Anforderungen werden auf das nächste Vielfache gerundet
  • Dadurch ensteht Speicherplatz, der als belegt gekennzeichnet ist, aber nicht benutzt wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fragmentierung (Verschnitt)

Wie entsteht der externe Verschnitt?

A
  • Durch die Dynamik des Belegens und Freigebens kann es vorkommen, dass eine Anforderung zwar von der Gesamtmenge des freien Speichers her erfüllbar wäre, durch die Zerstückelung jedoch kein hinreichend großes Stück gefunden werden kann.
  • Dadurch entsteht Speicherplatz, der frei, aber (momentan) nicht belegbar ist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Freispeicherverwaltung: Reihenfolge

Welche Verfahren gibt es?

A
  • In gleicher Reihenfolge: FIFO = First in First Out
  • In umgekehrter Reihenfolge: LIFO = Last in First Out
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Freispeicherverwaltung; Granularität

Nenne Punkte zur Granularität

A
  • Konstante Einheiten: NUM = 1
  • Vielfache gleicher Grundeinheiten: NUM = k
  • Bestimmte Portionsgrößen: NUM = k1, k2, k3
  • Beliebige Größen: NUM = x
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Freispeicherverwaltung mit Bitmaps

Wie wird der Speicher unterteilt?

A
  • Der Speicher wird in Blöcke gleicher Größe eingeteilt.
  • Jeder Block hat ein Bit in der Bitmap, 1 = belegt, 0 = frei
  • Je größer der Block, desto kleiner die Bitmap und desto größer der interne Verschnitt
  • Es hat eine Laufzeit von O(n)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Freispeicherverwaltung mit Listen

Wie werden belegte und freie Speicherbereiche verkettet?

A

Belegte und freie Speicherbereiche werden mit einer linearen Liste verkettet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Freispeicherverwaltung mit Listen

Was ist der Nachteil der Listen?

A

Die Suche nach freiem Speicherplatz dauert lange und die Laufzeit bleibt theoretisch bei O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Objekt-Orientierte Programme

Warum stellen OO-Programme besondere Herausforderungen an die Speicherverwaltung des Laufzeitsystems?

A
  • Sehr viele Speicheranforderungen
  • Meistens kleine Speicherbereiche
  • Massenweise Freigabe durch den Garbage Collector
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Objektorientierte Programme

Welche Optimierungen gibt es?

A
  • Es macht Sinn “Konfektionsware” vorrätig zu haben
  • Verspätetes Zusammenführen kann hilfreich sein
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Buddy System alias “Halbierungsverfahren”

Aus wie viel Bytes besteht der Speicher?

A

Der Speicher besteht aus 2^kmax Bytes und wird in den Größen 2^min, 2^min+1… vergeben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Buddy System alias “Halbierungsverfahren”

Was wird bei einer Anforderung ausgewählt?

A

Bei einer Anforderung wird das kleinste passende Stück ausgewählt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Freispeicherverwaltung - First Fit

Erkläre “First Fit”

A
  • Nimm den ersten freien Block, der groß genug ist
  • Die Adresse wird von vorne durchlaufen
  • Der durchschnittliche Suchaufwand ist gering - Im schlimmsten Fall immer noch O(n)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Freispeicherverwaltung - Next Fit

Erkläre “Next Fit”

A
  • Nimm von der aktuellen Position in der Freispeicherliste aus den nächsten, der groß genug ist
  • Dadurch, dass die Belegungen am Anfang vermieden werden gibt es bessere Suchzeiten als bei First-Fit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Freispeicherverwaltung - Best Fit

Erkläre “Best Fit”

A
  • Nimm den Block mit dem geringsten externen Verschnitt
  • Bessere Speichernutzung, da große Stücke nicht beachtet werden
  • Neigt dazu, sehr kleine freie Stücke zu erzeugen, mit denen man gar nichts mehr anfangen kann
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Freispeicherverwaltung - Worst Fit

Erkläre “Worst Fit”

A

Nimm den Block, der den größten externen Verschnitt hat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Freispeicherverwaltung - Nearest Fit

Erkläre “Nearest Fit”

A
  • Wir geben eine Zieladresse vor und hätten den Speicherbereich gerne in der Nähe
  • Man führt eine First-Fit-Suche durch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Spezialisierte Verfahren: Ringpuffer

Wie funktioniert das Verfahren mit Ringpuffer?

A
  • Belegen und Freigeben in gleicher Reihenfolge (FIFO)
  • Gleich lange Stücke
  • Kein Suchen
  • Kein externer Verschnitt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Spezialisierte Verfahren: Stack, Kellerspeicher

Wie funktioniert das Verfahren mit Stack und Kellerspeicher?

A
  • Belegen und Freigeben in umgekehrter Reihenfolge (LIFO)
  • Beliebig lange Stücke
  • Kein Suchen
  • Wenig externer Verschnitt
21
Q

Overlays

Wie kann man das Problem, dass ein kompletter Prozess nicht in den Speicher passt lösen?

A

Indem man Teile des Programms mit einem anderen überschreibt (dem Overlay)

22
Q

Virtueller Speicher

Wie lautet das dritte Problem das durch den virtuellen Speicher gelöst werden kann?

A

Externe Fragmentierung verschwendet Speicher und Memory Compaction ist teuer

23
Q

Seitentabelle

Was enthält jede Zeile einer Seitentabelle?

A
  • Die Nummer des physikalischen Speicherblocks
  • Bit, das anzeigt, ob der Speicherblock ausgelagert ist
24
Q

Seitentabelle

Welche Probleme kann es geben?

A
  • Die Seitentabelle kann sehr groß werden
  • Die Umrechnung von virtueller Adresse in physikalische Adresse muss sehr schnell gehen
25
Q

Zeile einer Seitentabelle

Welche Bits gehören zur Zeile einer Seitentabelle?

A
  • Caching Bit
  • Modified Bit
  • Referenced Bit
  • Protection Bit
26
Q

Zeile einer Seitentabelle - Modified Bit

Was passiert beim Auslagern einer Seite?

A

Die Seite muss beim Auslagern wieder auf die Festplatte geschrieben werden ansonsten kann die alte Kopie auf der Festplatte benutzt werden.

27
Q

Zeile einer Seitentabelle - Referenced Bit

Nenne Punkte zum Referenced Bit

A
  • Wird nach jeder Art von Zugriff gesetzt
  • Benötigt für Seitenersetzungsalgorithmen
28
Q

Hierarchische Seitentabelle

Wieso werden hierarchische Seitentabellen benötigt?

A

Sie verbrauchen keinen Speicher um riesige Löcher zu verwalten

29
Q

Optimale Seitenersetzung

Beschreibe den Algorithmus der genutzt wird

A

Lagere die Seite aus, die gemäß Z am längsten nicht mehr gebraucht wird

30
Q

Not Recently Used Algorithmus (NRU)

Was gilt für den NRU Algorithmus?

A

Entferne eine Seite, die in letzter Zeit nicht mehr benutzt wurde

31
Q

Not Recently Used Algorithmus (NRU)

Welche Seite muss beim NRU-Algorithmus ersetzt werden?

A
  • Klassifiziere die Seite
  • Entferne eine Seite aus der niedrigsten (aus der 1.) Klasse
32
Q

First In First Out (FIFO) Algorithmus

Was gilt für den FIFO Algorithmus?

A
  • Ersetze die Seite, die am längsten im Speicher ist
  • Das bedeutet, dass die erste Seite die reinkommt auch die erste Seite ist die wieder raus muss
33
Q

Clock Algorithmus

Wie funktioniert der Clock Algorithmus?

A

Verhält sich genau wie Second Chance Algorithmus und hat eine bessere Datenstruktur.

34
Q

Not Frequently Used (NFU)

Was ist der NFU Algorithmus?

A
  • Es ist ein Versuch der LRU-Approximation
  • Jede Seite hat ein Zähler der zu Anfang auf 0 steht
  • Das R Bit wird periodisch auf den Zähler addiert
35
Q

Notfrequently Used (NFU)

Welches Problem hat NFU?

A

Das Problem bei dem Algorithmus ist, wenn eine Seite mal sehr gefragt war und dann lange nicht, bleibt der Zähler dennoch hoch

36
Q

Aging

Was ist der Aging Algorithmus?

A
  • Es ist eine weitere LRU Approximation
  • Der Zähler wird periodisch nach rechts geschrieben
  • Das R Bit wird in das höchste Bit des Zählers geschrieben
37
Q

Aging

Vorteile beim Aging Algorithmus

A
  • Der Zähler hat ein kürzeres Gedächtnis als bei NFU
  • Das R Bit bestimmt das höchste Bit des Zählers und nicht das niedrigste wie bei NFU
38
Q

Working Set

Was ist ein Working Set?

A

Ein Working Set ist ein Speicherzugriff der öfter benutzt wird.

39
Q

Working Set

Definition des Working Set

A
  • Für Zeitpunkt t und Integer k ist w(k,t) die Menge der Seiten, die in den letzten k Speicherzugriffen vor dem Zeitpunkt t benutzt wurden
  • Der Grenzwert für große k ist endlich, weil jeder Prozess nur endlich viele Seiten hat
40
Q

Working Set und Swapping

Was ist das optimalste beim Working-Set und Swapping?

A

Nur die Seiten des Working-Set laden, da das Swapping dann schneller ist und nur wenige Seitenfehler auftauchen

41
Q

Working-Set und Paging

Was bewirkt der Seitenersetzungs-Algorithmus?

A
  • Entferne eine Seite, die nicht im Working-Set ist
  • Wenn alle im Working-Set sind, dann entferne eine auf die schon lange nicht mehr zugegriffen wurde
42
Q

Nachteile beim Working-Set und Paging

A
  • Die Implementierung ist langsam
  • Für eine weniger langsame Implementierung, wählen wir eine virtuelle Zeitspanne 𝜏
  • Seiten, die länger als 𝜏 nicht mehr benutzt wurden, gehören nicht zum Working-Set
43
Q

WS-Clock Algorithmus

Wie funktioniert der M-Bit beim WS-Clock Algorithmus?

A
  • M-Bit bestimmt, ob eine Seite “sauber” ist
  • M=0 -> Seite leer oder unverändert auf der Festplatte
  • M=1 -> Seite muss erst ausgelagert werden
44
Q

WS-Clock Algorithmus

Wie funktioniert der R-Bit beim WS-Clock Algorithmus?

A
  • Wenn R = 1, dann setze den Zeitstempel und lösche das R-Bit
  • Wenn R = 0 und Zeitstempel älter als 𝜏: Wenn Seite sauber ist, dann überschreiben. Ansonsten Seite für auslagern vormerken und weitersuchen
45
Q

Design-Kriterien

Welche Lösung stellt die Page Fault Frequency dar?

A

Wenn ein Prozess sehr viele Seitenfehler hat und einer wenige, dann muss man umverteilen

46
Q

Welche Lösung stellt Swapping dar?

A

Wenn alle Prozesse sehr viele Seitenfehler produzieren werden sie durch Swapping komplett ausgelagert

47
Q

Design Kriterien

Welche gängigen Größen gibt es?

A

Es gibt gängige Größen zwischen 512 Byte und 16 KB

48
Q

Segmentierung

Wofür steht GDT?

A

Global Descriptor Table

49
Q

Segmentierung

Wofür steht LDT?

A

Local Descriptor Table