Wenn ich bisher RT-Kernel gelesen habe, ging ich davon aus, das es sich um die Ideen von Molnar und Co ging und von denen hier bemuckelt wird: https://www.osadl.org/ .
Ja, ich dachte mir schon das du das verwechselst, :wink:
OpenMP ist eine Programmiersprache, die Parallelcoding vereinfachen solle, wie Haskell?
Nein, OpenMP ist eine Programmierschittstelle (implementiert in eine library) die es Programmierern ermöglicht genaue Anweisungen zu geben ob z.b. bestimmte Threads parallel oder sequentiell Abzuarbeiten sind, und zwischen den Cores aufzuteilen.
Anwendung findet sie in C/C++ oder auch Fortran.
Moderne RT Audio Applikationen nutzen diese Schnittstelle um die Prozessor Auslastung besser zu verteilen. Aber auch andere Software macht Gebrauch davon.
Wenn man kein Spezialist ist, könnte BFS die einfachere Alternative sein.
Das wage ich zu bezweifeln, die sogenannte " Komplizierte Konfiguration" muss der geneigte Pro Audio User sowieso vornehmen, damit die Audio Threads mit Echtzeit Priorität laufen, das funktioniert dann auch mit dem normale Standard Kernel.
Es mag ja sein das der BFS Kernel bessere Durchsatz Raten hat, allerdings fehlt hier, wie auch beim Standard Kernel die Möglichkeit Prioritäten genau festzulegen, und, das braucht nicht der User zu tun, das erledigen wir, die Programmierer, in unsere RT-Applikationen.
Als Beispiel mal guitarix, unser Tuner (Gitarren Stimmgerät) läuft mit einer etwas niedrigeren Priorität wie der restliche DSP part , da er nur Daten Empfängt und keine Daten an die Soundkarte weiterleitet, der Convolver läuft in 4 Threads mit abgestuften Priorität. Das gewährleistet eine Optimale Verteilung der CPU anfragen aus unserem Programm. Natürlich läuft das Programm auch wenn diese Prioritäten nicht gesetzt werden können, allerdings benötigt es dann mehr CPU zeit. Ich glaube nicht das der BFS das wieder hereinholen kann. :wink:
Noch härter wird es dann im Zusammenspiel mit weiteren rt-Applikationen, da Multipliziert sich dieses. . . .
Ausserdem geht es auch um den zugriff auf die Festplatte (recording,streaming) und, und, und.