2013-02-20 52 views
6

मेरे पास दो प्रक्रियाएं हैं ए और बी ए और बी को सिग्नल, संदेश इत्यादि पास करने के लिए कभी-कभी संवाद (द्वि-दिशात्मक) की आवश्यकता होती है।
मैंने आईपीसी के बारे में कुछ बुनियादी शोध किया है जैसे कि सेफफोरे, संदेश कतार, डीबीस इत्यादि।
अब मैं यह तय करने में भ्रम में हूं कि किस का उपयोग करना है, क्या कोई मुझे बता सकता है कि मेरे आवेदन के लिए कौन सी आईपीसी बेहतर है?लिनक्स आईपीसी चयन?

अग्रिम

धन्यवाद संपादित: आवेदन विस्तार से चर्चा करते। (यह एक एम्बेडेड एप्लीकेशन है)
प्रक्रिया ए तापमान, गति गणना आदि की निगरानी करेगा। प्रक्रिया बी मोटर को गाड़ी चला रही है, सेंसर मूल्यों (संख्यात्मक) आदि पढ़ रही है। कभी-कभी मुझे बी को अधिकतम बताते हुए सिग्नल भेजने की आवश्यकता होती है तापमान पहुंचा है, तो मोटर ड्राइविंग बंद करो। कभी-कभी प्रोसेस ए में प्रक्रिया ए में सेंसर से पढ़ने वाले डेटा को भेजने की आवश्यकता होती है। इस तरह संख्यात्मक डेटा को प्रक्रिया में पारित करने की आवश्यकता होती है। और मैं एआरएम आर्किटेक्चर में ऐसा कर रहा हूं।

+0

यह आपके आवेदन पर निर्भर करता है ... –

+0

शायद तुम किस प्रकार (ओं) पर विस्तृत करना चाहिए: नीचे प्रदर्शन पर एक अच्छा तुलना का आधार है डेटा आपके प्रोसेसर आगे और आगे जा रहे हैं और संभावित रूप से आप जिस प्रोसेसर का उपयोग कर रहे हैं (एआरएम ?, x86 ?, एमआईपीएस?)। –

+0

@ एनएम। और लास्टकोडर मैंने प्रश्न संपादित किया है और ऐप की विस्तारित जानकारी को जोड़ा गया है। –

उत्तर

12

आईपीसी तकनीक का चयन उस एप्लिकेशन पर निर्भर करता है जिसे आप कार्यान्वित करने का प्रयास कर रहे हैं।

IPC name  Latency  Throughput Description 
----------------------------------------------------------------------------------------- 
Signal  Low   n/a   Can be used only for notification, traditionally- 
             to push process to change its state 

Socket  Moderate  Moderate Only one mechanism which works for remote nodes, 
             not very fast but universal 

D-Bus   High   High  A high-level protocol that increases latency and 
             reduces throughput compared to when using base 
             sockets, gains in increased ease of use 

Shared  n/a   High  Data saved in-between process runs(due to swapping 
memory         access time) can have non-constant access latency 

Mapped files n/a   High  Data can be saved in-between device boots 

Message  Low   Moderate Data saved in-between process runs. The message 
queue         size is limited but there is less overhead 
             to handle messages 

यहाँ है एक और अच्छा तुलना

Comparing Unix/Linux IPC

+2

अच्छी तुलना के लिए धन्यवाद, मेरे आवेदन के लिए डी-बस का उपयोग करने की योजना बना रहा है, मैं इसकी उच्च विलंबता के कारण चिंता कर रहा हूं। मेरा रीयलटाइम एप्लिकेशन है। –

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