2008-11-21 3 views
5

मैं एक अच्छी ओपन सोर्स संदेश बस की तलाश में हूं जो एम्बेडेड लिनक्स डिवाइस (लिनक्स और यूक्लिनक्स) के लिए उपयुक्त है।एम्बेडेड लिनक्स के लिए एक अच्छी ओपन सोर्स संदेश बस क्या है?

यह निम्न मानदंडों को पूरा करने की जरूरत है: केवल जोड़ने स्थिर समर्थन uClinux के कारण

  • मुफ्त सॉफ्टवेयर और LGPL या एक अधिक उदार लाइसेंस होना चाहिए
  • होना चाहिए एक सी एपीआई
  • एक होना चाहिए अपेक्षाकृत छोटे पदचिह्न और तीसरे पक्ष के पुस्तकालयों पर निर्भर नहीं
  • लिनक्स/यूक्लिनक्स 2.4.22+
  • के साथ संगत होना चाहिए अच्छी तरह से परीक्षण किया जाना चाहिए और अधिमानतः एक मौजूदा परीक्षण फ्रेम होना चाहिए ORK की स्थापना
  • एक अच्छी तरह से प्रलेखित प्रोटोकॉल
  • अन्य प्लेटफार्मों

संदेश बस मुख्य रूप से कॉन्फ़िगरेशन पैरामीटर संवाद करने के लिए आदेश में हमारे सिस्टम पर अनुप्रयोगों द्वारा इस्तेमाल किया जाएगा करने के लिए पोर्टेबल होना चाहिए होना चाहिए आदि तो यह 'नहीं करता है टी को रीयलटाइम आवश्यकताओं को पूरा करने की आवश्यकता नहीं है।

उत्तर

4

यह सब आपके वास्तुकला पर निर्भर करता है। क्या आप क्लस्टर में अन्य नोड्स में बैकप्लेन में संदेश भेजना चाहते हैं, या यह सब एक एकल नोड के भीतर है, लेकिन अलग-अलग पता रिक्त स्थानों में?

यदि बाद वाले, तो कारसन की तरह कहा: man mq_overview

यदि पूर्व है, तो पहले अपने एम्बेडेड लिनक्स विक्रेता को देखें। कई विक्रेता वितरित संदेश पुस्तकालय प्रदान करेंगे। विफल होने पर, 0MQ या MPICH2 MPI लाइब्रेरी पर नज़र डालें।

अपडेट: मुझे यह भी जोड़ना चाहिए कि मेरे पिछले साल में से एक वितरित प्रसंस्करण ढांचे के लिए केवल एक एपीआई लिखने में बिताया गया था, और मैं आपको बता सकता हूं कि पॉज़िक्स-संगतता बरकरार रखने योग्य है। यदि संभव हो तो POSIX संदेश कतार का उपयोग करें।

1

यह SYSV or POSIX message queues के लिए एक अच्छा उपयोग की तरह लगता है। वे आपके द्वारा सूचीबद्ध सभी आवश्यकताओं को पूरा कर सकते हैं। POSIX नए हैं इसलिए वे कर्नेल आवश्यकताओं से मेल नहीं खाएंगे लेकिन SYSV पुराने कर्नेल में है।

+0

अपने मैन पेज के अनुसार यह केवल लिनक्स 2.6.6+ में उपलब्ध है। "कर्नेल 2.6.6 के बाद से लिनक्स पर पॉज़िक्स संदेश कतारों का समर्थन किया गया है।" –

+1

आप सही हैं। आप शायद वास्तव में SYSV कतारों का उपयोग करना चाहते हैं जिन्हें POSIX से पहले समर्थित किया गया था। – carson

7

D-Bus है। यह उपयोगकर्ता स्पेस में चलता है। इसे आम तौर पर एक डिमन की आवश्यकता होती है (लेकिन हो सकता है कि आप केवल प्रक्रियाओं को केंद्रीय डिमन के माध्यम से जाने के बजाए एक-दूसरे से कनेक्ट कर सकें)।

1

यदि आपका मतलब आईपीसी है, तो सॉकेट uclinux के लिए ठीक काम करता है।

संबंधित मुद्दे