<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Puffer_%28Informatik%29</id>
	<title>Puffer (Informatik) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Puffer_%28Informatik%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Puffer_(Informatik)&amp;action=history"/>
	<updated>2026-06-01T16:37:49Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Puffer_(Informatik)&amp;diff=268313&amp;oldid=prev</id>
		<title>imported&gt;Manu.Shareghi: Bild und Bildunterschrift hinzugefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Puffer_(Informatik)&amp;diff=268313&amp;oldid=prev"/>
		<updated>2025-09-20T18:24:26Z</updated>

		<summary type="html">&lt;p&gt;Bild und Bildunterschrift hinzugefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Intel_®_6402_Advanced_Memory_Buffer..jpg|mini|Intel® 6402 Advanced Memory Buffer. Aus einem DDR2-Puffer-ECC-Server-RAM-Speicherriegel, hergestellt von Samsung.]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Puffer&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;&amp;#039;buffer&amp;#039;&amp;#039;&amp;#039;}}) sind in der [[Informatik]] und [[Telekommunikation]] [[Arbeitsspeicher|Speicher]] für die Zwischenlagerung von [[Daten]]. Je nach Aufgabe kann der Puffer unterschiedlich strukturiert sein.&lt;br /&gt;
&lt;br /&gt;
Ein Puffer speichert die Daten in der Regel zeitweise und kann in einem [[Flüchtiger Speicher|flüchtigen]], aber auch in einem [[Nichtflüchtiger Speicher|nichtflüchtigen Speicher]] angesiedelt sein.&lt;br /&gt;
&lt;br /&gt;
== Formen von Pufferspeicherung ==&lt;br /&gt;
=== Piping und Queueing (FIFO-Buffer) ===&lt;br /&gt;
{{Hauptartikel|Pipe (Informatik)}}&lt;br /&gt;
Puffer zum Ausgleich von Unterschieden in der Verarbeitungsgeschwindigkeit ermöglichen es, einen Stau in einer Verarbeitung zu [[Toleranz|tolerieren]], indem die Daten im Puffer zwischengelagert werden, bis sie bearbeitet werden können. Solche Puffer bilden eine [[Warteschlange (Datenstruktur)|Warteschlange]] (engl. &amp;#039;&amp;#039;pipe&amp;#039;&amp;#039; ‚Rohr‘ oder &amp;#039;&amp;#039;queue&amp;#039;&amp;#039; ‚Warteschlange‘) und funktionieren nach dem Prinzip [[First In – First Out]]. Technisch werden sie häufig als [[Ringpuffer]] implementiert.&lt;br /&gt;
Puffer können hardware- oder softwareseitig implementiert werden, wobei die überwiegende Zahl von Puffern softwareseitig realisiert wird.&lt;br /&gt;
&lt;br /&gt;
Typische Anwendungen sind die [[Druckwarteschlange]], die Aufgaben für einen Drucker puffert, oder die Kommunikation von System- und Anwendungsprogrammen untereinander, die [[Interprozesskommunikation]].&lt;br /&gt;
&lt;br /&gt;
=== Stacking (LIFO-Buffer) ===&lt;br /&gt;
{{Hauptartikel|Stapelspeicher}}&lt;br /&gt;
Puffer zum Speichern eines Zustandes während einer Unterbrechung des Programmablaufs oder während des „Abstiegs“ in ein Unterprogramm nennt man im Allgemeinen &amp;#039;&amp;#039;Stack&amp;#039;&amp;#039; (‚Stapel‘). Sie funktionieren nach dem Prinzip [[Last In – First Out]]. 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.&lt;br /&gt;
&lt;br /&gt;
Der Stack gehört zu den frühesten Speichersystemen der Computertechnik. Auf Ebene der [[Maschinensprache]] wird er z.&amp;amp;nbsp;B. mittels der Anweisungen &amp;lt;code&amp;gt;push/pop&amp;lt;/code&amp;gt; realisiert, was direkt auf den Stackpointer des Mikroprozessors einwirkt. Ein großer Nachteil des Stacks ist, dass er eine feste Größe hat – ein programmtechnisch nicht abgefangener Stacküberlauf (Sonderfall eines [[Pufferüberlauf]]s) ist ein schwerer und gefahrenträchtiger Programmierfehler und Angriffsbasis zahlreicher [[Malware]].&lt;br /&gt;
&lt;br /&gt;
=== Caching und Mapping ===&lt;br /&gt;
{{Hauptartikel|Cache|Memory Mapping}}&lt;br /&gt;
Puffer für den schnelleren Zugriff auf Daten auf einem langsamen [[Datenspeicher|Speichermedium]] nennt man &amp;#039;&amp;#039;Cache&amp;#039;&amp;#039; (‚Versteck‘), insbesondere bei [[Hardware]] spricht man von &amp;#039;&amp;#039;Mapping&amp;#039;&amp;#039; (zu deutsch: „auf einer Karte eintragen“)&lt;br /&gt;
&lt;br /&gt;
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 [[Speicheradresse|Adresse]] zugänglich, wobei die Adressierung des unterliegenden Speichermediums nachgebildet wird. Schreibzugriffe erfolgen im laufenden Betrieb nur auf das Abbild (indirekter Zugriff).&lt;br /&gt;
&lt;br /&gt;
Beim sequentiellen Lesen von Daten entspricht das Verhalten des Caches einem [[First In – First Out|FIFO]]-Puffer, ein paralleles Verfahren hat den Vorteil, dass die eine Seite des gemappten Bereichs unabhängig davon befüllt werden kann, wie die Daten ausgelesen werden sollen.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 [[Brenner (Hardware)|Brennen]] einer CD, bei denen eine Unterbrechung in der Versorgung mit Daten einen Fehler zur Folge hätte, benötigt man solche Puffer.&lt;br /&gt;
&lt;br /&gt;
=== Swapping und Paging (Virtual Memory) ===&lt;br /&gt;
{{Hauptartikel|Virtuelle Speicherverwaltung}}&lt;br /&gt;
Ziel des &amp;#039;&amp;#039;Virtual Memory (virtueller Speicher)&amp;#039;&amp;#039; 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]].&lt;br /&gt;
&lt;br /&gt;
Typische Konzepte über die Kriterien, welche Prozesse/Daten geswappt werden, sind neben FIFO etwa [[least recently used]] (‚am längsten ungenutzt‘, LRU), [[least frequently used]] (‚am seltensten genutzt‘, LFU) oder [[not recently used]] (‚zuletzt ungenutzt‘, NRU).&lt;br /&gt;
&lt;br /&gt;
=== Heaping ===&lt;br /&gt;
{{Hauptartikel|Dynamischer Speicher}}&lt;br /&gt;
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 {{lang|en|&amp;#039;&amp;#039;Heap&amp;#039;&amp;#039;}} (engl. für &amp;#039;&amp;#039;Halde&amp;#039;&amp;#039;, daher auch &amp;#039;&amp;#039;Haldenspeicher&amp;#039;&amp;#039;) auf [[dynamischer Speicher]]reservierung, die das Betriebssystem auf Anforderung des Programms bedient – typische Programmbefehle zur Speicheranforderung sind &amp;lt;code&amp;gt;malloc()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;realloc()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Clipboarding ===&lt;br /&gt;
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 vom Betriebssystem zur Verfügung gestellter, anwendungsübergreifender Kleinspeicherbereich für das Zwischenspeichern von Daten. Sie erlaubt im Allgemeinen nur einen Datensatz, der vorherige wird immer überschrieben.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=Hartmut Ernst |Titel=Grundkurs Informatik. Grundlagen und Konzepte für die erfolgreiche IT-Praxis |Auflage=3 |Verlag=Springer Fachmedien |Ort=Wiesbaden |Datum=2003 |ISBN=978-3-528-05717-6}}&lt;br /&gt;
* {{Literatur |Autor=Peter Fischer, Peter Hofer |Titel=Lexikon der Informatik |Auflage=15 |Verlag=Springer Verlag |Ort=Berlin&amp;amp;nbsp;/ Heidelberg |Datum=2010 |ISBN=978-3-64215125-5}}&lt;br /&gt;
* {{Literatur |Autor=Heinz-Peter Gumm, Manfred Sommer |Titel=Einführung in die Informatik |Auflage=18 |Verlag=Oldenbourg Verlag |Ort=München |Datum=2013 |ISBN=978-3-486-58724-1}}&lt;br /&gt;
* {{Literatur |Titel=Lexikon Informatik und Datenverarbeitung |Hrsg=Hans-Jochen Schneider |Auflage=4 |Verlag=Oldenbourg Verlag |Ort=München |Datum=1998 |ISBN=3-486-24538-4}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Internetquelle |autor=Konstantin Schleser et al. |url=https://www2.informatik.uni-hamburg.de/fachschaft/wiki/images/f/f0/7kraemer-Projekt-ausarbeitung.pdf |titel=Buffer-Overflow |hrsg=Universität Hamburg |format=PDF |archiv-url=https://web.archive.org/web/20200924081915/https://www2.informatik.uni-hamburg.de/fachschaft/wiki/images/f/f0/7kraemer-Projekt-ausarbeitung.pdf |archiv-datum=2020-09-24 |abruf=2017-07-21 |abruf-verborgen=ja}}&lt;br /&gt;
* {{Internetquelle |autor=Stefan Bruhns |url=https://wr.informatik.uni-hamburg.de/_media/teaching/wintersemester_2013_2014/epc-1314-bruhns-buffer-ausarbeitung.pdf |titel=Umgang mit Buffern |hrsg=Universität Hamburg |format=PDF |abruf=2017-07-21 |abruf-verborgen=ja}}&lt;br /&gt;
* {{Internetquelle |url=http://lgis.informatik.uni-kl.de/archiv/wwwdvs.informatik.uni-kl.de/courses/DBSREAL/SS2005/Vorlesungsunterlagen/Kapitel.03.full.pdf |titel=DB-Pufferverwaltung |hrsg=Technische Universität Kaiserslautern |format=PDF |abruf=2017-07-21 |abruf-verborgen=ja}}&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4176324-5}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenstruktur]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;br /&gt;
[[Kategorie:Compilerbau]]&lt;br /&gt;
[[Kategorie:Speicherverwaltung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Manu.Shareghi</name></author>
	</entry>
</feed>