Process control daemon
प्रोसेस कंट्रोल डेमन (पी. सी. डी.) एम्बेडेड लिनक्स आधारित परियोजनाओं (जैसे उपभोक्ता इलेक्ट्रॉनिक्स और नेटवर्क उपकरणों) के लिए एक खुला स्रोत, हल्के वजन वाला सिस्टम स्तर का प्रक्रिया प्रबंधक/नियंत्रक है। यह उपकरण किसी भी एम्बेडेड लिनक्स संचालित उत्पाद के लिए एक पूरक सेवा प्रदान करता है और एम्बेडेड उत्पादों की जरूरतों के लिए विशिष्ट है। पी. सी. डी. बनाया गया था क्योंकि एंबेडेड लिनक्स वितरण ने ऐसा उपकरण प्रदान नहीं किया था। अन्य समान उपकरण जो उपलब्ध हैं, वे संगतता, प्रदर्शन और सीमित हार्डवेयर संसाधनों के मामले में अंतर्निहित उत्पादों के लिए उपयुक्त नहीं हैं। पृष्ठभूमि पी. सी. डी. परियोजना को उस समय टेक्सास इंस्ट्रूमेंट्स इज़राइल में वरिष्ठ सॉफ्टवेयर इंजीनियर हाई शालोम द्वारा अपने एम. एससी. के हिस्से के रूप में डिजाइन और कार्यान्वित किया गया था। कंप्यूटर विज्ञान में डिग्री। यह परियोजना टेक्सास इंस्ट्रूमेंट्स के ब्रॉडबैंड समाधानों (एआरएम1176 रनिंग एमवी-लिनक्स Pro-5.00) में से एक की वास्तविक आवश्यकता के कारण शुरू की गई थी। सिस्टम को मूल रूप से शेल स्क्रिप्ट के साथ शुरू किया गया था, जहां init प्रक्रिया ने rcS स्क्रिप्ट शुरू की, और इसने कुछ अन्य स्क्रिप्ट शुरू की। सिस्टम के सॉफ्टवेयर की तेजी से विकास प्रक्रिया के कारण, अधिक प्रक्रियाएं और कार्य जोड़े गए, और स्क्रिप्ट बहुत लंबी, अपठनीय और बनाए रखने में कठिन हो गई। प्रणाली की प्रारंभ प्रक्रिया को नियंत्रित करने का कोई कुशल तरीका नहीं था। अंतर-प्रक्रिया निर्भरता को समन्वित करना मुश्किल था और आरंभीकरण के क्रम को निर्धारित करने के लिए बहुत प्रयास की आवश्यकता थी। उदाहरण के लिए, एक डेमन जो एक साकेट पर सुनता है, उसे इस साकेट पर डेटा भेजने वाले किसी भी ग्राहक से पहले होना चाहिए। शेल स्क्रिप्ट के साथ, इस स्थिति को सत्यापित करने का कोई कुशल तरीका नहीं है। एक जटिल राज्य मशीन वाली सेवा जिसे तैयार होने से पहले एक विशिष्ट स्थिति में होने की आवश्यकता होती है, उसके पास अपने ग्राहकों के साथ समन्वय करने का कोई मानक साधन नहीं होता है। प्रणाली के स्वास्थ्य की निगरानी करना एक और मुद्दा था। प्रणाली में प्रक्रियाओं की निगरानी और नियंत्रण करने वाली कोई इकाई नहीं थी। इसलिए, दुर्घटना के मामले में, प्रणाली अस्थिर या अनुपयोगी हो गई जब तक कि दुर्घटनाग्रस्त प्रक्रिया का मैन्युअल रूप से पता नहीं चल गया। उस समय, रनटाइम डीबगिंग क्षमताएँ बहुत सीमित थीं। प्रोसेस क्रैश के मामले में, कोई डीबग जानकारी उपलब्ध नहीं थी, जब तक कि एक विशेष संस्करण को संकलित नहीं किया जाता था जो कम अनुकूलन, डीबग प्रतीकों और एक जीडीबी सर्वर का समर्थन करता है। एक बार पी. सी. डी. को उत्पाद में एकीकृत करने के बाद, अंतिम परिणामों ने स्टार्टअप समय में कमी और प्रणाली की मजबूती, विश्वसनीयता और उपलब्धता में बड़े सुधार दिखाए। डिबगिंग और रिमोट डिबगिंग क्षमताओं में भी विस्तारित डिबग जानकारी के कारण सुधार किया गया था जो दुर्घटना (विभाजन दोष, बस त्रुटि, या इसी तरह की) के मामले में उपलब्ध थी। परियोजना अब सक्रिय नहीं है लेकिन अधिक अंतर्निहित वास्तुकला और नई सुविधाओं का समर्थन करने के लिए विस्तारित किया गया है। उच्च-स्तरीय सुविधाओं में एक पाठ्य विन्यास फ़ाइल के अनुसार, प्रणाली को एक समक्रमित और निर्धारक तरीके से शुरू करें। प्रणाली में सभी प्रक्रियाओं और सेवाओं को नियंत्रित और निगरानी करें। त्रुटियों या दुर्घटनाओं के मामले में प्रणाली को पुनर्प्राप्त करें, इसे अधिक विश्वसनीय बनाएं। दुर्घटना के मामले में उपयोगी और विस्तृत डीबग जानकारी प्रदान करेंः प्रक्रिया विवरण, डंप रजिस्टर और स्मृति मानचित्र। प्रणाली की प्रक्रियाओं का एक चित्रमय प्रतिनिधित्व बनाएँ। कॉन्फ़िगरेशन पी. सी. डी. को उन सभी प्रक्रियाओं, डिमन्स और कार्यों के साथ कॉन्फ़िगर करने की आवश्यकता है जिन्हें यह नियंत्रित करता है। विन्यास एक सरल, मानव पठनीय विन्यास फ़ाइल (ए. के. ए. पी. सी. डी. स्क्रिप्ट) का उपयोग करके रनटाइम में किया जाता है। प्रत्येक प्रक्रिया का अपना नियम खंड होता है जो इसका वर्णन करता है, अन्य नियमों में इसकी निर्भरता को परिभाषित करता है, इसके विवरण को परिभाषित करता है और विफल होने पर क्या कार्रवाई करनी है। नियम खंड अंतर-प्रक्रिया निर्भरताओं को सबसे निर्धारक तरीके से परिभाषित करते हैं, और परिणामस्वरूप, पी. सी. डी. इस जानकारी से एक निर्भरता वृक्ष का निर्माण करता है। एक बार जब सभी नियम लिखे जाते हैं, और एक निर्भरता वृक्ष स्थापित हो जाता है, तो पी. सी. डी. सबसे विश्वसनीय तरीके से प्रणाली को शुरू कर सकता है, और स्क्रिप्ट स्टार्टअप की तुलना में बूट समय तेज होगा। पी. सी. डी. लिपियों का उपयोग मेजबान मशीन में प्रणाली स्टार्टअप निर्भरताओं का चित्रमय प्रतिनिधित्व उत्पन्न करने के लिए भी किया जा सकता है ताकि इसे बेहतर ढंग से समझा जा सके, और प्रलेखन उद्देश्यों के लिए, जैसा कि निम्नलिखित उदाहरण में देखा जा सकता हैः क्रैश रिकवरी पी. सी. डी. के बड़े फायदों में से एक, इसकी डीबग क्षमताएं और क्रैश रिकवरी क्षमताएं हैं। पी. सी. डी. एक क्रैश डेमन भी लागू करता है जो लगातार प्रणाली के स्वास्थ्य की निगरानी करता है, और दुर्घटना के मामले में पुनर्प्राप्ति कार्रवाई करता है। यह सुविधा प्रणाली की स्थिरता, मजबूती और उपलब्धता को बढ़ाती है। पी. सी. डी. बहुत उपयोगी डीबग जानकारी भी प्रदान करता है जो डेवलपर्स और परीक्षण इंजीनियरों को यह समझने में मदद कर सकता है कि क्या हुआ। डीबग जानकारी सिस्टम के कंसोल पर प्रदर्शित की जाती है, और बाद में विश्लेषण के लिए गैर-वाष्पशील भंडारण में संग्रहीत की जा सकती है। विस्तृत डीबग जानकारी में सभी प्रक्रिया विवरण, सभी संकेत विवरण, एक पूर्ण रजिस्टर डंप (समर्थित संरचनाओं पर) और प्रक्रिया का पता मानचित्र शामिल है। यह डीबग जानकारी कभी भी और हर जगह (यहां तक कि क्षेत्र में भी) उपलब्ध है और इसके लिए विशेष डीबग निर्माण की आवश्यकता नहीं है। पी. सी. डी. परियोजना एक मुक्त स्रोत परियोजना है, और यह जी. एन. यू. लेसर जनरल पब्लिक लाइसेंस संस्करण 2.1 के तहत लाइसेंस प्राप्त है, जैसा कि फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित किया गया हैः कोई खरीद लागत या रॉयल्टी शुल्क नहीं है। स्रोत कोड पूरी तरह से उपलब्ध है। व्यापक प्रदर्शन के कारण उच्च गुणवत्ता वाला कोड। एल. जी. पी. एल. पी. सी. डी. के साथ मालिकाना कोड को सुरक्षित रूप से जोड़ने और मिलाने की अनुमति देता है। पी. सी. डी. को किसी भी अन्य सॉफ्टवेयर पैकेज के साथ पुनर्वितरित करने की अनुमति है, बशर्ते कि लाइसेंस की शर्तों को रखा जाए। पी. सी. डी. कोड पर किए गए किसी भी परिवर्तन या संवर्द्धन को समुदाय को वापस किया जाना चाहिए। निरंतर विकासः नई सुविधाएँ और अन्य प्लेटफॉर्म अब समर्थित हैं। सामुदायिक समर्थन और बग फिक्स। यदि आपको किसी नई सुविधा की आवश्यकता है, तो या तो परियोजना ट्रैकर प्रणाली में इसका अनुरोध करें, या पी. सी. डी. समुदाय में शामिल हों और इसे विकसित करें, ताकि अन्य लोग भी आपकी उत्पादकता का आनंद ले सकें। समीक्षा पी. सी. डी. परियोजना को सॉफ्टवेयर इंजीनियरों और परियोजना प्रबंधकों से अच्छी समीक्षा मिली जिन्होंने अपनी परियोजना में इसका उपयोग किया; "पी. सी. डी. उस परियोजना में एक बड़ी सफलता है जिसके लिए मैं जिम्मेदार हूं। यह 4 प्रमुख लाभ प्रदान करता हैः यह आरंभीकरण कोड को सरल बनाता है, यह बूट समय में सुधार करता है, यह डिबगिंग प्रयास को कम करता है (शानदार क्रैश लॉग प्रदान करता है), और पारंपरिक डब्ल्यूडी कार्यान्वयन में सुधार करता है (सभी प्रक्रियाओं की निगरानी और तदनुसार कार्य)। यह सब एक बेहतर उत्पाद और कुशल विकास प्रवाह में परिवर्तित होता है। पी. सी. डी. परियोजना ए. आर. एम. प्रौद्योगिकी सम्मेलन 2010 में प्रस्तुत की गई थी और इसे अच्छी प्रतिक्रिया मिली थी। "सॉफ्टवेयर डेवलपर्स के लिए चीजें बहुत आसान हो रही हैं जो अपने वास्तविक समय में एम्बेडेड डिज़ाइनों में ओपन सोर्स लिनक्स का उपयोग करना चाहते हैं, विशेष रूप से एआरएम आर्किटेक्चर पर।" संदर्भ बाहरी लिंक SourceForge.net पर PCD परियोजना पृष्ठ-नवीनतम संस्करण डाउनलोड करें, कोड ब्राउज़ करें, समुदाय में शामिल हों या सहायता और समर्थन प्राप्त करें। ए. आर. एम. प्रौद्योगिकी सम्मेलन 2010 में पी. सी. डी. समर्थन मंच पी. सी. डी. प्रस्तुति जी. एन. यू. लेसर जनरल पब्लिक लाइसेंस संस्करण 2.1 लिनक्स सॉफ्टवेयर एम्बेडेड लिनक्स फ्री सॉफ्टवेयर वितरण