Ringbuffer

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis


Allgemeines

In der Echtzeit-Datenverarbeitung besteht relativ häufig das Problem, dass die Ausgabe von Daten soviel Zeit benötigen, dass eine Ereignis- und Datenverarbeitende Haupttask 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ässt sich eine solche Aufgabe einfach durch einen so genannten 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.