Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten.

Ähnliche Präsentationen


Präsentation zum Thema: "Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten."—  Präsentation transkript:

1 Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten Daten- und Protokollelementen im Hauptspeicher zu minimieren, um die Zugriffslücke zu überbrücken. Liegen Daten noch im Puffer vor, so muss nicht jede Transaktion von neuem mit der Einlagerung beginnen. Privater Arbeitsbereich von Transaktionen unnötig, da Isolation bereits durch Scheduler gewährleistet wird. Daher gemeinschaftliche Zugänglichkeit aller Datenelemente für die Gesamtheit aller Transaktionen.

2 Puffer-Verwalter (2) Grundsätze Datenbankpuffer: N im Hauptspeicher angeordnete Pufferrahmen, in denen zu jedem Zeitpunkt bis zu N Seiten temporär zwischengespeichert sein können. Einfache Verwaltung bei identischer Größe aller Rahmen  einheitliche Seitengröße in der Datenbasis. Puffer-Kontrollblock mit einem Eintrag für jeden Rahmen. Für eine zu schreibende Seite wird ein Änderungsvermerk gesetzt. N hängt von den Zugriffscharakteristika der Transaktionen ab, beschrieben durch logische Seitenreferenzstrings, d.i. die zeitliche Folge der Seitenanforderungen (per read oder write) aller nebenläufigen Transaktionen innerhalb eines bestimmten Zeitabschnitts.

3 Puffer-Verwalter (3) Funktionalität: fetch(x,X) stellt Seite x an Adresse X bereit, ersetzt dabei gegebenenfalls andere Seite. mark(x) setzt Änderungsvermerk für Seite x. flush(x) veranlasst sofortiges Schreiben von Seite x auf Hintergrundspeicher. pin(x) verhindert Ersetzung von x aus Puffer (damit Segment-Verwalter auf x operieren kann). unpin(x) gibt x zur Ersetzung frei (bewirkt nicht notwendig sofortiges Ersetzen oder sofortiges Schreiben von x). Umsetzung im Segment-Verwalter: –read(x) in fetch(x,X) mit X Hauptspeicheradresse plus pin(x), write(x) in mark(x), unfix(x) in unpin(x).

4 Puffer-Verwalter (4) Ablauf: Zwei Fälle bei fetch: –Gewünschte Seite im Puffer: Fixieren, Adresse des Rahmens an Aufrufer. –Gewünschte Seite nicht im Puffer (Fehlseitenbedingung): Auswahl eines geeigneten Pufferrahmens, Beschaffen der Seite vom Hintergrundspeicher (physische Seitenreferenz), Fixieren, Adresse des Rahmens an Aufrufer. Anfallende Aufgaben: Effizientes Auffinden einer Seite im Puffer (Suchstrategie). Auswählen eines (praktisch immer belegten) Pufferrahmens für eine einzulagernde Seite (Ersetzungsstrategie).


Herunterladen ppt "Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten."

Ähnliche Präsentationen


Google-Anzeigen