Was ist eine gute open-source-message-bus für embedded-Linux?
Ich bin auf der Suche nach einem guten open-source-Nachrichten-bus, der geeignet ist für embedded-Linux-Geräten (Linux und uClinux).
Muss es die folgenden Kriterien erfüllen:
- Wird, muss freie software und GNU LGPL oder einer freieren Lizenz aufgrund uClinux nur die Unterstützung einer statischen Verknüpfung
- Muss eine C-API
- Muss über eine relativ kleine Stellfläche und hängt nicht von Bibliotheken von Drittanbietern
- Muss kompatibel sein mit Linux/uClinux-2.4.22+
- Sollte gut getestet und haben vorzugsweise ein bestehendes test-framework einrichten
- Sollte ein gut dokumentiertes Protokoll
- Sollte auf andere Plattformen übertragbar
Den message bus würde in Erster Linie werden von Anwendungen verwendet, die auf unser system, um zu kommunizieren, Konfiguration, Parameter etc, so dass Sie nicht brauchen, um zu befriedigen Echtzeit-Anforderungen.
InformationsquelleAutor David Holm | 2008-11-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt alles von Ihrer Architektur. Beabsichtigen Sie, um die Nachricht über eine backplane, um andere Knoten in einem cluster, oder ist das alles in einem einzigen Knoten, aber in verschiedenen Adressräumen?
Wenn letzteres, dann wie carson sagte:
man mq_overview
.Wenn der ehemalige, dann schauen Sie zuerst auf Ihre embedded-linux-Anbieter. Viele Anbieter bieten eine Art von verteilten messaging-Bibliothek. Gelingt das nicht, nehmen Sie einen Blick auf 0MQ oder die MPICH2 MPI Bibliothek.
Update: ich sollte noch hinzufügen, dass auch viel von meiner im letzten Jahr wurde damit verbracht, zu schreiben, nur so eine API für eine verteilte Verarbeitung von Rahmen, und ich kann Ihnen sagen, dass die POSIX-Kompatibilität ist es Wert behalten. Verwenden Sie POSIX message queue, wenn überhaupt möglich.
Gibt es D-Bus. Es läuft im userspace. Es erfordert in der Regel einen daemon, obwohl (aber vielleicht könnte man einfach haben, Prozesse gezielt miteinander zu verbinden, anstatt Sie durch den zentralen daemon).
Das klingt wie eine gute Verwendung für SYSV-oder POSIX message queues. Sie können erfüllen alle Anforderungen, die du aufgezählt hast. POSIX neuer sind, so dass Sie nicht übereinstimmen die Kernel-Anforderungen, sondern SYSV ist in den älteren Kerneln.
Wenn du meinst das IPC-socket-funktioniert gut für uclinux.