Ringbuffer

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis


Allgemeines

In der Echtzeit-Datenverarbeitung besteht relativ häufig das Problem, daß die Ausgabe von Daten soviel Zeit benötigen, daß eine Ereignis- und Datenverarbeitende Hauptask nicht auf die abgeschlossene Ausgabe warten kann.

Daher werden die Daten in einem Speicherbereich abgelegt und eine eigenständige Task mit der Ausgabe der Daten beauftragt. Ein Beispiel hierfür ist das Schreiben des TS Streams bei der Direktaufnahme.

Programmtechnisch läßt sich eine solche Aufgabe einfach durch einen sogenannten Ringbuffer realisieren. Hierbei handelt es sich um einen Speicherbereich der Größe n, in dem das Speichern und Auslesen der gepufferten Daten über modulo-n Schreib- und Lesezeiger erfolgt.