Puffer-Speicher

Puffer-Speicher

Puffer (engl. Buffer) sind in der Informatik und Telekommunikation Speicher für die Zwischenlagerung von Daten. Je nach Aufgabe kann der Puffer unterschiedlich strukturiert sein.

Der Puffer enthält transiente Daten, und kann in einem flüchtigen, aber auch als Speicherbereich in einem persistenten Speicher angesiedelt sein.

Inhaltsverzeichnis

Formen von Pufferspeicherung

Piping und Queueing (FIFO-Buffer)

Hauptartikel: Pipe (Informatik)

Puffer zum Ausgleich von Unterschieden in der Verarbeitungsgeschwindigkeit ermöglichen es, einen Stau in einer Verarbeitung zu tolerieren, in dem die Objekte der Verarbeitung zwecks späterer Verarbeitung zwischengelagert werden. Solche Puffer bilden eine Warteschlange (engl. pipe ‚Rohr‘ oder queue ‚Warteschlange‘) und funktionieren nach dem First In – First Out-Prinzip. Technisch werden sie häufig als Ringpuffer implementiert. Puffer können hardware- oder softwareseitig implementiert werden, wobei die überwiegende Zahl von Puffern softwareseitig realisiert wird.

Typische Anwendungen sind die Druckwarteschlange, die Aufgaben für einen Drucker puffert, oder die Kommunikation von System- und Anwendungsprogrammen untereinander, die Interprozesskommunikation.

Stacking (LIFO-Buffer)

Hauptartikel: Stapelspeicher

Puffer zum Speichern eines Zustandes während einer Unterbrechung oder dem „Abstieg“ in ein Unterprogramm nennt man im allgemeinen Stack; sie funktionieren nach dem Last In – First Out-Prinzip. Sie ermöglichen es dem Programm nach der Unterbrechung genau dort fortzufahren, wo die Unterbrechung stattfand. Stack-Puffer werden auch manchmal benutzt, um Daten in einem Programm für die spätere Bearbeitung vorzumerken.

Der Stack gehört zu den frühesten Speichersystemen der Computertechnik, und wird auch auf Ebene der Maschinensprache (push/pop) realisiert, der direkt auf den Stackpointer des Mikroprozessors einwirkt. Großer Nachteil des Stacks ist, dass er eine feste Größe hat - unabgefangener Überlauf führt zum Pufferüberlauf, einem schweren und gefahrenträchtigen Programmierfehler und Angriffsbasis zahlreicher Malware.

Caching und Mapping

Hauptartikel: Cache, Memory mapping

Puffer für den schnelleren Zugriff auf Daten auf einem langsamen Speichermedium nennt man Cache (‚Stapel‘), insbesondere bei Hardware spricht man von Mapping (engl. ‚auf einer Karte eintragen‘)

Beides heißt, einen Datenbereich in einem Speicher abzubilden. Beim Einlesen von Daten werden diese zusätzlich im Cache gespeichert, so dass sie beim erneuten Lesen direkt von dort übernommen werden können. Die Daten im Cache sind dabei frei über ihre Adresse zugänglich, wobei die Adressierung des unterliegenden Speichermediums nachgebildet wird. Schreibzugriffe erfolgen im laufenden Betrieb nur auf das Abbild (indirekter Zugriff).

Beim sequentiellen Lesen von Daten entspricht das Verhalten des Caches einem FIFO-Puffer, ein paralleles Verfahren hat den Vorteil, dass die eine Seiten des gemappten Bereichs unabhängig davon befüllt werden kann, wie die die Daten ausgelesen werden sollen.

Mapping wird etwa typischerweise bei dem Schreiben auf eine Festplatte oder einen USB-Stick eingesetzt: Das Betriebssystem arbeitet nur an einem vom Festspeicher gemappten Datensatz, und kann daher schneller arbeiten. Endgültig geschrieben wird bei der Festplatte etwa bei Sektorwechsel, beim USB-Stick beim „Auswerfen“ – können die Daten nicht korrekt übertragen werden (Versagen von System, Leitung oder Speichereinheit, vorschnelles Entfernen), sind sie verloren.
Ein anderes Einsatzgebiet sind zeitkritische Anwendungen. Ein Beispiel ist der Framebuffer des Monitors, der in einem geschützten Speicherbereich oder auf der Grafikkarte liegt, und vom Grafiktreiber unabhängig von der Ausleserate des Anzeigegeräts befüllt werden kann. Sonderformen sind Doppelpufferung und Dreifachpufferung. Auch für das Brennen einer CD, bei denen eine Unterbrechung in der Versorgung mit Daten einen Fehler zur Folge hätte, benötigt man solche Puffer.

Swapping und Paging (Virtual Memory)

Hauptartikel: Virtuelle Speicherverwaltung

Ziel des Virtual Memory (virtueller Speicher) ist, Daten aus einem schnelleren Speichermedium im langsameren vorzuhalten, indem derzeit nicht benutzte Datensätze ausgelagert werden. Dadurch kann der – meist teure – schnelle Speicher kleiner dimensioniert werden – das Virtual Memory gaukelt einen viel größeren aktiven Speicher vor. Dabei wird beim Swapping ein kompletter inaktiver Prozess, beim Paging ein Speicherblock ausgelagert. Typischer Pagebuffer ist die Auslagerungsdatei.

Typische Konzepte über die Kriterien, welche Prozesse/Daten geswappt werden, sind neben FIFO etwa least recently used (‚am wenigsten zuletzt benutzt‘, LRU), least frequently used (‚zuletzt am wenigsten benutzt‘, LFU) oder not recently used (‚zuletzt nicht benutzt‘, NRU).

Heaping

Hauptartikel: Dynamischer Speicher

Auch Speicherbereiche, die Programme für die spätere Bearbeitung mit Daten füllen, dienen der Datenstrompufferung. Hierzu reservieren sich die Programme einen über ihren geladenen Programmcode hinausgehenden Speicher. Heute beruht der Heap (engl. für Halde, daher auch Haldenspeicher) auf dynamischer Speicherreservierung, die das Betriebssystem auf Anforderung des Programms bedient – typische Programmbefehl zur Speicheranforderung sind malloc() und realloc().

Clipboarding

Clipboarding umfasst die Puffer, die nur eine fixierte Anzahl von Plätzen haben, die als solche aber unabhängig belegt und gelesen werden können. Die Zwischenablage etwa ist ein betriebssysteminterner, anwendungsübergreifender Kleinspeicherbereich für das Hantieren mit Daten am PC, sie erlaubt im Allgemeinen nur einen Datensatz, der vorherige wird immer überschrieben.


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Speicher — Ein Speicher (v. lat.: spicarium Getreidespeicher, aus spica Ähre), je nach Zusammenhang auch Lager, Depot, Ablage, Puffer, Vorrat oder Reserve genannt, ist ein Ort oder eine Einrichtung zum Einlagern von materiellen oder immateriellen Objekten.… …   Deutsch Wikipedia

  • Puffer (Informatik) — Puffer (engl. Buffer) sind in der Informatik und Telekommunikation Speicher für die Zwischenlagerung von Daten. Je nach Aufgabe kann der Puffer unterschiedlich strukturiert sein. Ein Puffer speichert die Daten in der Regel zeitweise, und kann in… …   Deutsch Wikipedia

  • Puffer (Heiztechnik) — Unter einem Puffer versteht man in einer Heizungsanlage einen Wärmespeicher, der mit Wasser befüllt ist. Er dient dazu, Differenzen zwischen der erzeugten und der verbrauchten Wärmemenge auszugleichen und Leistungsschwankungen zu glätten. Auf… …   Deutsch Wikipedia

  • Speicher-Interleave — Der Begriff Verschränkung oder englisch Interleaving (engl. to interleave „verschachteln, überlappen“) bezeichnet den Prozess, mehrere linear durchzählbare Objekte in einer speziellen Reihenfolge anzuordnen. Verwendet wird Interleaving heute… …   Deutsch Wikipedia

  • Cache-Speicher — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • Heap (Speicher) — Der dynamische Speicher, auch Heap (engl. für Halde, Haufen), Halden oder Freispeicher ist ein Speicherbereich, aus dem zur Laufzeit eines Programms zusammenhängende Speicherabschnitte angefordert und in beliebiger Reihenfolge wieder freigegeben… …   Deutsch Wikipedia

  • Z-Puffer — Das Z Buffering (auch Depth Buffering, Tiefenpuffer[1] oder Tiefenspeicher Verfahren[2]) ist ein Verfahren der Computergrafik zur Verdeckungsberechnung, also um die vom Betrachter aus sichtbaren dreidimensionalen Flächen in einer Computergrafik… …   Deutsch Wikipedia

  • Abspeichern — Ein Speicher (v. lat.: spicarium Getreidespeicher, aus spica Ähre), je nach Zusammenhang auch Lager, Ablage, Puffer, Vorrat oder Reserve genannt, ist ein Ort oder eine Einrichtung zum Einlagern von materiellen oder immateriellen Objekten.… …   Deutsch Wikipedia

  • Speicherung — Ein Speicher (v. lat.: spicarium Getreidespeicher, aus spica Ähre), je nach Zusammenhang auch Lager, Ablage, Puffer, Vorrat oder Reserve genannt, ist ein Ort oder eine Einrichtung zum Einlagern von materiellen oder immateriellen Objekten.… …   Deutsch Wikipedia

  • Verspeicherung — Ein Speicher (v. lat.: spicarium Getreidespeicher, aus spica Ähre), je nach Zusammenhang auch Lager, Ablage, Puffer, Vorrat oder Reserve genannt, ist ein Ort oder eine Einrichtung zum Einlagern von materiellen oder immateriellen Objekten.… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”