अंतःस्थापित प्रणाली: Difference between revisions
No edit summary |
No edit summary |
||
(20 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[File:DHCOM Computer On Module - AM35x.jpg|thumb|right|प्रोसेसर, मेमोरी, पावर सप्लाई और बाहरी इंटरफेस के साथ प्लग-इन कार्ड पर एक अंतःस्थापित प्रणाली]]अंतःस्थापित प्रणाली एक [[कंप्यूटर प्रणाली]] है - एक [[कंप्यूटर प्रोसेसर]], [[कंप्यूटर प्रोसेसर|कंप्यूटर]] [[स्मृति|मेमोरी]] और इनपुट/आउटपुट पेरिफेरल उपकरण का एक संयोजन है जिसका किसी बड़े यांत्रिकी या [[इलेक्ट्रानिक्स]] प्रणाली के भीतर समर्पित कार्य है।<ref name="Barr-glossary">{{cite web |author=Michael Barr |title=एंबेडेड सिस्टम शब्दावली|work=Neutrino Technical Library |access-date=2007-04-21 |url=http://www.netrino.com/Embedded-Systems/Glossary |author-link=Michael Barr (software engineer)}}</ref><ref>{{cite book |last=Heath |first=Steve |title=एंबेडेड सिस्टम डिजाइन|publisher=Newnes |year=2003 |edition=2 |series=EDN series for design engineers |page=[https://archive.org/details/embeddedsystemsd0000heat/page/2 2] |url=https://archive.org/details/embeddedsystemsd0000heat |url-access=registration|quote= एक एम्बेडेड सिस्टम एक [[माइक्रोप्रोसेसर]] आधारित सिस्टम है जो किसी फ़ंक्शन या फ़ंक्शन की श्रेणी को नियंत्रित करने के लिए बनाया गया है।| isbn=978-0-7506-5546-0}}</ref> यह | [[File:DHCOM Computer On Module - AM35x.jpg|thumb|right|प्रोसेसर, मेमोरी, पावर सप्लाई और बाहरी इंटरफेस के साथ प्लग-इन कार्ड पर एक अंतःस्थापित प्रणाली]]अंतःस्थापित प्रणाली एक [[कंप्यूटर प्रणाली]] है - एक [[कंप्यूटर प्रोसेसर]], [[कंप्यूटर प्रोसेसर|कंप्यूटर]] [[स्मृति|मेमोरी]] और इनपुट/आउटपुट पेरिफेरल उपकरण का एक संयोजन है जिसका किसी बड़े यांत्रिकी या [[इलेक्ट्रानिक्स]] प्रणाली के भीतर समर्पित कार्य है।<ref name="Barr-glossary">{{cite web |author=Michael Barr |title=एंबेडेड सिस्टम शब्दावली|work=Neutrino Technical Library |access-date=2007-04-21 |url=http://www.netrino.com/Embedded-Systems/Glossary |author-link=Michael Barr (software engineer)}}</ref><ref>{{cite book |last=Heath |first=Steve |title=एंबेडेड सिस्टम डिजाइन|publisher=Newnes |year=2003 |edition=2 |series=EDN series for design engineers |page=[https://archive.org/details/embeddedsystemsd0000heat/page/2 2] |url=https://archive.org/details/embeddedsystemsd0000heat |url-access=registration|quote= एक एम्बेडेड सिस्टम एक [[माइक्रोप्रोसेसर]] आधारित सिस्टम है जो किसी फ़ंक्शन या फ़ंक्शन की श्रेणी को नियंत्रित करने के लिए बनाया गया है।| isbn=978-0-7506-5546-0}}</ref> यह प्रायः विद्युत या इलेक्ट्रॉनिक हार्डवेयर और यांत्रिक भागों सहित एक पूर्ण उपकरण के हिस्से के रूप में अंतःस्थापित होता है। क्योंकि अंतःस्थापित प्रणाली सामान्यतः उस मशीन के भौतिक संचालन को नियंत्रित करता है जिसमें यह अंतःस्थापित होता है, इसमें प्रायः [[रीयल-टाइम कंप्यूटिंग|रीयल-टाइम संगणक]] बाधाएँ होती हैं। अंतःस्थापित प्रणाली आज सामान्य उपयोग में आने वाले कई उपकरणों को नियंत्रित करते हैं।<ref name=":0">{{cite book|last=Michael Barr|author2=Anthony J. Massa|title=प्रोग्रामिंग एम्बेडेड सिस्टम: सी और जीएनयू विकास उपकरण के साथ|publisher=O'Reilly|year=2006|pages=1–2|chapter=Introduction|chapter-url=https://books.google.com/books?id=nPZaPJrw_L0C&pg=PA1 | isbn=978-0-596-00983-0}}</ref> {{as of|2009|alt=2009}} में, यह अनुमान लगाया गया था कि निर्मित सभी माइक्रोप्रोसेसरों का अठानबे प्रतिशत अंतःस्थापित प्रणाली में उपयोग किया गया था।<ref>{{cite web | title=सी में वास्तविक पुरुष कार्यक्रम| last=Barr |first=Michael | page=2 | date=1 August 2009 | work=Embedded Systems Design | publisher=TechInsights (United Business Media) | url=http://www.embedded.com/electronics-blogs/barr-code/4027479/Real-men-program-in-C | access-date=2009-12-23 }}</ref> | ||
आधुनिक अंतःस्थापित प्रणाली | आधुनिक अंतःस्थापित प्रणाली प्रायः माइक्रोकन्ट्रोलर (अर्थात् एकीकृत मेमोरी और [[परिधीय]] इंटरफेस के साथ माइक्रोप्रोसेसर) पर आधारित होते हैं, लेकिन साधारण माइक्रोप्रोसेसर (मेमोरी और परिधीय इंटरफ़ेस सर्किट के लिए बाहरी चिप्स का उपयोग करना) भी सामान्य हैं, खासकर अधिक जटिल प्रणालियों में। किसी भी मामले में, उपयोग किए जाने वाले प्रोसेसर सामान्य प्रयोजन से लेकर संगणना के एक निश्चित वर्ग में विशेष प्रकार के हो सकते हैं, या यहां तक कि मनपसंद अनुप्रयोगों के लिए डिज़ाइन किए गए हैं। समर्पित प्रोसेसर का एक सामान्य मानक वर्ग [[डिजिटल सिग्नल प्रोसेसर]] (डीएसपी) है। | ||
चूंकि अंतःस्थापित प्रणाली विशिष्ट कार्यों के लिए समर्पित है, [[नमूना अभियंता|योजना अभियंता]] उत्पाद के आकार और लागत को कम करने और इसकी विश्वसनीयता और प्रदर्शन को बढ़ाने के लिए इसे अनुकूलित कर सकते हैं। कुछ अंतःस्थापित प्रणाली बड़े पैमाने पर उत्पादित होते हैं, जो पैमाने की अर्थव्यवस्थाओं से लाभान्वित होते हैं। | चूंकि अंतःस्थापित प्रणाली विशिष्ट कार्यों के लिए समर्पित है, [[नमूना अभियंता|योजना अभियंता]] उत्पाद के आकार और लागत को कम करने और इसकी विश्वसनीयता और प्रदर्शन को बढ़ाने के लिए इसे अनुकूलित कर सकते हैं। कुछ अंतःस्थापित प्रणाली बड़े पैमाने पर उत्पादित होते हैं, जो पैमाने की अर्थव्यवस्थाओं से लाभान्वित होते हैं। | ||
अंतःस्थापित प्रणाली पोर्टेबल व्यक्तिगत उपकरणों जैसे डिजिटल घड़ियों और [[एमपी 3 प्लेयर]]्स से लेकर [[घरेलू उपकरण]]ों, औद्योगिक [[असेम्बली लाइनें]], [[रोबोटों|रोबोट]], ट्रांसपोर्ट व्हीकल, [[ट्रैफिक लाइट नियंत्रण और समन्वय]] और [[चिकित्सीय इमेजिंग]] प्रणाली जैसी बड़ी मशीनों के आकार में होते हैं। | अंतःस्थापित प्रणाली पोर्टेबल व्यक्तिगत उपकरणों जैसे डिजिटल घड़ियों और [[एमपी 3 प्लेयर]]्स से लेकर [[घरेलू उपकरण]]ों, औद्योगिक [[असेम्बली लाइनें]], [[रोबोटों|रोबोट]], ट्रांसपोर्ट व्हीकल, [[ट्रैफिक लाइट नियंत्रण और समन्वय]] और [[चिकित्सीय इमेजिंग]] प्रणाली जैसी बड़ी मशीनों के आकार में होते हैं। प्रायः वे अन्य मशीनों की उप-प्रणालियों का गठन करते हैं जैसे कि विमान में [[हवाई जहाज|एवियोनिक्स]] और [[अंतरिक्ष यान]] में [[astrionics|आस्ट्रियनिक्स]]। बड़े प्रतिष्ठान जैसे कारखाने, [[पाइपलाइन परिवहन]] और [[विद्युत ग्रिड|विद्युत ग्रिड,]] एक साथ नेटवर्क किए गए कई अंतःस्थापित प्रणाली पर निर्भर करते हैं। सॉफ्टवेयर अनुकूलन के माध्यम से सामान्यीकृत, अंतःस्थापित प्रणाली जैसे [[निर्देशयोग्य तर्क नियंत्रक]] प्रायः अपनी कार्यात्मक इकाइयों को सम्मिलित करते हैं। | ||
अंतःस्थापित प्रणाली जटिलता में कम से लेकर, एकल माइक्रोकंट्रोलर चिप के साथ, कई इकाइयों, बाह्य उपकरणों और नेटवर्क के साथ बहुत अधिक होते हैं, जो [[उपकरण रैक]] में या लंबी दूरी की संचार लाइनों के माध्यम से जुड़े बड़े भौगोलिक क्षेत्रों में रह सकते हैं। | अंतःस्थापित प्रणाली जटिलता में कम से लेकर, एकल माइक्रोकंट्रोलर चिप के साथ, कई इकाइयों, बाह्य उपकरणों और नेटवर्क के साथ बहुत अधिक होते हैं, जो [[उपकरण रैक]] में या लंबी दूरी की संचार लाइनों के माध्यम से जुड़े बड़े भौगोलिक क्षेत्रों में रह सकते हैं। | ||
Line 16: | Line 14: | ||
=== पृष्ठभूमि === | === पृष्ठभूमि === | ||
{{See also|माइक्रोप्रोसेसर घटनाक्रम}} | {{See also|माइक्रोप्रोसेसर घटनाक्रम}} | ||
माइक्रोप्रोसेसर और माइक्रोकंट्रोलर की उत्पत्ति [[एमओएस एकीकृत सर्किट|एमओएस]] [[एकीकृत परिपथ]] में देखी जा सकती है, जो [[MOSFET| | माइक्रोप्रोसेसर और माइक्रोकंट्रोलर की उत्पत्ति [[एमओएस एकीकृत सर्किट|एमओएस]] [[एकीकृत परिपथ]] में देखी जा सकती है, जो [[MOSFET|एमओएस-]]एफईटी (मेटल-ऑक्साइड-सेमीकंडक्टर फील्ड-इफेक्ट ट्रांजिस्टर) से निर्मित एक एकीकृत सर्किट चिप है और इसे 1960 के दशक की शुरुआत में विकसित किया गया था। 1964 तक, एमओएस चिप्स [[द्विध्रुवी जंक्शन ट्रांजिस्टर]] चिप्स की तुलना में उच्च [[ट्रांजिस्टर घनत्व]] और कम निर्माण लागत तक पहुंच गए थे। मूर के कानून द्वारा अनुमानित दर पर एमओएस चिप्स जटिलता में और बढ़ गए, जिससे 1960 के दशक के अंत तक एकल एमओएस चिप पर सैकड़ों ट्रांजिस्टर के साथ [[बड़े पैमाने पर एकीकरण]] (एलएसआई) हो गया। [[कम्प्यूटिंग]] के लिए [[एमओएस एकीकृत सर्किट|एमओएस]] एलएसआई चिप्स का अनुप्रयोग पहले माइक्रोप्रोसेसरों का आधार था, क्योंकि इंजीनियरों ने यह पहचानना शुरू कर दिया था कि एक पूर्ण कंप्यूटर प्रोसेसर प्रणाली कई एमओएस एलएसआई चिप्स पर समाहित हो सकता है।<ref name="ieee">{{cite journal |last1=Shirriff |first1=Ken |title=पहले माइक्रोप्रोसेसरों की आश्चर्यजनक कहानी|journal=[[IEEE Spectrum]] |volume=53 |issue=9 |pages=48–54 |date=30 August 2016 |publisher=[[Institute of Electrical and Electronics Engineers]] |url=https://spectrum.ieee.org/tech-history/silicon-revolution/the-surprising-story-of-the-first-microprocessors |access-date=13 October 2019|doi=10.1109/MSPEC.2016.7551353 |s2cid=32003640 }}</ref> | ||
पहला मल्टी-चिप माइक्रोप्रोसेसर, 1969 में [[चार-चरण प्रणाली AL1]] और 1970 में [[Garrett AiResearch|गर्रेट ऐआईरिसर्च]] [[MP944]], कई एमओएस एलएसआई चिप्स के साथ विकसित किए गए थे। पहला सिंगल-चिप माइक्रोप्रोसेसर [[इंटेल]] 4004 था, जिसे 1971 में जारी किया गया था। इसे [[फेडेरिको फागिन]] | पहला मल्टी-चिप माइक्रोप्रोसेसर, 1969 में [[चार-चरण प्रणाली AL1]] और 1970 में [[Garrett AiResearch|गर्रेट ऐआईरिसर्च]] [[MP944]], कई एमओएस एलएसआई चिप्स के साथ विकसित किए गए थे। पहला सिंगल-चिप माइक्रोप्रोसेसर [[इंटेल]] 4004 था, जिसे 1971 में जारी किया गया था। इसे [[फेडेरिको फागिन]] के साथ में इंटेल इंजीनियर [[मार्सियन हॉफ]] और स्टेन मज़ोर, बुसिकम इंजीनियर मासतोषी शिमा द्वारा अपनी [[सिलिकॉन गेट]] एमओएस तकनीक का उपयोग करके विकसित किया गया था|<ref>{{cite web |title=1971: माइक्रोप्रोसेसर एक सिंगल चिप पर सीपीयू फंक्शन को एकीकृत करता है|website=The Silicon Engine |url=https://www.computerhistory.org/siliconengine/microprocessor-integrates-cpu-function-onto-a-single-chip/ |publisher=[[Computer History Museum]] |access-date=22 July 2019}}</ref> | ||
=== विकास === | === विकास === | ||
1965 एमआईटी इंस्ट्रुमेंटेशन प्रयोगशाला में [[चार्ल्स स्टार्क ड्रेपर]] द्वारा विकसित पहचानने योग्य सबसे पहले आधुनिक अंतःस्थापित प्रणाली में से एक [[अपोलो गाइडेंस कंप्यूटर]] था{{citation needed|reason=linked article claims it is the first IC-based computer. nothing there supports it being the first embedded system.|date=August 2018}}। परियोजना की शुरुआत में, अपोलो मार्गदर्शन कंप्यूटर को अपोलो परियोजना में सबसे जोखिम भरा कार्य माना जाता था क्योंकि इसने कंप्यूटर के आकार और वजन को कम करने के लिए तत्कालीन नव विकसित [[अखंड एकीकृत सर्किट]] को नियोजित किया था। | 1965 एमआईटी इंस्ट्रुमेंटेशन प्रयोगशाला में [[चार्ल्स स्टार्क ड्रेपर]] द्वारा विकसित पहचानने योग्य सबसे पहले आधुनिक अंतःस्थापित प्रणाली में से एक [[अपोलो गाइडेंस कंप्यूटर]] था{{citation needed|reason=linked article claims it is the first IC-based computer. nothing there supports it being the first embedded system.|date=August 2018}}। परियोजना की शुरुआत में, अपोलो मार्गदर्शन कंप्यूटर को अपोलो परियोजना में सबसे जोखिम भरा कार्य माना जाता था क्योंकि इसने कंप्यूटर के आकार और वजन को कम करने के लिए तत्कालीन नव विकसित [[अखंड एकीकृत सर्किट]] को नियोजित किया था। | ||
Line 24: | Line 22: | ||
1961 में रिलीज़ हुई मिनुतेमान मिसाइल के लिए एक प्रारंभिक बड़े पैमाने पर निर्मित अंतःस्थापित प्रणाली ऑटोनेटिक्स D-17 मार्गदर्शन कंप्यूटर था। जब मिनुतेमान II 1966 में उत्पादन में चला गया, तो D-17 को एक नए कंप्यूटर से बदल दिया गया, जो एकीकृत परिपथों के पहले उच्च मात्रा के उपयोग का प्रतिनिधित्व करता है। | 1961 में रिलीज़ हुई मिनुतेमान मिसाइल के लिए एक प्रारंभिक बड़े पैमाने पर निर्मित अंतःस्थापित प्रणाली ऑटोनेटिक्स D-17 मार्गदर्शन कंप्यूटर था। जब मिनुतेमान II 1966 में उत्पादन में चला गया, तो D-17 को एक नए कंप्यूटर से बदल दिया गया, जो एकीकृत परिपथों के पहले उच्च मात्रा के उपयोग का प्रतिनिधित्व करता है। | ||
1960 के दशक में इन शुरुआती अनुप्रयोगों के बाद से, अंतःस्थापित प्रणाली की कीमत में कमी आई है और प्रसंस्करण शक्ति और कार्यक्षमता में नाटकीय वृद्धि हुई । प्रारंभिक माइक्रोप्रोसेसर, इंटेल 4004 (1971 में जारी), [[कैलकुलेटर]] और अन्य छोटी प्रणालियों के लिए डिज़ाइन किया गया था, लेकिन अभी भी बाहरी मेमोरी और सपोर्ट चिप्स की आवश्यकता थी। 1980 के दशक के प्रारंभ तक, मेमोरी, इनपुट और आउटपुट | 1960 के दशक में इन शुरुआती अनुप्रयोगों के बाद से, अंतःस्थापित प्रणाली की कीमत में कमी आई है और प्रसंस्करण शक्ति और कार्यक्षमता में नाटकीय वृद्धि हुई । प्रारंभिक माइक्रोप्रोसेसर, इंटेल 4004 (1971 में जारी), [[कैलकुलेटर]] और अन्य छोटी प्रणालियों के लिए डिज़ाइन किया गया था, लेकिन अभी भी बाहरी मेमोरी और सपोर्ट चिप्स की आवश्यकता थी। 1980 के दशक के प्रारंभ तक, मेमोरी, इनपुट और आउटपुट प्रणाली घटकों को एक ही चिप में एकीकृत किया गया, जिसमें प्रोसेसर एक माइक्रोकंट्रोलर बना रहा था। माइक्रोकंट्रोलर्स ऐसे अनुप्रयोग ढूंढते हैं जहां सामान्य-उद्देश्य वाला कंप्यूटर बहुत महंगा पाया जाता है। जैसे-जैसे माइक्रोप्रोसेसरों और माइक्रोकंट्रोलर्स की लागत गिरती गई, अंतःस्थापित प्रणाली का प्रचलन बढ़ता गया। | ||
आज, तुलनात्मक रूप से कम लागत वाले माइक्रोकंट्रोलर को बड़ी संख्या में अलग-अलग घटकों के समान भूमिका निभाने के लिए प्रोग्राम किया जा सकता है। माइक्रोकंट्रोलर्स के साथ, उपभोक्ता उत्पादों में महंगे नॉब-आधारित [[एनालॉग इलेक्ट्रॉनिक्स]] घटकों जैसे कि [[तनाव नापने का यंत्र]] और [[परिवर्तनीय संधारित्र]] को अप/डाउन बटन या माइक्रोप्रोसेसर द्वारा पढ़े जाने वाले नॉब के साथ बदलना संभव हो गया। हालांकि इस संदर्भ में अंतःस्थापित प्रणाली पारंपरिक समाधान की तुलना में | आज, तुलनात्मक रूप से कम लागत वाले माइक्रोकंट्रोलर को बड़ी संख्या में अलग-अलग घटकों के समान भूमिका निभाने के लिए प्रोग्राम किया जा सकता है। माइक्रोकंट्रोलर्स के साथ, उपभोक्ता उत्पादों में महंगे नॉब-आधारित [[एनालॉग इलेक्ट्रॉनिक्स]] घटकों जैसे कि [[तनाव नापने का यंत्र]] और [[परिवर्तनीय संधारित्र]] को अप/डाउन बटन या माइक्रोप्रोसेसर द्वारा पढ़े जाने वाले नॉब के साथ बदलना संभव हो गया। हालांकि इस संदर्भ में अंतःस्थापित प्रणाली पारंपरिक समाधान की तुलना में सामान्यतः अधिक जटिल होता है, अधिकांश जटिलता माइक्रोकंट्रोलर के भीतर ही निहित होती है। बहुत कम अतिरिक्त घटकों की आवश्यकता हो सकती है और अधिकांश डिज़ाइन प्रयास सॉफ़्टवेयर में हैं। सॉफ्टवेयर प्रोटोटाइप और परीक्षण अंतःस्थापित प्रोसेसर का उपयोग नहीं करने वाले नए सर्किट के डिजाइन और निर्माण की तुलना में तेज हो सकता है। | ||
== अनुप्रयोग == | == अनुप्रयोग == | ||
[[File:Accupoll-embedded-computer.jpg|thumb|अकुपोल इलेक्ट्रॉनिक वोटिंग मशीन के लिए अंतःस्थापित कंप्यूटर सब-असेंबली<ref>{{cite web|url=https://www.eff.org/|title=इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन|website=इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन}}</ref>]]अंतःस्थापित प्रणाली | [[File:Accupoll-embedded-computer.jpg|thumb|अकुपोल इलेक्ट्रॉनिक वोटिंग मशीन के लिए अंतःस्थापित कंप्यूटर सब-असेंबली<ref>{{cite web|url=https://www.eff.org/|title=इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन|website=इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन}}</ref>]]अंतःस्थापित प्रणाली मुख्यतः उपभोक्ता, औद्योगिक, ऑटोमोटिव उद्योग, [[घरेलू उपकरण]]ों, चिकित्सा, [[दूरसंचार]], वाणिज्यिक, एयरोस्पेस और सैन्य अनुप्रयोगों में पाए जाते हैं। | ||
दूरसंचार प्रणालियाँ नेटवर्क के लिए [[टेलीफोन स्विच]] से लेकर [[अंतिम उपयोगकर्ता]] के [[मोबाइल फोन]] तक कई | दूरसंचार प्रणालियाँ नेटवर्क के लिए [[टेलीफोन स्विच]] से लेकर [[अंतिम उपयोगकर्ता]] के [[मोबाइल फोन]] तक कई अंतःस्थापित प्रणाली का उपयोग करती हैं। कंप्यूटर नेटवर्किंग डेटा को रूट करने के लिए समर्पित [[राउटर (कंप्यूटिंग)|राउटर]] और [[नेटवर्क ब्रिज]] का उपयोग करती है। | ||
[[उपभोक्ता इलेक्ट्रॉनिक्स]] में एमपी3 प्लेयर, [[टेलिविजन सेट]], मोबाइल फोन, [[विडियो गेम कंसोल]], [[डिजिटल कैमरा]], [[ग्लोबल पोजिशनिंग सिस्टम]] रिसीवर और [[संगणक मुद्रक]] | [[उपभोक्ता इलेक्ट्रॉनिक्स]] में एमपी3 प्लेयर, [[टेलिविजन सेट]], मोबाइल फोन, [[विडियो गेम कंसोल]], [[डिजिटल कैमरा]], [[ग्लोबल पोजिशनिंग सिस्टम|ग्लोबल पोजिशनिंग प्रणाली]] रिसीवर और [[संगणक मुद्रक]] सम्मिलित हैं। [[माइक्रोवेव ओवन]], वाशिंग मशीन और [[डिशवाशर]] जैसे घरेलू उपकरणों में लचीलापन, दक्षता और सुविधाएँ प्रदान करने के लिए अंतःस्थापित प्रणाली सम्मिलित हैं। उन्नत हीटिंग, वेंटिलेशन और एयर कंडीशनिंग (एचवीएसी) प्रणाली नेटवर्क [[थर्मोस्टेट]]्स का उपयोग अधिक सटीक और कुशलता से तापमान को नियंत्रित करने के लिए करते हैं जो दिन और [[मौसम]] के अनुसार बदल सकते हैं। गृह स्वचालन, वायर्ड और वायरलेस-नेटवर्किंग का उपयोग करता है जिसका उपयोग रोशनी, जलवायु, सुरक्षा, ऑडियो/दृश्य, निगरानी इत्यादि को नियंत्रित करने के लिए किया जा सकता है, जिनमें से सभी संवेदन और नियंत्रण के लिए अंतःस्थापित उपकरण का उपयोग करते हैं। | ||
उड़ान से [[ऑटोमोबाइल]] तक परिवहन प्रणालियाँ तेजी से | उड़ान से [[ऑटोमोबाइल]] तक परिवहन प्रणालियाँ तेजी से अंतःस्थापित प्रणाली का उपयोग करती हैं। नए हवाई जहाजों में उन्नत एविओनिक्स जैसे कि [[जड़त्वीय मार्गदर्शन प्रणाली]] और ग्लोबल पोजिशनिंग प्रणाली रिसीवर होते हैं जिनकी सुरक्षा की भी काफी आवश्यकता होती है। अंतरिक्ष यान प्रक्षेपवक्र सुधार के लिए एस्ट्रियोनिक्स प्रणाली पर भरोसा करते हैं। विभिन्न इलेक्ट्रिक मोटर्स -ब्रुशलेस डीसी मोटर्स, [[इंडक्शन मोटर]]्स और डीसी मोटर्स - इलेक्ट्रॉनिक [[मोटर नियंत्रक]] का उपयोग करते हैं। ऑटोमोबाइल, [[विद्युतीय वाहन]] और [[हाइब्रिड वाहन]] दक्षता को अधिकतम करने और प्रदूषण को कम करने के लिए तेजी से अंतःस्थापित प्रणाली का उपयोग कर रहे हैं। अंतःस्थापित प्रणाली का उपयोग करने वाली अन्य ऑटोमोटिव सुरक्षा प्रणालियों में [[लॉक - रोधी ब्रेकिंग प्रणाली|लॉक-रोधी ब्रेकिंग प्रणाली]] (एबीएस), [[इलेक्ट्रॉनिक स्थिरता नियंत्रण]] (ईएससी/ईएसपी), [[कर्षण नियंत्रण प्रणाली]] (टीसीएस) और स्वचालित चार-पहिया ड्राइव सम्मिलित हैं। | ||
चिकित्सा उपकरण मॉनिटरिंग, और विभिन्न चिकित्सा इमेजिंग ([[पोजीट्रान एमिशन टोमोग्राफी]]-पीईटी), एकल-फोटॉन उत्सर्जन [[परिकलित टोमोग्राफी]](एसपीईसीटी), कंप्यूटेड टोमोग्राफी (सीटी), और नॉन-इनवेसिव के लिए चुंबकीय अनुनाद इमेजिंग (एमआरआई) के लिए अंतःस्थापित प्रणाली का उपयोग करता है। आंतरिक निरीक्षण चिकित्सा उपकरणों के भीतर | चिकित्सा उपकरण मॉनिटरिंग, और विभिन्न चिकित्सा इमेजिंग ([[पोजीट्रान एमिशन टोमोग्राफी]]-पीईटी), एकल-फोटॉन उत्सर्जन [[परिकलित टोमोग्राफी]](एसपीईसीटी), कंप्यूटेड टोमोग्राफी (सीटी), और नॉन-इनवेसिव के लिए चुंबकीय अनुनाद इमेजिंग (एमआरआई) के लिए अंतःस्थापित प्रणाली का उपयोग करता है। आंतरिक निरीक्षण चिकित्सा उपकरणों के भीतर अंतःस्थापित प्रणाली प्रायः औद्योगिक कंप्यूटरों द्वारा संचालित होते हैं।<ref>[http://content.dell.com/us/en/enterprise/oem-industry-solutions-build-your-product-with-dell Embedded Systems Dell OEM Solutions | Dell]. Content.dell.com (2011-01-04). Retrieved on 2013-02-06.</ref> | ||
अंतःस्थापित प्रणाली का उपयोग एयरोस्पेस और रक्षा उद्योगों में सुरक्षा | अंतःस्थापित प्रणाली का उपयोग एयरोस्पेस और रक्षा उद्योगों में सुरक्षा की दृष्टि महत्वपूर्ण प्रणालियों के लिए किया जाता है। जब तक ऑन-चिप 3जी सेलुलर या IoT निगरानी और नियंत्रण उद्देश्यों के लिए अन्य तरीकों के माध्यम से वायर्ड या वायरलेस नेटवर्क से कनेक्ट नहीं किया जाता है, तब तक इन प्रणालियों को हैकिंग से अलग किया जा सकता है और इस प्रकार अधिक सुरक्षित हो सकता है।{{citation needed|date=April 2021}} अग्नि सुरक्षा के लिए, प्रणाली को उच्च तापमान को संभालने और संचालन जारी रखने की अधिक क्षमता रखने के लिए डिज़ाइन किया जा सकता है। सुरक्षा से निपटने में, अंतःस्थापित प्रणाली आत्मनिर्भर हो सकते हैं और कट इलेक्ट्रिकल और संचार प्रणालियों से निपटने में सक्षम हो सकते हैं। | ||
[[मोठे (सेंसर)|मोट्स]] कहे जाने वाले लघु वायरलेस | [[मोठे (सेंसर)|मोट्स]] कहे जाने वाले लघु वायरलेस उपकरण नेटवर्क वाले वायरलेस संवेदक हैं। वायरलेस संवेदक नेटवर्किंग उन्नत एकीकृत सर्किट (आईसी) डिजाइन द्वारा पूर्ण वायरलेस सबप्रणाली को परिष्कृत संवेदक से जोड़े जाने के लिए लघुकरण का उपयोग संभव बनाता है, जिससे लोगों और कंपनियों को भौतिक दुनिया में असंख्य चीजों को मापने और निगरानी और नियंत्रण प्रणाली के माध्यम से इस जानकारी पर कार्य करने में सक्षम बनाता है। ये मोट्स पूरी तरह से स्व-निहित हैं और सामान्यतः वर्षों तक बैटरी को बदलने या चार्ज करने की आवश्यकता नहीं होती है। | ||
== विशेषताएं == | == विशेषताएं == | ||
अंतःस्थापित प्रणाली को कई कार्यों के लिए एक सामान्य-उद्देश्य वाला कंप्यूटर होने के बजाय कुछ विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है। कुछ में रीयल-टाइम प्रदर्शन बाधाएं भी होती हैं जिन्हें सुरक्षा और उपयोगिता जैसे कारणों से पूरा किया जाना चाहिए; दूसरों के पास कम या कोई प्रदर्शन आवश्यकता नहीं हो सकती है, जिससे लागत कम करने के लिए | अंतःस्थापित प्रणाली को कई कार्यों के लिए एक सामान्य-उद्देश्य वाला कंप्यूटर होने के बजाय कुछ विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है। कुछ में रीयल-टाइम प्रदर्शन बाधाएं भी होती हैं जिन्हें सुरक्षा और उपयोगिता जैसे कारणों से पूरा किया जाना चाहिए; दूसरों के पास कम या कोई प्रदर्शन आवश्यकता नहीं हो सकती है, जिससे लागत कम करने के लिए प्रणाली हार्डवेयर को सरल बनाया जा सकता है। | ||
अंतःस्थापित प्रणाली हमेशा स्टैंडअलोन उपकरण नहीं होते हैं। कई अंतःस्थापित प्रणाली में बड़े उपकरण के भीतर छोटे हिस्से होते हैं जो अधिक सामान्य उद्देश्य को पूरा | अंतःस्थापित प्रणाली हमेशा स्टैंडअलोन उपकरण नहीं होते हैं। कई अंतःस्थापित प्रणाली में बड़े उपकरण के भीतर छोटे हिस्से होते हैं जो अधिक सामान्य उद्देश्य को पूरा करते हैं। उदाहरण के लिए [[गिब्सन रोबोट गिटार|गिब्सन रोबोट, गिटार]] में तारों को ट्यून करने के लिए एक अंतःस्थापित प्रणाली है, लेकिन रोबोट गिटार का समग्र उद्देश्य संगीत बजाना है।<ref>{{cite magazine |url=http://www.embedded.com/underthehood/207401418 |title=हुड के नीचे: रोबोट गिटार ऑटोट्यूनिंग एम्बेड करता है|archive-url=https://web.archive.org/web/20080708195311/http://embedded.com/underthehood/207401418 |archive-date=2008-07-08 |author=David Carey |date=2008-04-22 |magazine=Embedded Systems Design}}</ref> इसी तरह, ऑटोमोबाइल में एक अंतःस्थापित प्रणाली कार के सबप्रणाली के रूप में विशिष्ट कार्य प्रदान करता है। | ||
[[File:ESOM270 eSOM300 Computer on Modules.jpg|thumb|मॉड्यूल पर ई-कॉन | [[File:ESOM270 eSOM300 Computer on Modules.jpg|thumb|मॉड्यूल पर ई-कॉन प्रणाली्स eSOM270 और eSOM300 कंप्यूटर]]अंतःस्थापित प्रणाली के लिए लिखे गए प्रोग्राम निर्देश [[फर्मवेयर]] के रूप में संदर्भित होते हैं, और रीड-ओनली मेमोरी या [[फ्लैश मेमोरी]] चिप्स में संग्रहीत होते हैं। वे सीमित कंप्यूटर हार्डवेयर संसाधनों के साथ चलते हैं जैसे कम मेमोरी, छोटा या गैर-मौजूद कीबोर्ड या स्क्रीन। | ||
=== उपभोक्ता इंटरफेस === | === उपभोक्ता इंटरफेस === | ||
[[File:MicroVGA TUI demoapp.jpg|thumb| | [[File:MicroVGA TUI demoapp.jpg|thumb|सूक्ष्म वीजीए का उपयोग कर अंतःस्थापित प्रणाली [[टेक्स्ट यूजर इंटरफेस]]<ref group="nb" name="MicroVGA">For more details of MicroVGA see this [http://www.microvga.com/pdf/uvga-text-ds.pdf PDF].</ref>]]अंतःस्थापित प्रणाली बिना कोई यूजर इंटरफेस, केवल एक कार्य के लिए समर्पित, से लेकर आधुनिक कंप्यूटर डेस्कटॉप ऑपरेटिंग प्रणाली के समान जटिल [[ग्राफिकल यूज़र इंटरफ़ेस]] तक हो सकते हैं। सरल अंतःस्थापित उपकरण साधारण [[मेनू (कंप्यूटिंग)]] के साथ दबाने वाले [[बटन दबाओ|बटन]], [[प्रकाश उत्सर्जक डायोड]] (एलईडी), ग्राफिक या कैरेक्टर [[लिक्विड क्रिस्टल डिस्प्ले]] (एलसीडी) का उपयोग करते हैं। अधिक परिष्कृत उपकरण जो [[टच स्क्रीन]] या स्क्रीन-एज सॉफ्ट कुंजियों के साथ ग्राफिकल स्क्रीन का उपयोग करते हैं, उपयोग किए गए स्थान को कम करते हुए लचीलापन प्रदान करते हैं: जहाँ बटन का अर्थ स्क्रीन के साथ बदल सकता है, और वांछित चयन की ओर इशारा करने का प्राकृतिक व्यवहार सम्मिलित है। | ||
कुछ | कुछ प्रणाली सीरियल (जैसे [[RS-232]]) या नेटवर्क (जैसे [[ईथरनेट]]) कनेक्शन की मदद से दूरस्थ रूप से यूजर इंटरफेस प्रदान करते हैं। यह दृष्टिकोण अंतःस्थापित प्रणाली की क्षमताओं को बढ़ाता है, डिस्प्ले की लागत को बचाता है, [[बोर्ड समर्थन पैकेज]] (बीएसपी) को सरल करता है और डिजाइनरों को पीसी पर एक समृद्ध यूजर इंटरफेस बनाने की सहूलियत देता है। इसका एक अच्छा उदाहरण अंतःस्थापित उपकरण (जैसे आईपी कैमरा या राउटर) पर चलने वाले [[एम्बेडेड HTTP सर्वर|अंतःस्थापित एचटीटीपी सर्वर]] का संयोजन है। यूजर इंटरफेस, उपकरण से जुड़े पीसी पर वेब ब्राउजर में प्रदर्शित होता है। | ||
=== अंतःस्थापित प्रणाली में प्रोसेसर === | === अंतःस्थापित प्रणाली में प्रोसेसर === | ||
सामान्य-उद्देश्य वाले समकक्षों की तुलना में विशिष्ट अंतःस्थापित कंप्यूटरों के गुणों के उदाहरण हैं, कम बिजली की खपत, छोटे आकार, | सामान्य-उद्देश्य वाले समकक्षों की तुलना में विशिष्ट अंतःस्थापित कंप्यूटरों के गुणों के उदाहरण हैं, कम बिजली की खपत, छोटे आकार, मज़बूत ऑपरेटिंग रेंज और कम प्रति-यूनिट लागत। यह सीमित प्रसंस्करण संसाधनों की कीमत पर आता है। | ||
अंतःस्थापित प्रणाली उपयोग के लिए [[सामान्य माइक्रोकंट्रोलर्स की सूची]] विकसित की गई है। सामान्य-उद्देश्य वाले माइक्रोप्रोसेसरों का उपयोग | अंतःस्थापित प्रणाली उपयोग के लिए [[सामान्य माइक्रोकंट्रोलर्स की सूची]] विकसित की गई है। सामान्य-उद्देश्य वाले माइक्रोप्रोसेसरों का उपयोग अंतःस्थापित प्रणाली में भी किया जाता है, लेकिन सामान्यतः, माइक्रोकंट्रोलर्स की तुलना में अधिक समर्थन सर्किट्री की आवश्यकता होती है। | ||
==== तैयार-निर्मित कंप्यूटर बोर्ड ==== | ==== तैयार-निर्मित कंप्यूटर बोर्ड ==== | ||
पीसी/104 और पीसी/104+ तैयार-निर्मित कंप्यूटर बोर्डों के मानकों के उदाहरण हैं, जो छोटे, कम मात्रा वाले अंतःस्थापित और मजबूत | पीसी/104 और पीसी/104+ तैयार-निर्मित कंप्यूटर बोर्डों के मानकों के उदाहरण हैं, जो छोटे, कम मात्रा वाले अंतःस्थापित और मजबूत प्रणाली के लिए अभिप्रेत हैं। ये ज्यादातर x86-आधारित हैं और प्रायः मानक पीसी की तुलना में शारीरिक रूप [[से]] छोटे होते हैं, हालांकि अभी भी सबसे सरल (8/16-बिट) अंतःस्थापित प्रणाली की तुलना में काफी बड़े हैं। वे डॉस, लिनक्स, नेटबीएसडी, या अंतःस्थापित [[रीयल-टाइम ऑपरेटिंग सिस्टम|रीयल-टाइम ऑपरेटिंग प्रणाली]] (आरटीओएस) जैसे कि माइक्रोसी/ओएस-II, क्यूएनएक्स या वीएक्सवर्क्स का उपयोग कर सकते हैं। | ||
कुछ अनुप्रयोगों में, जहां छोटे आकार या | कुछ अनुप्रयोगों में, जहां छोटे आकार या विद्युत् दक्षता प्राथमिक चिंताएं नहीं हैं, उपयोग किए जाने वाले घटक सामान्य-उद्देश्य वाले x86 व्यक्तिगत कंप्यूटरों में उपयोग किए जाने वाले घटकों के साथ संगत हो सकते हैं। वीआईए [[ईपीआईए]] रेंज जैसे बोर्ड पीसी-संगत लेकिन अत्यधिक एकीकृत, शारीरिक रूप से छोटे या अंतःस्थापित इंजीनियरों के लिए उन्हें आकर्षक बनाने वाली अन्य विशेषताओं के द्वारा अंतर को पाटने में मदद करते हैं। इस दृष्टिकोण का लाभ यह है कि सामान्य सॉफ़्टवेयर विकास के लिए उपयोग किए जाने वाले समान सॉफ़्टवेयर डेवलपमेंट टूल के साथ कम लागत वाले कमोडिटी घटकों का उपयोग किया जा सकता है। इस तरह से निर्मित प्रणालियों को अभी भी अंतःस्थापित माना जाता है क्योंकि वे बड़े उपकरणों में एकीकृत होते हैं और एक ही भूमिका को पूरा करते हैं। इस दृष्टिकोण को अपनाने वाले उपकरणों के उदाहरण स्वचालित टेलर मशीन ([[एटीएम]]) और [[आर्केड मशीनें]] हैं, जिनमें अनुप्रयोग के लिए विशिष्ट कोड होते हैं। | ||
हालांकि, अधिकांश | हालांकि, अधिकांश तैयार अंतःस्थापित प्रणाली बोर्ड पीसी-केंद्रित नहीं होते हैं और आईएसए या पीसीआई इंटरकनेक्ट बसों का उपयोग नहीं करते हैं। जब [[सिस्टम-ऑन-अ-चिप|प्रणाली-ऑन-अ-चिप]] प्रोसेसर सम्मिलित होता है, तो असतत घटकों को जोड़ने वाली प्रमाणीकृत बस होने से बहुत कम लाभ हो सकता है, और दोनों, हार्डवेयर और सॉफ्टवेयर उपकरण के लिए वातावरण बहुत भिन्न हो सकता है। | ||
सामान्य डिजाइन शैली एक छोटे प्रणाली मॉड्यूल का उपयोग करती है, लगभग एक व्यवसाय कार्ड के आकार का, उच्च घनत्व [[गेंद जाल सरणी|बीजीए]] चिप्स जैसे [[एआरएम वास्तुकला|एआरएम]]-आधारित प्रणाली-ऑन-ए-चिप प्रोसेसर और पेरिफेरल्स, भंडारण के लिए बाहरी फ्लैश मेमोरी, और रनटाइम मेमोरी के लिए [[डायनेमिक रैंडम एक्सेस मेमोरी]]। मॉड्यूल विक्रेता सामान्यतः बूट सॉफ़्टवेयर प्रदान करेगा और ऑपरेटिंग प्रणाली का चयन सुनिश्चित करेगा, सामान्यतः [[लिनक्स]] और कुछ रीयल-टाइम विकल्पों सहित। इन मॉड्यूलों को उनके विशेष परीक्षण मुद्दों से परिचित संगठनों द्वारा उच्च मात्रा में निर्मित किया जा सकता है, और अनुप्रयोग-विशिष्ट बाह्य उपकरणों के साथ बहुत कम वॉल्यूम कस्टम मेनबोर्ड के साथ जोड़ा जा सकता है। इस दृष्टिकोण के प्रमुख उदाहरणों में ओर्दुइनो और रास्पबेरी पाई सम्मिलित हैं। | |||
==== | ==== एइसआईसी और ऍफ़पीजीए एसओसी समाधान ==== | ||
चिप | प्रणाली-ऑन-ए-चिप (एसओसी) में एक पूरा प्रणाली होता है - जिसमें कई प्रोसेसर, मल्टीप्लायर, कैशै, यहां तक कि विभिन्न प्रकार की मेमोरी और सामान्यतः विभिन्न बाह्य उपकरणों जैसे चिप पर वायर्ड या वायरलेस संचार के लिए इंटरफेस होते हैं। प्रायः ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) और डीएसपी में ऐसे चिप्स सम्मिलित होते हैं। एसओसी को एक अनुप्रयोग-विशिष्ट एकीकृत सर्किट (एइसआईसी) के रूप में या [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] (ऍफ़पीजीए) का उपयोग करके लागू किया जा सकता है जिसे सामान्यतः पुन: कॉन्फ़िगर किया जा सकता है। | ||
मोबाइल फोन और [[स्मार्टफोन]] जैसे बहुत अधिक मात्रा वाले | मोबाइल फोन और [[स्मार्टफोन]] जैसे बहुत अधिक मात्रा वाले अंतःस्थापित प्रणाली के लिए एएसआईसी कार्यान्वयन सामान्य हैं। एएसआईसी या एफपीजीए कार्यान्वयन का उपयोग एवियोनिक्स की तरह सिग्नल प्रोसेसिंग प्रदर्शन, इंटरफेस और विश्वसनीयता के प्रकार में विशेष जरूरतों के साथ इतनी अधिक मात्रा वाले अंतःस्थापित प्रणाली के लिए किया जा सकता है। | ||
=== बाह्य | === बाह्य उपकरण === | ||
[[File:SMSC LAN91C110 ethernet chip.jpg|thumb|SMSC LAN91C110 (SMSC 91x) चिप का क्लोज़-अप, एक अंतःस्थापित ईथरनेट चिप]]अंतःस्थापित प्रणाली बाह्य दुनिया के साथ बाह्य उपकरणों के माध्यम से बात करते हैं, जैसे: | [[File:SMSC LAN91C110 ethernet chip.jpg|thumb|SMSC LAN91C110 (SMSC 91x) चिप का क्लोज़-अप, एक अंतःस्थापित ईथरनेट चिप]]अंतःस्थापित प्रणाली बाह्य दुनिया के साथ बाह्य उपकरणों के माध्यम से बात करते हैं, जैसे: | ||
* [[सीरियल संचार इंटरफ़ेस]] ( | * [[सीरियल संचार इंटरफ़ेस]] (एससीआई): RS-232, [[RS-422]], [[RS-485]], आदि। | ||
* [[तुल्यकालिक सीरियल इंटरफ़ेस]]: [[I2C]], [[सीरियल पेरिफेरल इंटरफेस बस]], एसएससी और ईएसएसआई (उन्नत सिंक्रोनस सीरियल इंटरफ़ेस) | * [[तुल्यकालिक सीरियल इंटरफ़ेस]]: [[I2C]], [[सीरियल पेरिफेरल इंटरफेस बस]], एसएससी और ईएसएसआई (उन्नत सिंक्रोनस सीरियल इंटरफ़ेस) | ||
* [[यूनिवर्सल सीरियल बस]] ( | * [[यूनिवर्सल सीरियल बस]] (युएसबी) | ||
* मीडिया कार्ड ([[एसडी कार्ड]], [[कॉम्पैक्ट फ़्लैश]], आदि) | * मीडिया कार्ड ([[एसडी कार्ड]], [[कॉम्पैक्ट फ़्लैश]], आदि) | ||
* [[नेटवर्क इंटरफ़ेस नियंत्रक]]: ईथरनेट, वाईफाई, आदि। | * [[नेटवर्क इंटरफ़ेस नियंत्रक]]: ईथरनेट, वाईफाई, आदि। | ||
* [[फील्डबस]]: [[कैन बस]], [[स्थानीय इंटरकनेक्ट नेटवर्क]] | लिन-बस, [[प्रोफिबस]], आदि। | * [[फील्डबस]]: [[कैन बस]], [[स्थानीय इंटरकनेक्ट नेटवर्क]] | लिन-बस, [[प्रोफिबस]], आदि। | ||
* टाइमर: [[चरण बंद लूप]], [[प्रोग्राम करने योग्य अंतराल टाइमर]] | * टाइमर: [[चरण बंद लूप]], [[प्रोग्राम करने योग्य अंतराल टाइमर]] | ||
* सामान्य प्रयोजन इनपुट/आउटपुट ( | * सामान्य प्रयोजन इनपुट/आउटपुट (जीपीआईओ) | ||
* | * एनालॉग-टू-डिजिटल और [[डिज़िटल से एनालॉग कन्वर्टर]] | ||
* | * दोषमार्जन: [[JTAG|जेटीएजी]], [[इन-सिस्टम प्रोग्रामिंग|इन-प्रणाली प्रोग्रामिंग]], [[पृष्ठभूमि डिबग मोड इंटरफ़ेस|पृष्ठभूमि डित्रुटि मोड इंटरफ़ेस]] पोर्ट, बीआईटीपी और DB9 पोर्ट। | ||
=== | === साधन === | ||
अन्य सॉफ़्टवेयर की तरह, | अन्य सॉफ़्टवेयर की तरह, अंतःस्थापित प्रणाली डिज़ाइनर अंतःस्थापित प्रणाली सॉफ़्टवेयर विकसित करने के लिए [[संकलक]]्स, असेंबली भाषा और [[डिबगर|डित्रुटिर]]्स का उपयोग करते हैं। हालाँकि, वे अधिक विशिष्ट उपकरणों का भी उपयोग कर सकते हैं: | ||
* सर्किट | * सर्किट डित्रुटिर्स या एमुलेटर में (#दोषमार्जन देखें)। | ||
* एक कार्यक्रम में चेकसम या चक्रीय अतिरेक जाँच जोड़ने के लिए उपयोगिताएँ, ताकि | * एक कार्यक्रम में चेकसम या चक्रीय अतिरेक जाँच जोड़ने के लिए उपयोगिताएँ, ताकि अंतःस्थापित प्रणाली जाँच सके कि कार्यक्रम वैध है या नहीं। | ||
* [[अंकीय संकेत प्रक्रिया]] का उपयोग करने वाले | * [[अंकीय संकेत प्रक्रिया]] का उपयोग करने वाले प्रणाली के लिए, डेवलपर्स गणित का अनुकरण करने के लिए एक [[कम्प्यूटेशनल नोटबुक]] का उपयोग कर सकते हैं। | ||
* | * प्रणाली-स्तरीय मॉडलिंग और सिमुलेशन उपकरण डिजाइनरों को [[प्रोसेसर]], [[यादें|मेमोरी]], [[प्रत्यक्ष मेमोरी एक्सेस]], [[इंटरफ़ेस (कंप्यूटिंग)]] एस, बसों और सॉफ़्टवेयर व्यवहार प्रवाह जैसे हार्डवेयर घटकों के साथ प्रणाली के सिमुलेशन मॉडल बनाने में मदद करते हैं, पुस्तकालय ब्लॉक का उपयोग करके स्थिति-आरेख या प्रवाह आरेख के रूप में कॉन्फ़िगर करने योग्य होते हैं। क्षमता बनाम प्रदर्शन के संतुलन के साथ, विश्वसनीयता विश्लेषण और अड़चन विश्लेषण करके सही घटकों का चयन करने के लिए सिमुलेशन आयोजित किया जाता है। विशिष्ट रिपोर्ट जो डिज़ाइनर को आर्किटेक्चर निर्णय लेने में मदद करती हैं, उनमें अनुप्रयोग विलंबता, उपकरण थ्रूपुट, उपकरण उपयोग, पूर्ण प्रणाली की बिजली खपत के साथ-साथ उपकरण-स्तरीय बिजली खपत सम्मिलित है। | ||
* एक मॉडल-आधारित विकास उपकरण डिजिटल फिल्टर, मोटर नियंत्रक, संचार प्रोटोकॉल डिकोडिंग और बहु-दर कार्यों जैसे घटकों के ग्राफिकल डेटा प्रवाह और यूएमएल | * एक मॉडल-आधारित विकास उपकरण डिजिटल फिल्टर, मोटर नियंत्रक, संचार प्रोटोकॉल डिकोडिंग और बहु-दर कार्यों जैसे घटकों के ग्राफिकल डेटा प्रवाह और यूएमएल स्थिति चार्ट आरेख बनाता है और उनका अनुकरण करता है। | ||
* विशेष हार्डवेयर को अनुकूलित करने के लिए कस्टम कंपाइलर और लिंकर्स का उपयोग किया जा सकता है। | * विशेष हार्डवेयर को अनुकूलित करने के लिए कस्टम कंपाइलर और लिंकर्स का उपयोग किया जा सकता है। | ||
* | * अंतःस्थापित प्रणाली की अपनी विशेष भाषा या डिज़ाइन टूल हो सकता है, या [[फोर्थ (प्रोग्रामिंग भाषा)|फोर्थ]] या [[बेसिक स्टाम्प|बेसिक]] जैसी मौजूदा भाषा में वृद्धि जोड़ सकता है। | ||
* एक अन्य विकल्प आरटीओएस या [[एम्बेडेड ऑपरेटिंग सिस्टम|अंतःस्थापित ऑपरेटिंग | * एक अन्य विकल्प आरटीओएस या [[एम्बेडेड ऑपरेटिंग सिस्टम|अंतःस्थापित ऑपरेटिंग प्रणाली]] को जोड़ना है | ||
* मॉडलिंग और कोड जनरेटिंग [[यूएमएल उपकरण]] | * मॉडलिंग और कोड जनरेटिंग [[यूएमएल उपकरण]] प्रायः [[यूएमएल राज्य मशीन|यूएमएल अवस्था मशीन]] पर आधारित होता है | ||
सॉफ़्टवेयर टूल कई स्रोतों से आ सकते हैं: | सॉफ़्टवेयर टूल कई स्रोतों से आ सकते हैं: | ||
* सॉफ्टवेयर कंपनियां जो अंतःस्थापित मार्केट में विशेषज्ञ हैं | * सॉफ्टवेयर कंपनियां जो अंतःस्थापित मार्केट में विशेषज्ञ हैं | ||
* [[GNU]] सॉफ्टवेयर डेवलपमेंट टूल्स से पोर्ट किया गया | * [[GNU|जीएनयू]] सॉफ्टवेयर डेवलपमेंट टूल्स से पोर्ट किया गया | ||
* कभी-कभी, व्यक्तिगत कंप्यूटर के लिए विकास उपकरण का उपयोग किया जा सकता है यदि अंतःस्थापित प्रोसेसर एक सामान्य पीसी प्रोसेसर के निकट संबंधी है | * कभी-कभी, व्यक्तिगत कंप्यूटर के लिए विकास उपकरण का उपयोग किया जा सकता है यदि अंतःस्थापित प्रोसेसर एक सामान्य पीसी प्रोसेसर के निकट संबंधी है | ||
जैसे-जैसे | जैसे-जैसे अंतःस्थापित प्रणाली की जटिलता बढ़ती है, उच्च-स्तरीय उपकरण और ऑपरेटिंग प्रणाली मशीनरी में माइग्रेट हो रहे हैं जहां यह उचित लगता है। उदाहरण के लिए, [[सेल फोन]], व्यक्तिगत डिजिटल सहायक और अन्य उपभोक्ता कंप्यूटरों को प्रायः महत्वपूर्ण सॉफ़्टवेयर की आवश्यकता होती है जिसे इलेक्ट्रॉनिक्स के निर्माता के अलावा किसी अन्य व्यक्ति द्वारा खरीदा या प्रदान किया जाता है। इन प्रणालियों में, लिनक्स, नेटबीएसडी, [[ओएसजीआई]] या [[एंबेडेड जावा]] जैसे खुले प्रोग्रामिंग वातावरण की आवश्यकता होती है ताकि तीसरे पक्ष के सॉफ्टवेयर प्रदाता बड़े बाजार में बेच सकें। | ||
== [[डिबगिंग]] == | == [[डिबगिंग|दोषमार्जन]] == | ||
अंतःस्थापित दोषमार्जन उपलब्ध सुविधाओं के आधार पर विभिन्न स्तरों पर किया जा सकता है। इन विचारों में सम्मिलित हैं: क्या यह मुख्य अनुप्रयोग को धीमा करता है, दोषमार्जन प्रणाली या अनुप्रयोग वास्तविक प्रणाली या अनुप्रयोग के कितने करीब है, दोषमार्जन के लिए सेट किए जा सकने वाले ट्रिगर कितने अभिव्यंजक हैं (उदाहरण के लिए, किसी विशेष [[कार्यक्रम गणक]] वैल्यू के निश्चित सीमा पर पहुंचने पर मेमोरी का निरीक्षण करना), और दोषमार्जन प्रक्रिया में क्या निरीक्षण किया जा सकता है (जैसे, केवल मेमोरी, या मेमोरी और रजिस्टर, आदि)। | |||
सबसे सरल | सबसे सरल परिष्कृत दोषमार्जन तकनीकों और प्रणालियों को मोटे तौर पर निम्नलिखित क्षेत्रों में समूहीकृत किया जाना चाहिए: | ||
* अंतःस्थापित ऑपरेटिंग | * अंतःस्थापित ऑपरेटिंग प्रणाली (जैसे फोर्थ और बेसिक) द्वारा प्रदान किए गए सरल शेल का उपयोग करके इंटरएक्टिव रेजिडेंट दोषमार्जन | ||
* केवल-सॉफ़्टवेयर | * केवल-सॉफ़्टवेयर डित्रुटिर्स के पास यह लाभ है कि उन्हें किसी हार्डवेयर संशोधन की आवश्यकता नहीं होती है, लेकिन समय और संग्रहण स्थान को बचाने के लिए उन्हें सावधानीपूर्वक नियंत्रित करना पड़ता है कि वे क्या अंकित करते हैं।<ref>{{Cite journal |last1=Tancreti |first1=Matthew |last2=Sundaram |first2=Vinaitheerthan |last3=Bagchi |first3=Saurabh |last4=Eugster |first4=Patrick |date=2015 |title=TARDIS: वायरलेस सेंसर नेटवर्क में सॉफ्टवेयर-ओनली सिस्टम-लेवल रिकॉर्ड और रीप्ले|journal=Proceedings of the 14th International Conference on Information Processing in Sensor Networks |series=IPSN '15 |location=New York, NY, USA |publisher=ACM |pages=286–297 |doi=10.1145/2737095.2737096 |isbn=9781450334754 |s2cid=10120929}}</ref> | ||
* बाहरी | * बाहरी दोषमार्जन लॉगिंग या सीरियल पोर्ट आउटपुट का उपयोग करके या तो फ्लैश में मॉनिटर का उपयोग करके या [[उपाय डीबगर|रेमेडी डीत्रुटिर]] जैसे डित्रुटि सर्वर का उपयोग करके ऑपरेशन का पता लगाने के लिए जो विषम [[मल्टी-कोर प्रोसेसर]] प्रणाली के लिए भी काम करता है। | ||
* | * इन-सर्किट डित्रुटिर (आईसीडी), एक हार्डवेयर उपकरण जो जेटीऐजी या नेक्सस इंटरफ़ेस के माध्यम से माइक्रोप्रोसेसर से जुड़ता है।<ref>{{Cite journal|last1=Tancreti|first1=Matthew|last2=Hossain|first2=Mohammad Sajjad|last3=Bagchi|first3=Saurabh|last4=Raghunathan|first4=Vijay|date=2011|title=अवक्षा: वायरलेस एंबेडेड सिस्टम के गैर-घुसपैठ ट्रेसिंग और प्रोफाइलिंग के लिए एक हार्डवेयर-सॉफ्टवेयर दृष्टिकोण|journal=Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems|series=SenSys '11|location=New York, NY, USA|publisher=ACM|pages=288–301|doi=10.1145/2070942.2070972|isbn=9781450307185|s2cid=14769602}}</ref> यह माइक्रोप्रोसेसर के संचालन को बाहरी रूप से नियंत्रित करने की अनुमति देता है, लेकिन सामान्यतः प्रोसेसर में विशिष्ट दोषमार्जन क्षमताओं तक ही सीमित है। | ||
* | * [[इन-सर्किट एमुलेटर]] (आईसीई) माइक्रोप्रोसेसर को सिम्युलेटेड समकक्ष के साथ बदल देता है, माइक्रोप्रोसेसर के सभी पहलुओं पर पूर्ण नियंत्रण प्रदान करता है। | ||
* | * पूर्ण एमुलेटर हार्डवेयर के सभी पहलुओं का अनुकरण प्रदान करता है, जिससे सभी को नियंत्रित और संशोधित किया जा सकता है, और सामान्य पीसी पर दोषमार्जन की अनुमति मिलती है। नकारात्मक पहलू खर्च और धीमा संचालन है, कुछ मामलों में अंतिम प्रणाली की तुलना में 100 गुना धीमा है। | ||
* एसओसी डिजाइनों के लिए, विशिष्ट दृष्टिकोण एफपीजीए प्रोटोटाइप बोर्ड पर डिजाइन को सत्यापित और | * एसओसी डिजाइनों के लिए, विशिष्ट दृष्टिकोण एफपीजीए प्रोटोटाइप बोर्ड पर डिजाइन को सत्यापित और दोषमार्जन करना है। करतूस जैसे उपकरण<ref>{{cite web |url=http://www.eejournal.com/archives/articles/20121030-tektronix/ |title=टेक्ट्रोनिक्स प्रोटोटाइपिंग को हिलाता है, एंबेडेड इंस्ट्रूमेंटेशन बोर्ड को एम्यूलेटर स्थिति में बढ़ाता है|publisher=Electronic Engineering Journal |date= 2012-10-30 |access-date=2012-10-30}}</ref> एफपीजीए कार्यान्वयन में जांच डालने के लिए उपयोग किया जाता है जो अवलोकन के लिए संकेत उपलब्ध कराता है। इसका उपयोग तर्क विश्लेषक के समान क्षमताओं के साथ कार्यान्वयन में कई एफपीजीए में हार्डवेयर, फ़र्मवेयर और सॉफ़्टवेयर इंटरैक्शन को दोषमार्जन करने के लिए किया जाता है। | ||
जब तक बाहरी | जब तक बाहरी दोषमार्जन तक सीमित न हो, प्रोग्रामर सामान्यतः टूल के माध्यम से सॉफ़्टवेयर को लोड और चला सकता है, प्रोसेसर में चल रहे कोड को देख सकता है, और इसके ऑपरेशन को शुरू या बंद कर सकता है। कोड की पहुंच [[उच्च स्तरीय प्रोग्रामिंग भाषा]],असेंबली [[विधानसभा कोड|कोड]] या दोनों का मिश्रण हो सकता है। | ||
=== | === अनुरेखण === | ||
रीयल-टाइम ऑपरेटिंग | रीयल-टाइम ऑपरेटिंग प्रणाली प्रायः ऑपरेटिंग प्रणाली ईवेंट के अनुरेखण का समर्थन करते हैं। प्रणाली व्यवहार की रिकॉर्डिंग के आधार पर, होस्ट पीसी टूल द्वारा ग्राफिकल दृश्य प्रस्तुत किया जाता है। सॉफ्टवेयर में ट्रेस रिकॉर्डिंग, आरटीओएस द्वारा या विशेष ट्रेसिंग हार्डवेयर द्वारा की जा सकती है। आरटीओएस अनुरेखण डेवलपर्स को सॉफ़्टवेयर प्रणाली के समय और प्रदर्शन के मुद्दों को समझने की अनुमति देता है और उच्च-स्तरीय प्रणाली व्यवहारों की अच्छी समझ देता है। अंतःस्थापित प्रणाली में ट्रेस रिकॉर्डिंग, हार्डवेयर या सॉफ्टवेयर समाधानों का उपयोग करके प्राप्त की जा सकती है। सॉफ़्टवेयर-आधारित ट्रेस रिकॉर्डिंग के लिए विशेष दोषमार्जन हार्डवेयर की आवश्यकता नहीं होती है और इसका उपयोग तैनात उपकरणों में निशान रिकॉर्ड करने के लिए किया जा सकता है, लेकिन इसका सीपीयू और रैम उपयोग पर प्रभाव पड़ सकता है।<ref>{{Citation |last=Kraft |first=Johan |title=Trace Recording for Embedded Systems: Lessons Learned from Five Industrial Projects |date=2010 |url=http://link.springer.com/10.1007/978-3-642-16612-9_24 |work=Runtime Verification |volume=6418 |pages=315–329 |editor-last=Barringer |editor-first=Howard |place=Berlin, Heidelberg |publisher=Springer Berlin Heidelberg |language=en |doi=10.1007/978-3-642-16612-9_24 |isbn=978-3-642-16611-2 |access-date=2022-08-16 |last2=Wall |first2=Anders |last3=Kienle |first3=Holger |editor2-last=Falcone |editor2-first=Ylies |editor3-last=Finkbeiner |editor3-first=Bernd |editor4-last=Havelund |editor4-first=Klaus}}</ref>आरटीओएस वातावरण में उपयोग किए जाने वाले सॉफ़्टवेयर-आधारित अनुरेखण पद्धति का एक उदाहरण खाली [[मैक्रो (कंप्यूटर विज्ञान)|मैक्रो]] का उपयोग है, जिसे ऑपरेटिंग प्रणाली द्वारा कोड में रणनीतिक स्थानों पर लागू किया जाता है, और [[हुकिंग]] के रूप में कार्य करने के लिए लागू किया जा सकता है। | ||
=== विश्वसनीयता === | === विश्वसनीयता === | ||
अंतःस्थापित प्रणाली | अंतःस्थापित प्रणाली प्रायः उन मशीनों में रहते हैं जिनके बिना त्रुटि के वर्षों तक लगातार चलने की उम्मीद होती है, और कुछ मामलों में त्रुटि होने पर खुद को ठीक कर लेते हैं। इसलिए, सॉफ्टवेयर सामान्यतः व्यक्तिगत कंप्यूटरों की तुलना में अधिक सावधानी से विकसित और परीक्षण किया जाता है, और डिस्क ड्राइव, स्विच या बटन जैसे अविश्वसनीय चर यांत्रिक भागों से बचा जाता है। | ||
विशिष्ट विश्वसनीयता मुद्दों में सम्मिलित हो सकते हैं: | |||
* प्रणाली की सुधार के लिए सुरक्षित रूप से बंद नहीं किया जा सकता है, या यह सुधार के लिए बहुत दुर्गम है। उदाहरणों में स्पेस प्रणाली, अंडरसी केबल, नेविगेशनल बीकन, बोर-होल प्रणाली और ऑटोमोबाइल सम्मिलित हैं। | |||
* सुरक्षा कारणों से प्रणाली को चालू रखना चाहिए। विफलता की स्थिति में कम कार्यक्षमता असहनीय हो सकती है। प्रायः बैकअप, ऑपरेटर द्वारा चुने जाते हैं। उदाहरणों में विमान नेविगेशन, रिएक्टर नियंत्रण प्रणाली, सुरक्षा-महत्वपूर्ण रासायनिक फैक्ट्री नियंत्रण, ट्रेन सिग्नल सम्मिलित हैं। | |||
* बंद होने पर प्रणाली बड़ी मात्रा में धन खो देगा: टेलीफोन स्विच, फैक्ट्री नियंत्रण, पुल और लिफ्ट नियंत्रण, धन हस्तांतरण और बाजार निर्माण, स्वचालित बिक्री और सेवा। | |||
त्रुटियों से पुनर्स्थापित करने के लिए कई प्रकार की तकनीकों का उपयोग किया जाता है, कभी-कभी संयोजन में, दोनों सॉफ़्टवेयर त्रुटि जैसे [[स्मृति रिसाव|मेमोरी लीक्स]] और हार्डवेयर में सॉफ्ट त्रुटियाँ: | |||
* वॉचडॉग टाइमर जो प्रणाली को रीसेट और पुनरारंभ करता है जब तक कि सॉफ़्टवेयर समय-समय पर वॉचडॉग सबप्रणाली को सूचित न करे | |||
* [[विश्वसनीय कंप्यूटिंग बेस]] (टीसीबी) आर्किटेक्चर के साथ डिजाइनिंग एक अत्यधिक सुरक्षित और विश्वसनीय प्रणाली वातावरण सुनिश्चित करता है<ref>{{cite journal |url=http://c59951.r51.cf2.rackcdn.com/5557-528-heiser.pdf |archive-url=https://web.archive.org/web/20141129070740/http://c59951.r51.cf2.rackcdn.com/5557-528-heiser.pdf |archive-date=2014-11-29 |url-status=live |title=आपका सिस्टम सुरक्षित है? इसे साबित करो!|first1=Gernot |last1=Heiser |date=December 2007 |volume=2 |issue=6 |pages=35–8 |journal=[[;login:]]}}</ref> | |||
* अंतःस्थापित प्रणाली के लिए डिज़ाइन किया गया [[हाइपरविजर]] किसी भी सबप्रणाली घटक के लिए सुरक्षित इनकैप्सुलेशन प्रदान करने में सक्षम होता है ताकि जोखिम भरा सॉफ़्टवेयर घटक अन्य सबप्रणाली, या विशेषाधिकार-स्तर के प्रणाली सॉफ़्टवेयर में हस्तक्षेप न कर सके।<ref>{{cite journal|last1=Moratelli|first1=C|last2=Johann|first2=S|last3=Neves|first3=M|last4=Hessel|first4=F|title=सुरक्षित आईओटी अनुप्रयोगों के डिजाइन के लिए एंबेडेड वर्चुअलाइजेशन|journal=2016 International Symposium on Rapid System Prototyping (RSP)|pages=2–6|date=2016|url=https://ieeexplore.ieee.org/document/7909116|access-date=2 February 2018|doi=10.1145/2990299.2990301|isbn=9781450345354|s2cid=17466572}}</ref> यह एनकैप्सुलेशन दोषों को एक सबप्रणाली से दूसरे सबप्रणाली में फैलने से रोकता है, जिससे विश्वसनीयता में सुधार होता है। यह सबप्रणाली को स्वचालित रूप से बंद करने और त्रुटि का पता लगाने पर पुनः आरंभ करने की अनुमति भी दे सकता है। | |||
* प्रतिरक्षा-जागरूक प्रोग्रामिंग इंजीनियरों को अधिक विश्वसनीय अंतःस्थापित प्रणाली कोड बनाने में मदद कर सकती है।<ref name=":1">{{Cite journal|last=Short|first=Michael|date=March 2008|title=भरोसेमंद रीयल-टाइम एम्बेडेड सिस्टम के लिए विकास दिशानिर्देश|url=https://ieeexplore.ieee.org/document/4493674|journal=2008 IEEE/ACS International Conference on Computer Systems and Applications|pages=1032–1039|doi=10.1109/AICCSA.2008.4493674|isbn=978-1-4244-1967-8|s2cid=14163138}}</ref><ref>{{Cite web|last=Motor Industry Software Reliability Association|title=मिश्रा सी: 2012 तीसरा संस्करण, पहला संशोधन|url=https://www.misra.org.uk/product/misra-c2012-third-edition-first-revision/|access-date=2022-02-03|language=en-GB}}</ref> एम्आईएसआरए C/C++ जैसे दिशानिर्देश और कोडिंग नियम डेवलपर्स को कई अलग-अलग तरीकों से विश्वसनीय, पोर्टेबल फ़र्मवेयर बनाने में सहायता करता है: सामान्यतः कोडिंग प्रथाओं के विरुद्ध सलाह देना या अनिवार्य करना जो रन-टाइम त्रुटियों (मेमोरी लीक, अमान्य सूचक उपयोग) को जन्म दे सकता है, रन-टाइम चेक और अपवाद हैंडलिंग का उपयोग (श्रेणी/स्वच्छता जांच, विभाजित-दर-शून्य और बफर इंडेक्स वैधता जांच, तर्क जांच में डिफ़ॉल्ट मामले), लूप बाउंडिंग, मानव-पठनीय, अच्छी तरह से टिप्पणी और अच्छी तरह से उत्पादन संरचित कोड, और भाषा की अस्पष्टता से बचना जो संकलक-प्रेरित विसंगतियों या साइड-इफेक्ट्स (अभिव्यक्ति मूल्यांकन आदेश, पुनरावृत्ति, कुछ प्रकार के मैक्रो) को जन्म दे सकती है। इन नियमों को प्रायः कार्यात्मक सत्यापन उद्देश्यों के लिए कोड स्टेटिक प्रोग्राम विश्लेषण या बाध्य मॉडल जांच के संयोजन के साथ प्रयोग किया जा सकता है, और कोड वर्स्ट-केस निष्पादन समय के निर्धारण में भी सहायता करता है।<ref name=":1"/> | |||
=== उच्च बनाम कम मात्रा === | === उच्च बनाम कम मात्रा === | ||
मोबाइल फोन जैसे उच्च-मात्रा वाले | मोबाइल फोन जैसे उच्च-मात्रा वाले प्रणाली के लिए, न्यूनतम लागत सामान्यतः प्राथमिक डिजाइन विचार है। इंजीनियर सामान्यतः ऐसे हार्डवेयर का चयन करते हैं जो आवश्यक कार्यों को लागू करने के लिए काफी अच्छा हो। | ||
कम मात्रा या प्रोटोटाइप | कम मात्रा या प्रोटोटाइप अंतःस्थापित प्रणाली के लिए, सामान्य-उद्देश्य वाले कंप्यूटर प्रोग्राम को सीमित करके या ऑपरेटिंग प्रणाली को आरटीओएस के साथ बदलकर अनुकूलित किया जा सकता है। | ||
== | == अंतःस्थापित सॉफ्टवेयर संरचना == | ||
{{Main| | {{Main|अंतःस्थापित सॉफ्टवेयर}} | ||
1978 में [[नेशनल इलेक्ट्रिकल मैन्युफैक्चरर्स एसोसिएशन]] ने ICS 3-1978 जारी किया, जो प्रोग्रामेबल माइक्रोकंट्रोलर्स के लिए एक मानक है,<ref>{{cite web |title=अक्सर पूछे जाने वाले प्रश्न: प्रोग्राम करने योग्य नियंत्रक|url=https://www.nema.org/docs/default-source/standards-document-library/faq-programmable-controllers.pdf?sfvrsn=a03312d_2 |access-date=2020-01-10}}</ref> | 1978 में [[नेशनल इलेक्ट्रिकल मैन्युफैक्चरर्स एसोसिएशन]] ने ICS 3-1978 जारी किया, जो प्रोग्रामेबल माइक्रोकंट्रोलर्स के लिए एक मानक है,<ref>{{cite web |title=अक्सर पूछे जाने वाले प्रश्न: प्रोग्राम करने योग्य नियंत्रक|url=https://www.nema.org/docs/default-source/standards-document-library/faq-programmable-controllers.pdf?sfvrsn=a03312d_2 |access-date=2020-01-10}}</ref> जैसे किसी भी कंप्यूटर-आधारित नियंत्रकों सहित, जैसे एकल बोर्ड कंप्यूटर, संख्यात्मक और घटना-आधारित नियंत्रक। | ||
आज | आज सामान्य उपयोग में कई अलग-अलग प्रकार के सॉफ़्टवेयर संरचना हैं। | ||
=== सरल नियंत्रण पाश === | === सरल नियंत्रण पाश === | ||
इस | इस योजना में, सॉफ़्टवेयर में केवल एक [[पाश (कंप्यूटिंग)]] होता है जो इनपुट उपकरणों पर नज़र रखता है। पाश [[सबरूटीन]]्स को कॉल करता है, जिनमें से प्रत्येक हार्डवेयर या सॉफ़्टवेयर के एक भाग का प्रबंधन करता है। इसलिए इसे सिंपल कंट्रोल लूप या प्रोग्राम्ड इनपुट-आउटपुट कहा जाता है। | ||
=== व्यवधान-नियंत्रित प्रणाली === | === व्यवधान-नियंत्रित प्रणाली === | ||
कुछ | कुछ अंतःस्थापित प्रणाली मुख्य रूप से हस्तक्षेप द्वारा नियंत्रित होते हैं। इसका मतलब यह है कि प्रणाली द्वारा किए जाने वाले कार्य विभिन्न प्रकार की घटनाओं से शुरू होते हैं; एक व्यवधान उत्पन्न किया जा सकता है, उदाहरण के लिए, एक पूर्वनिर्धारित अंतराल पर टाइमर द्वारा, या डेटा प्राप्त करने वाले सीरियल पोर्ट नियंत्रक द्वारा। | ||
इस संरचना का उपयोग तब किया जाता है जब इवेंट हैंडलर को कम विलंबता की आवश्यकता होती है, और इवेंट हैंडलर छोटे और सरल होते हैं। ये प्रणालियाँ मुख्य लूप में भी एक सरल कार्य चलाती हैं, लेकिन यह कार्य अप्रत्याशित देरी के प्रति बहुत संवेदनशील नहीं है। कभी-कभी इंटरप्ट हैंडलर कतार संरचना में लंबे कार्य जोड़ सकता है। बाद में, इंटरप्ट हैंडलर समाप्त होने के बाद, इन कार्यों को मुख्य लूप द्वारा निष्पादित किया जाता है। यह विधि प्रणाली को असतत प्रक्रियाओं के साथ मल्टीटास्किंग कर्नेल के करीब लाती है। | |||
=== [[सहकारी मल्टीटास्किंग]] === | === [[सहकारी मल्टीटास्किंग]] === | ||
सहकारी मल्टीटास्किंग सरल नियंत्रण लूप योजना के समान है, सिवाय इसके कि लूप एक [[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई]]) में छिपा हुआ है।<ref name=":0" /><ref name="Barr-glossary" />प्रोग्रामर कार्यों की एक श्रृंखला को परिभाषित करता है, और प्रत्येक कार्य को प्रचालित करने के लिए अपना स्वयं का वातावरण मिलता है। जब कोई कार्य नहीं होता है, तो यह निष्क्रिय दिनचर्या अपनाती है जो नियंत्रित को किसी अन्य कार्य को हस्तांतरित करती है। | |||
फायदे और नुकसान नियंत्रण पाश के समान हैं, सिवाय इसके कि नया सॉफ़्टवेयर जोड़ना आसान है, केवल एक नया कार्य लिखकर या कतार में जोड़कर। | इसके फायदे और नुकसान नियंत्रण पाश के समान हैं, सिवाय इसके कि नया सॉफ़्टवेयर जोड़ना आसान है, केवल एक नया कार्य लिखकर या कतार में जोड़कर। | ||
=== | === पूर्वनिर्धारित मल्टीटास्किंग या मल्टी-थ्रेडिंग === | ||
इस प्रकार की प्रणाली में, टाइमर के आधार पर कार्यों या थ्रेड्स के बीच कोड का एक निम्न-स्तरीय टुकड़ा स्विच होता है (एक रुकावट से जुड़ा हुआ)। यह वह स्तर है जिस पर | इस प्रकार की प्रणाली में, टाइमर के आधार पर कार्यों या थ्रेड्स के बीच कोड का एक निम्न-स्तरीय टुकड़ा स्विच होता है (एक रुकावट से जुड़ा हुआ)। यह वह स्तर है जिस पर प्रणाली को सामान्यतः ऑपरेटिंग प्रणाली कर्नेल माना जाता है। कितनी कार्यक्षमता की आवश्यकता है, इस पर निर्भर करते हुए, यह वैचारिक रूप से समानांतर में चल रहे कई कार्यों के प्रबंधन की कमोबेश जटिलताओं का परिचय देता है। | ||
चूंकि कोई भी कोड संभावित रूप से किसी अन्य कार्य के डेटा को नुकसान पहुंचा सकता है ([[मेमोरी प्रबंधन इकाई]] का उपयोग करने वाले बड़े | चूंकि कोई भी कोड संभावित रूप से किसी अन्य कार्य के डेटा को नुकसान पहुंचा सकता है ([[मेमोरी प्रबंधन इकाई]] का उपयोग करने वाले बड़े प्रणाली को छोड़कर) प्रोग्राम को सावधानी से डिज़ाइन और परीक्षण किया जाना चाहिए, और साझा डेटा तक पहुंच को कुछ [[गैर-अवरुद्ध तुल्यकालन|तुल्यकालन]] रणनीति द्वारा नियंत्रित किया जाना चाहिए, जैसे संदेश कतार, सेमाफोर या [[गैर-अवरुद्ध तुल्यकालन]] योजना। | ||
इन जटिलताओं के कारण, संगठनों के लिए आरटीओएस का उपयोग करना | इन जटिलताओं के कारण, संगठनों के लिए आरटीओएस का उपयोग करना सामान्य बात है, जिससे अनुप्रयोग प्रोग्रामर कम से कम बड़ी प्रणालियों के लिए ऑपरेटिंग प्रणाली सेवाओं के बजाय उपकरण की कार्यक्षमता पर ध्यान केंद्रित कर सकें; स्मृति आकार, प्रदर्शन, या बैटरी जीवन के संबंध में सीमाओं के कारण छोटी प्रणालियाँ प्रायः एक सामान्य वास्तविक समय प्रणाली से जुड़े ओवरहेड को वहन नहीं कर सकती हैं। आरटीओएस के लिए आवश्यक विकल्प अपने स्वयं के मुद्दों को लाता है, हालांकि, आवेदन विकास प्रक्रिया शुरू करने से पहले चयन किया जाना चाहिए। यह समय डेवलपर्स को वर्तमान आवश्यकताओं के आधार पर अपने उपकरण के लिए अंतःस्थापित ऑपरेटिंग प्रणाली चुनने के लिए मजबूर करता है और इसलिए भविष्य के विकल्पों को काफी हद तक प्रतिबंधित करता है।<ref> | ||
{{cite web | {{cite web | ||
|url=http://www.clarinox.com/docs/whitepapers/Whitepaper_06_CrossPlatformDiscussion.pdf |archive-url=https://web.archive.org/web/20110219200027/http://www.clarinox.com/docs/whitepapers/Whitepaper_06_CrossPlatformDiscussion.pdf |archive-date=2011-02-19 |url-status=live | |url=http://www.clarinox.com/docs/whitepapers/Whitepaper_06_CrossPlatformDiscussion.pdf |archive-url=https://web.archive.org/web/20110219200027/http://www.clarinox.com/docs/whitepapers/Whitepaper_06_CrossPlatformDiscussion.pdf |archive-date=2011-02-19 |url-status=live | ||
Line 174: | Line 168: | ||
|publisher=clarinox | |publisher=clarinox | ||
|access-date=2010-08-17 | |access-date=2010-08-17 | ||
}}</ref> जैसे-जैसे उत्पाद का जीवन घटता है भविष्य के विकल्पों पर प्रतिबंध एक समस्या बन जाता है। इसके अतिरिक्त, जटिलता का स्तर लगातार बढ़ रहा है क्योंकि सीरियल, यूएसबी, टीसीपी/आईपी, [[ब्लूटूथ]], वायरलेस लैन, ट्रंक रेडियो, मल्टीपल चैनल, डेटा और वॉयस, उन्नत ग्राफिक्स, मल्टीपल स्टेट्स, मल्टीपल थ्रेड्स जैसे वेरिएबल्स को प्रबंधित करने के लिए उपकरणों की आवश्यकता होती | }}</ref> जैसे-जैसे उत्पाद का जीवन घटता है भविष्य के विकल्पों पर प्रतिबंध एक समस्या बन जाता है। इसके अतिरिक्त, जटिलता का स्तर लगातार बढ़ रहा है क्योंकि सीरियल, यूएसबी, टीसीपी/आईपी, [[ब्लूटूथ]], वायरलेस लैन, ट्रंक रेडियो, मल्टीपल चैनल, डेटा और वॉयस, उन्नत ग्राफिक्स, मल्टीपल स्टेट्स, मल्टीपल थ्रेड्स जैसे वेरिएबल्स को प्रबंधित करने के लिए उपकरणों की आवश्यकता होती है और इसी तरह की कई प्रतीक्षा अवस्थाएँ । ये रुझान आरटीओएस के अलावा [[एम्बेडेड मिडलवेयर|अंतःस्थापित मिडलवेयर]] के उत्थान की ओर अग्रसर हैं। | ||
=== [[microkernel]] और [[एक्सोकर्नेल]] === | === [[microkernel|मिक्रोकर्नेलस]] और [[एक्सोकर्नेल]] === | ||
माइक्रोकर्नेल रीयल-टाइम ओएस से एक तार्किक कदम है। सामान्य व्यवस्था यह है कि ऑपरेटिंग प्रणाली कर्नेल मेमोरी आवंटित करता है और सीपीयू को निष्पादन के विभिन्न थ्रेड्स पर स्विच करता है। उपयोगकर्ता-मोड प्रक्रियाएं प्रमुख कार्यों जैसे फाइल प्रणाली, नेटवर्क इंटरफेस आदि को लागू करती हैं। | |||
सामान्य तौर पर, माइक्रोकर्नेल तब सफल होते हैं जब टास्क स्विचिंग और इंटरटास्क कम्युनिकेशन तेज होता है और जब वे धीमे होते हैं तो विफल हो जाते हैं। | सामान्य तौर पर, माइक्रोकर्नेल तब सफल होते हैं जब टास्क स्विचिंग और इंटरटास्क कम्युनिकेशन तेज होता है और जब वे धीमे होते हैं तो विफल हो जाते हैं। | ||
एक्सोकर्नल्स सामान्य सबरूटीन कॉल्स द्वारा कुशलता से संवाद करते हैं। | एक्सोकर्नल्स सामान्य सबरूटीन कॉल्स द्वारा कुशलता से संवाद करते हैं। प्रणाली में हार्डवेयर और सभी सॉफ्टवेयर अनुप्रयोग प्रोग्रामर के लिए उपलब्ध और एक्स्टेंसिबल हैं। | ||
=== | === मोनोलिथिक कर्नल्स === | ||
इस मामले में, परिष्कृत क्षमताओं वाला | इस मामले में, परिष्कृत क्षमताओं वाला अपेक्षाकृत बड़ा कर्नेल अंतःस्थापित वातावरण के अनुरूप अनुकूलित किया जाता है। यह प्रोग्रामर्स को लिनक्स या [[माइक्रोसॉफ़्ट विंडोज़]] जैसे डेस्कटॉप ऑपरेटिंग प्रणाली के समान वातावरण देता है, और इसलिए विकास के लिए बहुत उत्पादक है; नकारात्मक पक्ष में, इसके लिए काफी अधिक हार्डवेयर संसाधनों की आवश्यकता होती है, जो प्रायः अधिक महंगा होता है, और इन कर्नेल की जटिलता के कारण, कम अनुमानित और विश्वसनीय हो सकता है। | ||
अंतःस्थापित मोनोलिथिक कर्नेल के सामान्य उदाहरण [[एम्बेडेड लिनक्स|अंतःस्थापित लिनक्स]], [[वीएक्सवर्क्स]] और विंडोज सीई हैं। | अंतःस्थापित मोनोलिथिक कर्नेल के सामान्य उदाहरण [[एम्बेडेड लिनक्स|अंतःस्थापित लिनक्स]], [[वीएक्सवर्क्स]] और विंडोज सीई हैं। | ||
हार्डवेयर में बढ़ी हुई लागत के बावजूद, इस प्रकार की अंतःस्थापित प्रणाली लोकप्रियता में बढ़ रही है, विशेष रूप से अधिक शक्तिशाली अंतःस्थापित उपकरणों जैसे कि वायरलेस राउटर और [[ऑटोमोटिव नेविगेशन सिस्टम]] पर। यहाँ कुछ कारण दिए गए हैं: | हार्डवेयर में बढ़ी हुई लागत के बावजूद, इस प्रकार की अंतःस्थापित प्रणाली लोकप्रियता में बढ़ रही है, विशेष रूप से अधिक शक्तिशाली अंतःस्थापित उपकरणों जैसे कि वायरलेस राउटर और [[ऑटोमोटिव नेविगेशन सिस्टम|ऑटोमोटिव नेविगेशन प्रणाली]] पर। यहाँ कुछ कारण दिए गए हैं: | ||
* सामान्य अंतःस्थापित चिप सेट के पोर्ट उपलब्ध हैं। | * सामान्य अंतःस्थापित चिप सेट के पोर्ट उपलब्ध हैं। | ||
* वे [[डिवाइस ड्राइवर]]ों, वेब सर्वर, [[फ़ायरवॉल (नेटवर्किंग)]] और अन्य कोड के लिए सार्वजनिक रूप से उपलब्ध कोड के पुन: उपयोग की अनुमति देते हैं। | * वे [[डिवाइस ड्राइवर|उपकरण ड्राइवर]]ों, वेब सर्वर, [[फ़ायरवॉल (नेटवर्किंग)]] और अन्य कोड के लिए सार्वजनिक रूप से उपलब्ध कोड के पुन: उपयोग की अनुमति देते हैं। | ||
* विकास प्रणालियाँ व्यापक फीचर-सेट के साथ शुरू हो सकती हैं, और फिर वितरण को अनावश्यक कार्यक्षमता को बाहर करने के लिए कॉन्फ़िगर किया जा सकता है, और उस मेमोरी के खर्च को बचा सकता है जिसका वह उपभोग करेगा। | * विकास प्रणालियाँ व्यापक फीचर-सेट के साथ शुरू हो सकती हैं, और फिर वितरण को अनावश्यक कार्यक्षमता को बाहर करने के लिए कॉन्फ़िगर किया जा सकता है, और उस मेमोरी के खर्च को बचा सकता है जिसका वह उपभोग करेगा। | ||
* कई इंजीनियरों का मानना है कि | * कई इंजीनियरों का मानना है कि अनुप्रयोग कोड को उपयोगकर्ता मोड में चलाना अधिक विश्वसनीय और डिबग करना आसान है, इस प्रकार विकास प्रक्रिया को आसान बनाता है और कोड को अधिक पोर्टेबल बनाता है। | ||
* गारंटी से अधिक तेज प्रतिक्रिया की आवश्यकता वाली सुविधाओं को | * गारंटी से अधिक तेज प्रतिक्रिया की आवश्यकता वाली सुविधाओं को प्रायः [[प्रोग्रामेबल लॉजिक डिवाइस|प्रोग्रामेबल लॉजिक उपकरण]] में रखा जा सकता है। | ||
=== अतिरिक्त सॉफ्टवेयर घटक === | === अतिरिक्त सॉफ्टवेयर घटक === | ||
कोर ऑपरेटिंग | कोर ऑपरेटिंग प्रणाली के अतिरिक्त, कई अंतःस्थापित प्रणाली में अतिरिक्त ऊपरी-परत सॉफ़्टवेयर घटक होते हैं। इन घटकों में कंट्रोलर-एरिया नेटवर्क, टीसीपी/आईपी, [[एफ़टीपी]], [[एचटीटीपी]], और [[HTTPS के|एचटीटीपीएस के]] जैसे नेटवर्किंग प्रोटोकॉल स्टैक सम्मिलित हैं, और इसमें फ़ाइल आवंटन तालिका और फ्लैश मेमोरी मैनेजमेंट प्रणाली जैसी स्टोरेज क्षमताएं भी सम्मिलित हैं। यदि अंतःस्थापित उपकरण में ऑडियो और वीडियो क्षमताएं हैं, तो उपयुक्त ड्राइवर और कोडेक प्रणाली में मौजूद होंगे। मोनोलिथिक कर्नल्स के मामले में, इनमें से कई सॉफ्टवेयर परतें सम्मिलित हैं। आरटीओएस श्रेणी में, अतिरिक्त सॉफ्टवेयर घटकों की उपलब्धता व्यावसायिक पेशकश पर निर्भर करती है। | ||
=== डोमेन-विशिष्ट आर्किटेक्चर === | === डोमेन-विशिष्ट आर्किटेक्चर === | ||
ऑटोमोटिव क्षेत्र में, [[AUTOSAR]] अंतःस्थापित सॉफ़्टवेयर के लिए एक मानक संरचना है। | ऑटोमोटिव क्षेत्र में, [[AUTOSAR|ऑटोसार]] अंतःस्थापित सॉफ़्टवेयर के लिए एक मानक संरचना है। | ||
== यह भी देखें == | == यह भी देखें == | ||
Line 217: | Line 211: | ||
{{Div col end}} | {{Div col end}} | ||
==टिप्पणियाँ== | ==टिप्पणियाँ== | ||
<references group="nb" /> | <references group="nb" /> | ||
==संदर्भ== | ==संदर्भ== | ||
{{Reflist|30em}} | {{Reflist|30em}} | ||
Line 231: | Line 221: | ||
* {{Cite book |title=Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller |author1=James M. Conrad |author2=Alexander G. Dean |date=September 2011 |publisher=Micrium |isbn=978-1935-7729-96}} | * {{Cite book |title=Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller |author1=James M. Conrad |author2=Alexander G. Dean |date=September 2011 |publisher=Micrium |isbn=978-1935-7729-96}} | ||
* {{Cite book |title=Embedded Software Development for the Internet Of Things, The Basics, The Technologies and Best Practices |author=Klaus Elk |date=August 2016 |isbn=978-1534602533}} | * {{Cite book |title=Embedded Software Development for the Internet Of Things, The Basics, The Technologies and Best Practices |author=Klaus Elk |date=August 2016 |isbn=978-1534602533}} | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [https://www.youtube.com/watch?v=H-OKGOMoCSI&list=PLo7bVbJhQ6qwlDa-R6pz7tA7kPzn1s5Ae Embedded Systems course with mbed] YouTube, ongoing from 2015 | * [https://www.youtube.com/watch?v=H-OKGOMoCSI&list=PLo7bVbJhQ6qwlDa-R6pz7tA7kPzn1s5Ae Embedded Systems course with mbed] YouTube, ongoing from 2015 | ||
* [http://geer.tinho.net/geer.nro.6xi13.txt Trends in Cyber Security and Embedded Systems] Dan Geer, November 2013 | * [http://geer.tinho.net/geer.nro.6xi13.txt Trends in Cyber Security and Embedded Systems] Dan Geer, November 2013 | ||
Line 278: | Line 227: | ||
* [http://www.esweek.org/ Embedded Systems Week (ESWEEK)] yearly event with conferences, workshops and tutorials covering all aspects of embedded systems and software | * [http://www.esweek.org/ Embedded Systems Week (ESWEEK)] yearly event with conferences, workshops and tutorials covering all aspects of embedded systems and software | ||
* [http://www.emsig.net/conf/2015/wese/ Workshop on Embedded and Cyber-Physical Systems Education] {{Webarchive|url=https://web.archive.org/web/20180211173413/http://www.emsig.net/conf/2015/wese/ |date=2018-02-11 }}, workshop covering educational aspects of embedded systems | * [http://www.emsig.net/conf/2015/wese/ Workshop on Embedded and Cyber-Physical Systems Education] {{Webarchive|url=https://web.archive.org/web/20180211173413/http://www.emsig.net/conf/2015/wese/ |date=2018-02-11 }}, workshop covering educational aspects of embedded systems | ||
{{Computer science}} | {{Computer science}} | ||
{{Authority control}} | {{Authority control}} | ||
[[श्रेणी:एम्बेडेड सिस्टम| ]] | [[श्रेणी:एम्बेडेड सिस्टम| ]] | ||
[[Category:All Wikipedia articles in need of updating]] | |||
[[Category: | [[Category:All Wikipedia articles written in American English]] | ||
[[Category:All articles containing potentially dated statements]] | |||
[[Category:All articles with unsourced statements]] | |||
[[Category:Articles containing potentially dated statements from 2009]] | |||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:Articles with invalid date parameter in template]] | |||
[[Category:Articles with short description]] | |||
[[Category:Articles with unsourced statements from April 2014]] | |||
[[Category:Articles with unsourced statements from April 2021]] | |||
[[Category:Articles with unsourced statements from August 2018]] | |||
[[Category:CS1 British English-language sources (en-gb)]] | |||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:Citation Style 1 templates|M]] | |||
[[Category:Collapse templates]] | |||
[[Category:Created On 17/12/2022]] | [[Category:Created On 17/12/2022]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Multi-column templates]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages using div col with small parameter]] | |||
[[Category:Pages with empty portal template]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Portal templates with redlinked portals]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates based on the Citation/CS1 Lua module]] | |||
[[Category:Templates generating COinS|Cite magazine]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Templates using under-protected Lua modules]] | |||
[[Category:Use American English from December 2017]] | |||
[[Category:Webarchive template wayback links]] | |||
[[Category:Wikipedia articles in need of updating from March 2022]] | |||
[[Category:Wikipedia fully protected templates|Div col]] | |||
[[Category:Wikipedia metatemplates]] |
Latest revision as of 12:26, 12 September 2023
अंतःस्थापित प्रणाली एक कंप्यूटर प्रणाली है - एक कंप्यूटर प्रोसेसर, कंप्यूटर मेमोरी और इनपुट/आउटपुट पेरिफेरल उपकरण का एक संयोजन है जिसका किसी बड़े यांत्रिकी या इलेक्ट्रानिक्स प्रणाली के भीतर समर्पित कार्य है।[1][2] यह प्रायः विद्युत या इलेक्ट्रॉनिक हार्डवेयर और यांत्रिक भागों सहित एक पूर्ण उपकरण के हिस्से के रूप में अंतःस्थापित होता है। क्योंकि अंतःस्थापित प्रणाली सामान्यतः उस मशीन के भौतिक संचालन को नियंत्रित करता है जिसमें यह अंतःस्थापित होता है, इसमें प्रायः रीयल-टाइम संगणक बाधाएँ होती हैं। अंतःस्थापित प्रणाली आज सामान्य उपयोग में आने वाले कई उपकरणों को नियंत्रित करते हैं।[3] 2009[update] में, यह अनुमान लगाया गया था कि निर्मित सभी माइक्रोप्रोसेसरों का अठानबे प्रतिशत अंतःस्थापित प्रणाली में उपयोग किया गया था।[4]
आधुनिक अंतःस्थापित प्रणाली प्रायः माइक्रोकन्ट्रोलर (अर्थात् एकीकृत मेमोरी और परिधीय इंटरफेस के साथ माइक्रोप्रोसेसर) पर आधारित होते हैं, लेकिन साधारण माइक्रोप्रोसेसर (मेमोरी और परिधीय इंटरफ़ेस सर्किट के लिए बाहरी चिप्स का उपयोग करना) भी सामान्य हैं, खासकर अधिक जटिल प्रणालियों में। किसी भी मामले में, उपयोग किए जाने वाले प्रोसेसर सामान्य प्रयोजन से लेकर संगणना के एक निश्चित वर्ग में विशेष प्रकार के हो सकते हैं, या यहां तक कि मनपसंद अनुप्रयोगों के लिए डिज़ाइन किए गए हैं। समर्पित प्रोसेसर का एक सामान्य मानक वर्ग डिजिटल सिग्नल प्रोसेसर (डीएसपी) है।
चूंकि अंतःस्थापित प्रणाली विशिष्ट कार्यों के लिए समर्पित है, योजना अभियंता उत्पाद के आकार और लागत को कम करने और इसकी विश्वसनीयता और प्रदर्शन को बढ़ाने के लिए इसे अनुकूलित कर सकते हैं। कुछ अंतःस्थापित प्रणाली बड़े पैमाने पर उत्पादित होते हैं, जो पैमाने की अर्थव्यवस्थाओं से लाभान्वित होते हैं।
अंतःस्थापित प्रणाली पोर्टेबल व्यक्तिगत उपकरणों जैसे डिजिटल घड़ियों और एमपी 3 प्लेयर्स से लेकर घरेलू उपकरणों, औद्योगिक असेम्बली लाइनें, रोबोट, ट्रांसपोर्ट व्हीकल, ट्रैफिक लाइट नियंत्रण और समन्वय और चिकित्सीय इमेजिंग प्रणाली जैसी बड़ी मशीनों के आकार में होते हैं। प्रायः वे अन्य मशीनों की उप-प्रणालियों का गठन करते हैं जैसे कि विमान में एवियोनिक्स और अंतरिक्ष यान में आस्ट्रियनिक्स। बड़े प्रतिष्ठान जैसे कारखाने, पाइपलाइन परिवहन और विद्युत ग्रिड, एक साथ नेटवर्क किए गए कई अंतःस्थापित प्रणाली पर निर्भर करते हैं। सॉफ्टवेयर अनुकूलन के माध्यम से सामान्यीकृत, अंतःस्थापित प्रणाली जैसे निर्देशयोग्य तर्क नियंत्रक प्रायः अपनी कार्यात्मक इकाइयों को सम्मिलित करते हैं।
अंतःस्थापित प्रणाली जटिलता में कम से लेकर, एकल माइक्रोकंट्रोलर चिप के साथ, कई इकाइयों, बाह्य उपकरणों और नेटवर्क के साथ बहुत अधिक होते हैं, जो उपकरण रैक में या लंबी दूरी की संचार लाइनों के माध्यम से जुड़े बड़े भौगोलिक क्षेत्रों में रह सकते हैं।
इतिहास
पृष्ठभूमि
माइक्रोप्रोसेसर और माइक्रोकंट्रोलर की उत्पत्ति एमओएस एकीकृत परिपथ में देखी जा सकती है, जो एमओएस-एफईटी (मेटल-ऑक्साइड-सेमीकंडक्टर फील्ड-इफेक्ट ट्रांजिस्टर) से निर्मित एक एकीकृत सर्किट चिप है और इसे 1960 के दशक की शुरुआत में विकसित किया गया था। 1964 तक, एमओएस चिप्स द्विध्रुवी जंक्शन ट्रांजिस्टर चिप्स की तुलना में उच्च ट्रांजिस्टर घनत्व और कम निर्माण लागत तक पहुंच गए थे। मूर के कानून द्वारा अनुमानित दर पर एमओएस चिप्स जटिलता में और बढ़ गए, जिससे 1960 के दशक के अंत तक एकल एमओएस चिप पर सैकड़ों ट्रांजिस्टर के साथ बड़े पैमाने पर एकीकरण (एलएसआई) हो गया। कम्प्यूटिंग के लिए एमओएस एलएसआई चिप्स का अनुप्रयोग पहले माइक्रोप्रोसेसरों का आधार था, क्योंकि इंजीनियरों ने यह पहचानना शुरू कर दिया था कि एक पूर्ण कंप्यूटर प्रोसेसर प्रणाली कई एमओएस एलएसआई चिप्स पर समाहित हो सकता है।[5]
पहला मल्टी-चिप माइक्रोप्रोसेसर, 1969 में चार-चरण प्रणाली AL1 और 1970 में गर्रेट ऐआईरिसर्च MP944, कई एमओएस एलएसआई चिप्स के साथ विकसित किए गए थे। पहला सिंगल-चिप माइक्रोप्रोसेसर इंटेल 4004 था, जिसे 1971 में जारी किया गया था। इसे फेडेरिको फागिन के साथ में इंटेल इंजीनियर मार्सियन हॉफ और स्टेन मज़ोर, बुसिकम इंजीनियर मासतोषी शिमा द्वारा अपनी सिलिकॉन गेट एमओएस तकनीक का उपयोग करके विकसित किया गया था|[6]
विकास
1965 एमआईटी इंस्ट्रुमेंटेशन प्रयोगशाला में चार्ल्स स्टार्क ड्रेपर द्वारा विकसित पहचानने योग्य सबसे पहले आधुनिक अंतःस्थापित प्रणाली में से एक अपोलो गाइडेंस कंप्यूटर था[citation needed]। परियोजना की शुरुआत में, अपोलो मार्गदर्शन कंप्यूटर को अपोलो परियोजना में सबसे जोखिम भरा कार्य माना जाता था क्योंकि इसने कंप्यूटर के आकार और वजन को कम करने के लिए तत्कालीन नव विकसित अखंड एकीकृत सर्किट को नियोजित किया था।
1961 में रिलीज़ हुई मिनुतेमान मिसाइल के लिए एक प्रारंभिक बड़े पैमाने पर निर्मित अंतःस्थापित प्रणाली ऑटोनेटिक्स D-17 मार्गदर्शन कंप्यूटर था। जब मिनुतेमान II 1966 में उत्पादन में चला गया, तो D-17 को एक नए कंप्यूटर से बदल दिया गया, जो एकीकृत परिपथों के पहले उच्च मात्रा के उपयोग का प्रतिनिधित्व करता है।
1960 के दशक में इन शुरुआती अनुप्रयोगों के बाद से, अंतःस्थापित प्रणाली की कीमत में कमी आई है और प्रसंस्करण शक्ति और कार्यक्षमता में नाटकीय वृद्धि हुई । प्रारंभिक माइक्रोप्रोसेसर, इंटेल 4004 (1971 में जारी), कैलकुलेटर और अन्य छोटी प्रणालियों के लिए डिज़ाइन किया गया था, लेकिन अभी भी बाहरी मेमोरी और सपोर्ट चिप्स की आवश्यकता थी। 1980 के दशक के प्रारंभ तक, मेमोरी, इनपुट और आउटपुट प्रणाली घटकों को एक ही चिप में एकीकृत किया गया, जिसमें प्रोसेसर एक माइक्रोकंट्रोलर बना रहा था। माइक्रोकंट्रोलर्स ऐसे अनुप्रयोग ढूंढते हैं जहां सामान्य-उद्देश्य वाला कंप्यूटर बहुत महंगा पाया जाता है। जैसे-जैसे माइक्रोप्रोसेसरों और माइक्रोकंट्रोलर्स की लागत गिरती गई, अंतःस्थापित प्रणाली का प्रचलन बढ़ता गया।
आज, तुलनात्मक रूप से कम लागत वाले माइक्रोकंट्रोलर को बड़ी संख्या में अलग-अलग घटकों के समान भूमिका निभाने के लिए प्रोग्राम किया जा सकता है। माइक्रोकंट्रोलर्स के साथ, उपभोक्ता उत्पादों में महंगे नॉब-आधारित एनालॉग इलेक्ट्रॉनिक्स घटकों जैसे कि तनाव नापने का यंत्र और परिवर्तनीय संधारित्र को अप/डाउन बटन या माइक्रोप्रोसेसर द्वारा पढ़े जाने वाले नॉब के साथ बदलना संभव हो गया। हालांकि इस संदर्भ में अंतःस्थापित प्रणाली पारंपरिक समाधान की तुलना में सामान्यतः अधिक जटिल होता है, अधिकांश जटिलता माइक्रोकंट्रोलर के भीतर ही निहित होती है। बहुत कम अतिरिक्त घटकों की आवश्यकता हो सकती है और अधिकांश डिज़ाइन प्रयास सॉफ़्टवेयर में हैं। सॉफ्टवेयर प्रोटोटाइप और परीक्षण अंतःस्थापित प्रोसेसर का उपयोग नहीं करने वाले नए सर्किट के डिजाइन और निर्माण की तुलना में तेज हो सकता है।
अनुप्रयोग
अंतःस्थापित प्रणाली मुख्यतः उपभोक्ता, औद्योगिक, ऑटोमोटिव उद्योग, घरेलू उपकरणों, चिकित्सा, दूरसंचार, वाणिज्यिक, एयरोस्पेस और सैन्य अनुप्रयोगों में पाए जाते हैं।
दूरसंचार प्रणालियाँ नेटवर्क के लिए टेलीफोन स्विच से लेकर अंतिम उपयोगकर्ता के मोबाइल फोन तक कई अंतःस्थापित प्रणाली का उपयोग करती हैं। कंप्यूटर नेटवर्किंग डेटा को रूट करने के लिए समर्पित राउटर और नेटवर्क ब्रिज का उपयोग करती है।
उपभोक्ता इलेक्ट्रॉनिक्स में एमपी3 प्लेयर, टेलिविजन सेट, मोबाइल फोन, विडियो गेम कंसोल, डिजिटल कैमरा, ग्लोबल पोजिशनिंग प्रणाली रिसीवर और संगणक मुद्रक सम्मिलित हैं। माइक्रोवेव ओवन, वाशिंग मशीन और डिशवाशर जैसे घरेलू उपकरणों में लचीलापन, दक्षता और सुविधाएँ प्रदान करने के लिए अंतःस्थापित प्रणाली सम्मिलित हैं। उन्नत हीटिंग, वेंटिलेशन और एयर कंडीशनिंग (एचवीएसी) प्रणाली नेटवर्क थर्मोस्टेट्स का उपयोग अधिक सटीक और कुशलता से तापमान को नियंत्रित करने के लिए करते हैं जो दिन और मौसम के अनुसार बदल सकते हैं। गृह स्वचालन, वायर्ड और वायरलेस-नेटवर्किंग का उपयोग करता है जिसका उपयोग रोशनी, जलवायु, सुरक्षा, ऑडियो/दृश्य, निगरानी इत्यादि को नियंत्रित करने के लिए किया जा सकता है, जिनमें से सभी संवेदन और नियंत्रण के लिए अंतःस्थापित उपकरण का उपयोग करते हैं।
उड़ान से ऑटोमोबाइल तक परिवहन प्रणालियाँ तेजी से अंतःस्थापित प्रणाली का उपयोग करती हैं। नए हवाई जहाजों में उन्नत एविओनिक्स जैसे कि जड़त्वीय मार्गदर्शन प्रणाली और ग्लोबल पोजिशनिंग प्रणाली रिसीवर होते हैं जिनकी सुरक्षा की भी काफी आवश्यकता होती है। अंतरिक्ष यान प्रक्षेपवक्र सुधार के लिए एस्ट्रियोनिक्स प्रणाली पर भरोसा करते हैं। विभिन्न इलेक्ट्रिक मोटर्स -ब्रुशलेस डीसी मोटर्स, इंडक्शन मोटर्स और डीसी मोटर्स - इलेक्ट्रॉनिक मोटर नियंत्रक का उपयोग करते हैं। ऑटोमोबाइल, विद्युतीय वाहन और हाइब्रिड वाहन दक्षता को अधिकतम करने और प्रदूषण को कम करने के लिए तेजी से अंतःस्थापित प्रणाली का उपयोग कर रहे हैं। अंतःस्थापित प्रणाली का उपयोग करने वाली अन्य ऑटोमोटिव सुरक्षा प्रणालियों में लॉक-रोधी ब्रेकिंग प्रणाली (एबीएस), इलेक्ट्रॉनिक स्थिरता नियंत्रण (ईएससी/ईएसपी), कर्षण नियंत्रण प्रणाली (टीसीएस) और स्वचालित चार-पहिया ड्राइव सम्मिलित हैं।
चिकित्सा उपकरण मॉनिटरिंग, और विभिन्न चिकित्सा इमेजिंग (पोजीट्रान एमिशन टोमोग्राफी-पीईटी), एकल-फोटॉन उत्सर्जन परिकलित टोमोग्राफी(एसपीईसीटी), कंप्यूटेड टोमोग्राफी (सीटी), और नॉन-इनवेसिव के लिए चुंबकीय अनुनाद इमेजिंग (एमआरआई) के लिए अंतःस्थापित प्रणाली का उपयोग करता है। आंतरिक निरीक्षण चिकित्सा उपकरणों के भीतर अंतःस्थापित प्रणाली प्रायः औद्योगिक कंप्यूटरों द्वारा संचालित होते हैं।[8]
अंतःस्थापित प्रणाली का उपयोग एयरोस्पेस और रक्षा उद्योगों में सुरक्षा की दृष्टि महत्वपूर्ण प्रणालियों के लिए किया जाता है। जब तक ऑन-चिप 3जी सेलुलर या IoT निगरानी और नियंत्रण उद्देश्यों के लिए अन्य तरीकों के माध्यम से वायर्ड या वायरलेस नेटवर्क से कनेक्ट नहीं किया जाता है, तब तक इन प्रणालियों को हैकिंग से अलग किया जा सकता है और इस प्रकार अधिक सुरक्षित हो सकता है।[citation needed] अग्नि सुरक्षा के लिए, प्रणाली को उच्च तापमान को संभालने और संचालन जारी रखने की अधिक क्षमता रखने के लिए डिज़ाइन किया जा सकता है। सुरक्षा से निपटने में, अंतःस्थापित प्रणाली आत्मनिर्भर हो सकते हैं और कट इलेक्ट्रिकल और संचार प्रणालियों से निपटने में सक्षम हो सकते हैं।
मोट्स कहे जाने वाले लघु वायरलेस उपकरण नेटवर्क वाले वायरलेस संवेदक हैं। वायरलेस संवेदक नेटवर्किंग उन्नत एकीकृत सर्किट (आईसी) डिजाइन द्वारा पूर्ण वायरलेस सबप्रणाली को परिष्कृत संवेदक से जोड़े जाने के लिए लघुकरण का उपयोग संभव बनाता है, जिससे लोगों और कंपनियों को भौतिक दुनिया में असंख्य चीजों को मापने और निगरानी और नियंत्रण प्रणाली के माध्यम से इस जानकारी पर कार्य करने में सक्षम बनाता है। ये मोट्स पूरी तरह से स्व-निहित हैं और सामान्यतः वर्षों तक बैटरी को बदलने या चार्ज करने की आवश्यकता नहीं होती है।
विशेषताएं
अंतःस्थापित प्रणाली को कई कार्यों के लिए एक सामान्य-उद्देश्य वाला कंप्यूटर होने के बजाय कुछ विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है। कुछ में रीयल-टाइम प्रदर्शन बाधाएं भी होती हैं जिन्हें सुरक्षा और उपयोगिता जैसे कारणों से पूरा किया जाना चाहिए; दूसरों के पास कम या कोई प्रदर्शन आवश्यकता नहीं हो सकती है, जिससे लागत कम करने के लिए प्रणाली हार्डवेयर को सरल बनाया जा सकता है।
अंतःस्थापित प्रणाली हमेशा स्टैंडअलोन उपकरण नहीं होते हैं। कई अंतःस्थापित प्रणाली में बड़े उपकरण के भीतर छोटे हिस्से होते हैं जो अधिक सामान्य उद्देश्य को पूरा करते हैं। उदाहरण के लिए गिब्सन रोबोट, गिटार में तारों को ट्यून करने के लिए एक अंतःस्थापित प्रणाली है, लेकिन रोबोट गिटार का समग्र उद्देश्य संगीत बजाना है।[9] इसी तरह, ऑटोमोबाइल में एक अंतःस्थापित प्रणाली कार के सबप्रणाली के रूप में विशिष्ट कार्य प्रदान करता है।
अंतःस्थापित प्रणाली के लिए लिखे गए प्रोग्राम निर्देश फर्मवेयर के रूप में संदर्भित होते हैं, और रीड-ओनली मेमोरी या फ्लैश मेमोरी चिप्स में संग्रहीत होते हैं। वे सीमित कंप्यूटर हार्डवेयर संसाधनों के साथ चलते हैं जैसे कम मेमोरी, छोटा या गैर-मौजूद कीबोर्ड या स्क्रीन।
उपभोक्ता इंटरफेस
अंतःस्थापित प्रणाली बिना कोई यूजर इंटरफेस, केवल एक कार्य के लिए समर्पित, से लेकर आधुनिक कंप्यूटर डेस्कटॉप ऑपरेटिंग प्रणाली के समान जटिल ग्राफिकल यूज़र इंटरफ़ेस तक हो सकते हैं। सरल अंतःस्थापित उपकरण साधारण मेनू (कंप्यूटिंग) के साथ दबाने वाले बटन, प्रकाश उत्सर्जक डायोड (एलईडी), ग्राफिक या कैरेक्टर लिक्विड क्रिस्टल डिस्प्ले (एलसीडी) का उपयोग करते हैं। अधिक परिष्कृत उपकरण जो टच स्क्रीन या स्क्रीन-एज सॉफ्ट कुंजियों के साथ ग्राफिकल स्क्रीन का उपयोग करते हैं, उपयोग किए गए स्थान को कम करते हुए लचीलापन प्रदान करते हैं: जहाँ बटन का अर्थ स्क्रीन के साथ बदल सकता है, और वांछित चयन की ओर इशारा करने का प्राकृतिक व्यवहार सम्मिलित है।
कुछ प्रणाली सीरियल (जैसे RS-232) या नेटवर्क (जैसे ईथरनेट) कनेक्शन की मदद से दूरस्थ रूप से यूजर इंटरफेस प्रदान करते हैं। यह दृष्टिकोण अंतःस्थापित प्रणाली की क्षमताओं को बढ़ाता है, डिस्प्ले की लागत को बचाता है, बोर्ड समर्थन पैकेज (बीएसपी) को सरल करता है और डिजाइनरों को पीसी पर एक समृद्ध यूजर इंटरफेस बनाने की सहूलियत देता है। इसका एक अच्छा उदाहरण अंतःस्थापित उपकरण (जैसे आईपी कैमरा या राउटर) पर चलने वाले अंतःस्थापित एचटीटीपी सर्वर का संयोजन है। यूजर इंटरफेस, उपकरण से जुड़े पीसी पर वेब ब्राउजर में प्रदर्शित होता है।
अंतःस्थापित प्रणाली में प्रोसेसर
सामान्य-उद्देश्य वाले समकक्षों की तुलना में विशिष्ट अंतःस्थापित कंप्यूटरों के गुणों के उदाहरण हैं, कम बिजली की खपत, छोटे आकार, मज़बूत ऑपरेटिंग रेंज और कम प्रति-यूनिट लागत। यह सीमित प्रसंस्करण संसाधनों की कीमत पर आता है।
अंतःस्थापित प्रणाली उपयोग के लिए सामान्य माइक्रोकंट्रोलर्स की सूची विकसित की गई है। सामान्य-उद्देश्य वाले माइक्रोप्रोसेसरों का उपयोग अंतःस्थापित प्रणाली में भी किया जाता है, लेकिन सामान्यतः, माइक्रोकंट्रोलर्स की तुलना में अधिक समर्थन सर्किट्री की आवश्यकता होती है।
तैयार-निर्मित कंप्यूटर बोर्ड
पीसी/104 और पीसी/104+ तैयार-निर्मित कंप्यूटर बोर्डों के मानकों के उदाहरण हैं, जो छोटे, कम मात्रा वाले अंतःस्थापित और मजबूत प्रणाली के लिए अभिप्रेत हैं। ये ज्यादातर x86-आधारित हैं और प्रायः मानक पीसी की तुलना में शारीरिक रूप से छोटे होते हैं, हालांकि अभी भी सबसे सरल (8/16-बिट) अंतःस्थापित प्रणाली की तुलना में काफी बड़े हैं। वे डॉस, लिनक्स, नेटबीएसडी, या अंतःस्थापित रीयल-टाइम ऑपरेटिंग प्रणाली (आरटीओएस) जैसे कि माइक्रोसी/ओएस-II, क्यूएनएक्स या वीएक्सवर्क्स का उपयोग कर सकते हैं।
कुछ अनुप्रयोगों में, जहां छोटे आकार या विद्युत् दक्षता प्राथमिक चिंताएं नहीं हैं, उपयोग किए जाने वाले घटक सामान्य-उद्देश्य वाले x86 व्यक्तिगत कंप्यूटरों में उपयोग किए जाने वाले घटकों के साथ संगत हो सकते हैं। वीआईए ईपीआईए रेंज जैसे बोर्ड पीसी-संगत लेकिन अत्यधिक एकीकृत, शारीरिक रूप से छोटे या अंतःस्थापित इंजीनियरों के लिए उन्हें आकर्षक बनाने वाली अन्य विशेषताओं के द्वारा अंतर को पाटने में मदद करते हैं। इस दृष्टिकोण का लाभ यह है कि सामान्य सॉफ़्टवेयर विकास के लिए उपयोग किए जाने वाले समान सॉफ़्टवेयर डेवलपमेंट टूल के साथ कम लागत वाले कमोडिटी घटकों का उपयोग किया जा सकता है। इस तरह से निर्मित प्रणालियों को अभी भी अंतःस्थापित माना जाता है क्योंकि वे बड़े उपकरणों में एकीकृत होते हैं और एक ही भूमिका को पूरा करते हैं। इस दृष्टिकोण को अपनाने वाले उपकरणों के उदाहरण स्वचालित टेलर मशीन (एटीएम) और आर्केड मशीनें हैं, जिनमें अनुप्रयोग के लिए विशिष्ट कोड होते हैं।
हालांकि, अधिकांश तैयार अंतःस्थापित प्रणाली बोर्ड पीसी-केंद्रित नहीं होते हैं और आईएसए या पीसीआई इंटरकनेक्ट बसों का उपयोग नहीं करते हैं। जब प्रणाली-ऑन-अ-चिप प्रोसेसर सम्मिलित होता है, तो असतत घटकों को जोड़ने वाली प्रमाणीकृत बस होने से बहुत कम लाभ हो सकता है, और दोनों, हार्डवेयर और सॉफ्टवेयर उपकरण के लिए वातावरण बहुत भिन्न हो सकता है।
सामान्य डिजाइन शैली एक छोटे प्रणाली मॉड्यूल का उपयोग करती है, लगभग एक व्यवसाय कार्ड के आकार का, उच्च घनत्व बीजीए चिप्स जैसे एआरएम-आधारित प्रणाली-ऑन-ए-चिप प्रोसेसर और पेरिफेरल्स, भंडारण के लिए बाहरी फ्लैश मेमोरी, और रनटाइम मेमोरी के लिए डायनेमिक रैंडम एक्सेस मेमोरी। मॉड्यूल विक्रेता सामान्यतः बूट सॉफ़्टवेयर प्रदान करेगा और ऑपरेटिंग प्रणाली का चयन सुनिश्चित करेगा, सामान्यतः लिनक्स और कुछ रीयल-टाइम विकल्पों सहित। इन मॉड्यूलों को उनके विशेष परीक्षण मुद्दों से परिचित संगठनों द्वारा उच्च मात्रा में निर्मित किया जा सकता है, और अनुप्रयोग-विशिष्ट बाह्य उपकरणों के साथ बहुत कम वॉल्यूम कस्टम मेनबोर्ड के साथ जोड़ा जा सकता है। इस दृष्टिकोण के प्रमुख उदाहरणों में ओर्दुइनो और रास्पबेरी पाई सम्मिलित हैं।
एइसआईसी और ऍफ़पीजीए एसओसी समाधान
प्रणाली-ऑन-ए-चिप (एसओसी) में एक पूरा प्रणाली होता है - जिसमें कई प्रोसेसर, मल्टीप्लायर, कैशै, यहां तक कि विभिन्न प्रकार की मेमोरी और सामान्यतः विभिन्न बाह्य उपकरणों जैसे चिप पर वायर्ड या वायरलेस संचार के लिए इंटरफेस होते हैं। प्रायः ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) और डीएसपी में ऐसे चिप्स सम्मिलित होते हैं। एसओसी को एक अनुप्रयोग-विशिष्ट एकीकृत सर्किट (एइसआईसी) के रूप में या क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला (ऍफ़पीजीए) का उपयोग करके लागू किया जा सकता है जिसे सामान्यतः पुन: कॉन्फ़िगर किया जा सकता है।
मोबाइल फोन और स्मार्टफोन जैसे बहुत अधिक मात्रा वाले अंतःस्थापित प्रणाली के लिए एएसआईसी कार्यान्वयन सामान्य हैं। एएसआईसी या एफपीजीए कार्यान्वयन का उपयोग एवियोनिक्स की तरह सिग्नल प्रोसेसिंग प्रदर्शन, इंटरफेस और विश्वसनीयता के प्रकार में विशेष जरूरतों के साथ इतनी अधिक मात्रा वाले अंतःस्थापित प्रणाली के लिए किया जा सकता है।
बाह्य उपकरण
अंतःस्थापित प्रणाली बाह्य दुनिया के साथ बाह्य उपकरणों के माध्यम से बात करते हैं, जैसे:
- सीरियल संचार इंटरफ़ेस (एससीआई): RS-232, RS-422, RS-485, आदि।
- तुल्यकालिक सीरियल इंटरफ़ेस: I2C, सीरियल पेरिफेरल इंटरफेस बस, एसएससी और ईएसएसआई (उन्नत सिंक्रोनस सीरियल इंटरफ़ेस)
- यूनिवर्सल सीरियल बस (युएसबी)
- मीडिया कार्ड (एसडी कार्ड, कॉम्पैक्ट फ़्लैश, आदि)
- नेटवर्क इंटरफ़ेस नियंत्रक: ईथरनेट, वाईफाई, आदि।
- फील्डबस: कैन बस, स्थानीय इंटरकनेक्ट नेटवर्क | लिन-बस, प्रोफिबस, आदि।
- टाइमर: चरण बंद लूप, प्रोग्राम करने योग्य अंतराल टाइमर
- सामान्य प्रयोजन इनपुट/आउटपुट (जीपीआईओ)
- एनालॉग-टू-डिजिटल और डिज़िटल से एनालॉग कन्वर्टर
- दोषमार्जन: जेटीएजी, इन-प्रणाली प्रोग्रामिंग, पृष्ठभूमि डित्रुटि मोड इंटरफ़ेस पोर्ट, बीआईटीपी और DB9 पोर्ट।
साधन
अन्य सॉफ़्टवेयर की तरह, अंतःस्थापित प्रणाली डिज़ाइनर अंतःस्थापित प्रणाली सॉफ़्टवेयर विकसित करने के लिए संकलक्स, असेंबली भाषा और डित्रुटिर्स का उपयोग करते हैं। हालाँकि, वे अधिक विशिष्ट उपकरणों का भी उपयोग कर सकते हैं:
- सर्किट डित्रुटिर्स या एमुलेटर में (#दोषमार्जन देखें)।
- एक कार्यक्रम में चेकसम या चक्रीय अतिरेक जाँच जोड़ने के लिए उपयोगिताएँ, ताकि अंतःस्थापित प्रणाली जाँच सके कि कार्यक्रम वैध है या नहीं।
- अंकीय संकेत प्रक्रिया का उपयोग करने वाले प्रणाली के लिए, डेवलपर्स गणित का अनुकरण करने के लिए एक कम्प्यूटेशनल नोटबुक का उपयोग कर सकते हैं।
- प्रणाली-स्तरीय मॉडलिंग और सिमुलेशन उपकरण डिजाइनरों को प्रोसेसर, मेमोरी, प्रत्यक्ष मेमोरी एक्सेस, इंटरफ़ेस (कंप्यूटिंग) एस, बसों और सॉफ़्टवेयर व्यवहार प्रवाह जैसे हार्डवेयर घटकों के साथ प्रणाली के सिमुलेशन मॉडल बनाने में मदद करते हैं, पुस्तकालय ब्लॉक का उपयोग करके स्थिति-आरेख या प्रवाह आरेख के रूप में कॉन्फ़िगर करने योग्य होते हैं। क्षमता बनाम प्रदर्शन के संतुलन के साथ, विश्वसनीयता विश्लेषण और अड़चन विश्लेषण करके सही घटकों का चयन करने के लिए सिमुलेशन आयोजित किया जाता है। विशिष्ट रिपोर्ट जो डिज़ाइनर को आर्किटेक्चर निर्णय लेने में मदद करती हैं, उनमें अनुप्रयोग विलंबता, उपकरण थ्रूपुट, उपकरण उपयोग, पूर्ण प्रणाली की बिजली खपत के साथ-साथ उपकरण-स्तरीय बिजली खपत सम्मिलित है।
- एक मॉडल-आधारित विकास उपकरण डिजिटल फिल्टर, मोटर नियंत्रक, संचार प्रोटोकॉल डिकोडिंग और बहु-दर कार्यों जैसे घटकों के ग्राफिकल डेटा प्रवाह और यूएमएल स्थिति चार्ट आरेख बनाता है और उनका अनुकरण करता है।
- विशेष हार्डवेयर को अनुकूलित करने के लिए कस्टम कंपाइलर और लिंकर्स का उपयोग किया जा सकता है।
- अंतःस्थापित प्रणाली की अपनी विशेष भाषा या डिज़ाइन टूल हो सकता है, या फोर्थ या बेसिक जैसी मौजूदा भाषा में वृद्धि जोड़ सकता है।
- एक अन्य विकल्प आरटीओएस या अंतःस्थापित ऑपरेटिंग प्रणाली को जोड़ना है
- मॉडलिंग और कोड जनरेटिंग यूएमएल उपकरण प्रायः यूएमएल अवस्था मशीन पर आधारित होता है
सॉफ़्टवेयर टूल कई स्रोतों से आ सकते हैं:
- सॉफ्टवेयर कंपनियां जो अंतःस्थापित मार्केट में विशेषज्ञ हैं
- जीएनयू सॉफ्टवेयर डेवलपमेंट टूल्स से पोर्ट किया गया
- कभी-कभी, व्यक्तिगत कंप्यूटर के लिए विकास उपकरण का उपयोग किया जा सकता है यदि अंतःस्थापित प्रोसेसर एक सामान्य पीसी प्रोसेसर के निकट संबंधी है
जैसे-जैसे अंतःस्थापित प्रणाली की जटिलता बढ़ती है, उच्च-स्तरीय उपकरण और ऑपरेटिंग प्रणाली मशीनरी में माइग्रेट हो रहे हैं जहां यह उचित लगता है। उदाहरण के लिए, सेल फोन, व्यक्तिगत डिजिटल सहायक और अन्य उपभोक्ता कंप्यूटरों को प्रायः महत्वपूर्ण सॉफ़्टवेयर की आवश्यकता होती है जिसे इलेक्ट्रॉनिक्स के निर्माता के अलावा किसी अन्य व्यक्ति द्वारा खरीदा या प्रदान किया जाता है। इन प्रणालियों में, लिनक्स, नेटबीएसडी, ओएसजीआई या एंबेडेड जावा जैसे खुले प्रोग्रामिंग वातावरण की आवश्यकता होती है ताकि तीसरे पक्ष के सॉफ्टवेयर प्रदाता बड़े बाजार में बेच सकें।
दोषमार्जन
अंतःस्थापित दोषमार्जन उपलब्ध सुविधाओं के आधार पर विभिन्न स्तरों पर किया जा सकता है। इन विचारों में सम्मिलित हैं: क्या यह मुख्य अनुप्रयोग को धीमा करता है, दोषमार्जन प्रणाली या अनुप्रयोग वास्तविक प्रणाली या अनुप्रयोग के कितने करीब है, दोषमार्जन के लिए सेट किए जा सकने वाले ट्रिगर कितने अभिव्यंजक हैं (उदाहरण के लिए, किसी विशेष कार्यक्रम गणक वैल्यू के निश्चित सीमा पर पहुंचने पर मेमोरी का निरीक्षण करना), और दोषमार्जन प्रक्रिया में क्या निरीक्षण किया जा सकता है (जैसे, केवल मेमोरी, या मेमोरी और रजिस्टर, आदि)।
सबसे सरल परिष्कृत दोषमार्जन तकनीकों और प्रणालियों को मोटे तौर पर निम्नलिखित क्षेत्रों में समूहीकृत किया जाना चाहिए:
- अंतःस्थापित ऑपरेटिंग प्रणाली (जैसे फोर्थ और बेसिक) द्वारा प्रदान किए गए सरल शेल का उपयोग करके इंटरएक्टिव रेजिडेंट दोषमार्जन
- केवल-सॉफ़्टवेयर डित्रुटिर्स के पास यह लाभ है कि उन्हें किसी हार्डवेयर संशोधन की आवश्यकता नहीं होती है, लेकिन समय और संग्रहण स्थान को बचाने के लिए उन्हें सावधानीपूर्वक नियंत्रित करना पड़ता है कि वे क्या अंकित करते हैं।[10]
- बाहरी दोषमार्जन लॉगिंग या सीरियल पोर्ट आउटपुट का उपयोग करके या तो फ्लैश में मॉनिटर का उपयोग करके या रेमेडी डीत्रुटिर जैसे डित्रुटि सर्वर का उपयोग करके ऑपरेशन का पता लगाने के लिए जो विषम मल्टी-कोर प्रोसेसर प्रणाली के लिए भी काम करता है।
- इन-सर्किट डित्रुटिर (आईसीडी), एक हार्डवेयर उपकरण जो जेटीऐजी या नेक्सस इंटरफ़ेस के माध्यम से माइक्रोप्रोसेसर से जुड़ता है।[11] यह माइक्रोप्रोसेसर के संचालन को बाहरी रूप से नियंत्रित करने की अनुमति देता है, लेकिन सामान्यतः प्रोसेसर में विशिष्ट दोषमार्जन क्षमताओं तक ही सीमित है।
- इन-सर्किट एमुलेटर (आईसीई) माइक्रोप्रोसेसर को सिम्युलेटेड समकक्ष के साथ बदल देता है, माइक्रोप्रोसेसर के सभी पहलुओं पर पूर्ण नियंत्रण प्रदान करता है।
- पूर्ण एमुलेटर हार्डवेयर के सभी पहलुओं का अनुकरण प्रदान करता है, जिससे सभी को नियंत्रित और संशोधित किया जा सकता है, और सामान्य पीसी पर दोषमार्जन की अनुमति मिलती है। नकारात्मक पहलू खर्च और धीमा संचालन है, कुछ मामलों में अंतिम प्रणाली की तुलना में 100 गुना धीमा है।
- एसओसी डिजाइनों के लिए, विशिष्ट दृष्टिकोण एफपीजीए प्रोटोटाइप बोर्ड पर डिजाइन को सत्यापित और दोषमार्जन करना है। करतूस जैसे उपकरण[12] एफपीजीए कार्यान्वयन में जांच डालने के लिए उपयोग किया जाता है जो अवलोकन के लिए संकेत उपलब्ध कराता है। इसका उपयोग तर्क विश्लेषक के समान क्षमताओं के साथ कार्यान्वयन में कई एफपीजीए में हार्डवेयर, फ़र्मवेयर और सॉफ़्टवेयर इंटरैक्शन को दोषमार्जन करने के लिए किया जाता है।
जब तक बाहरी दोषमार्जन तक सीमित न हो, प्रोग्रामर सामान्यतः टूल के माध्यम से सॉफ़्टवेयर को लोड और चला सकता है, प्रोसेसर में चल रहे कोड को देख सकता है, और इसके ऑपरेशन को शुरू या बंद कर सकता है। कोड की पहुंच उच्च स्तरीय प्रोग्रामिंग भाषा,असेंबली कोड या दोनों का मिश्रण हो सकता है।
अनुरेखण
रीयल-टाइम ऑपरेटिंग प्रणाली प्रायः ऑपरेटिंग प्रणाली ईवेंट के अनुरेखण का समर्थन करते हैं। प्रणाली व्यवहार की रिकॉर्डिंग के आधार पर, होस्ट पीसी टूल द्वारा ग्राफिकल दृश्य प्रस्तुत किया जाता है। सॉफ्टवेयर में ट्रेस रिकॉर्डिंग, आरटीओएस द्वारा या विशेष ट्रेसिंग हार्डवेयर द्वारा की जा सकती है। आरटीओएस अनुरेखण डेवलपर्स को सॉफ़्टवेयर प्रणाली के समय और प्रदर्शन के मुद्दों को समझने की अनुमति देता है और उच्च-स्तरीय प्रणाली व्यवहारों की अच्छी समझ देता है। अंतःस्थापित प्रणाली में ट्रेस रिकॉर्डिंग, हार्डवेयर या सॉफ्टवेयर समाधानों का उपयोग करके प्राप्त की जा सकती है। सॉफ़्टवेयर-आधारित ट्रेस रिकॉर्डिंग के लिए विशेष दोषमार्जन हार्डवेयर की आवश्यकता नहीं होती है और इसका उपयोग तैनात उपकरणों में निशान रिकॉर्ड करने के लिए किया जा सकता है, लेकिन इसका सीपीयू और रैम उपयोग पर प्रभाव पड़ सकता है।[13]आरटीओएस वातावरण में उपयोग किए जाने वाले सॉफ़्टवेयर-आधारित अनुरेखण पद्धति का एक उदाहरण खाली मैक्रो का उपयोग है, जिसे ऑपरेटिंग प्रणाली द्वारा कोड में रणनीतिक स्थानों पर लागू किया जाता है, और हुकिंग के रूप में कार्य करने के लिए लागू किया जा सकता है।
विश्वसनीयता
अंतःस्थापित प्रणाली प्रायः उन मशीनों में रहते हैं जिनके बिना त्रुटि के वर्षों तक लगातार चलने की उम्मीद होती है, और कुछ मामलों में त्रुटि होने पर खुद को ठीक कर लेते हैं। इसलिए, सॉफ्टवेयर सामान्यतः व्यक्तिगत कंप्यूटरों की तुलना में अधिक सावधानी से विकसित और परीक्षण किया जाता है, और डिस्क ड्राइव, स्विच या बटन जैसे अविश्वसनीय चर यांत्रिक भागों से बचा जाता है।
विशिष्ट विश्वसनीयता मुद्दों में सम्मिलित हो सकते हैं:
- प्रणाली की सुधार के लिए सुरक्षित रूप से बंद नहीं किया जा सकता है, या यह सुधार के लिए बहुत दुर्गम है। उदाहरणों में स्पेस प्रणाली, अंडरसी केबल, नेविगेशनल बीकन, बोर-होल प्रणाली और ऑटोमोबाइल सम्मिलित हैं।
- सुरक्षा कारणों से प्रणाली को चालू रखना चाहिए। विफलता की स्थिति में कम कार्यक्षमता असहनीय हो सकती है। प्रायः बैकअप, ऑपरेटर द्वारा चुने जाते हैं। उदाहरणों में विमान नेविगेशन, रिएक्टर नियंत्रण प्रणाली, सुरक्षा-महत्वपूर्ण रासायनिक फैक्ट्री नियंत्रण, ट्रेन सिग्नल सम्मिलित हैं।
- बंद होने पर प्रणाली बड़ी मात्रा में धन खो देगा: टेलीफोन स्विच, फैक्ट्री नियंत्रण, पुल और लिफ्ट नियंत्रण, धन हस्तांतरण और बाजार निर्माण, स्वचालित बिक्री और सेवा।
त्रुटियों से पुनर्स्थापित करने के लिए कई प्रकार की तकनीकों का उपयोग किया जाता है, कभी-कभी संयोजन में, दोनों सॉफ़्टवेयर त्रुटि जैसे मेमोरी लीक्स और हार्डवेयर में सॉफ्ट त्रुटियाँ:
- वॉचडॉग टाइमर जो प्रणाली को रीसेट और पुनरारंभ करता है जब तक कि सॉफ़्टवेयर समय-समय पर वॉचडॉग सबप्रणाली को सूचित न करे
- विश्वसनीय कंप्यूटिंग बेस (टीसीबी) आर्किटेक्चर के साथ डिजाइनिंग एक अत्यधिक सुरक्षित और विश्वसनीय प्रणाली वातावरण सुनिश्चित करता है[14]
- अंतःस्थापित प्रणाली के लिए डिज़ाइन किया गया हाइपरविजर किसी भी सबप्रणाली घटक के लिए सुरक्षित इनकैप्सुलेशन प्रदान करने में सक्षम होता है ताकि जोखिम भरा सॉफ़्टवेयर घटक अन्य सबप्रणाली, या विशेषाधिकार-स्तर के प्रणाली सॉफ़्टवेयर में हस्तक्षेप न कर सके।[15] यह एनकैप्सुलेशन दोषों को एक सबप्रणाली से दूसरे सबप्रणाली में फैलने से रोकता है, जिससे विश्वसनीयता में सुधार होता है। यह सबप्रणाली को स्वचालित रूप से बंद करने और त्रुटि का पता लगाने पर पुनः आरंभ करने की अनुमति भी दे सकता है।
- प्रतिरक्षा-जागरूक प्रोग्रामिंग इंजीनियरों को अधिक विश्वसनीय अंतःस्थापित प्रणाली कोड बनाने में मदद कर सकती है।[16][17] एम्आईएसआरए C/C++ जैसे दिशानिर्देश और कोडिंग नियम डेवलपर्स को कई अलग-अलग तरीकों से विश्वसनीय, पोर्टेबल फ़र्मवेयर बनाने में सहायता करता है: सामान्यतः कोडिंग प्रथाओं के विरुद्ध सलाह देना या अनिवार्य करना जो रन-टाइम त्रुटियों (मेमोरी लीक, अमान्य सूचक उपयोग) को जन्म दे सकता है, रन-टाइम चेक और अपवाद हैंडलिंग का उपयोग (श्रेणी/स्वच्छता जांच, विभाजित-दर-शून्य और बफर इंडेक्स वैधता जांच, तर्क जांच में डिफ़ॉल्ट मामले), लूप बाउंडिंग, मानव-पठनीय, अच्छी तरह से टिप्पणी और अच्छी तरह से उत्पादन संरचित कोड, और भाषा की अस्पष्टता से बचना जो संकलक-प्रेरित विसंगतियों या साइड-इफेक्ट्स (अभिव्यक्ति मूल्यांकन आदेश, पुनरावृत्ति, कुछ प्रकार के मैक्रो) को जन्म दे सकती है। इन नियमों को प्रायः कार्यात्मक सत्यापन उद्देश्यों के लिए कोड स्टेटिक प्रोग्राम विश्लेषण या बाध्य मॉडल जांच के संयोजन के साथ प्रयोग किया जा सकता है, और कोड वर्स्ट-केस निष्पादन समय के निर्धारण में भी सहायता करता है।[16]
उच्च बनाम कम मात्रा
मोबाइल फोन जैसे उच्च-मात्रा वाले प्रणाली के लिए, न्यूनतम लागत सामान्यतः प्राथमिक डिजाइन विचार है। इंजीनियर सामान्यतः ऐसे हार्डवेयर का चयन करते हैं जो आवश्यक कार्यों को लागू करने के लिए काफी अच्छा हो।
कम मात्रा या प्रोटोटाइप अंतःस्थापित प्रणाली के लिए, सामान्य-उद्देश्य वाले कंप्यूटर प्रोग्राम को सीमित करके या ऑपरेटिंग प्रणाली को आरटीओएस के साथ बदलकर अनुकूलित किया जा सकता है।
अंतःस्थापित सॉफ्टवेयर संरचना
1978 में नेशनल इलेक्ट्रिकल मैन्युफैक्चरर्स एसोसिएशन ने ICS 3-1978 जारी किया, जो प्रोग्रामेबल माइक्रोकंट्रोलर्स के लिए एक मानक है,[18] जैसे किसी भी कंप्यूटर-आधारित नियंत्रकों सहित, जैसे एकल बोर्ड कंप्यूटर, संख्यात्मक और घटना-आधारित नियंत्रक।
आज सामान्य उपयोग में कई अलग-अलग प्रकार के सॉफ़्टवेयर संरचना हैं।
सरल नियंत्रण पाश
इस योजना में, सॉफ़्टवेयर में केवल एक पाश (कंप्यूटिंग) होता है जो इनपुट उपकरणों पर नज़र रखता है। पाश सबरूटीन्स को कॉल करता है, जिनमें से प्रत्येक हार्डवेयर या सॉफ़्टवेयर के एक भाग का प्रबंधन करता है। इसलिए इसे सिंपल कंट्रोल लूप या प्रोग्राम्ड इनपुट-आउटपुट कहा जाता है।
व्यवधान-नियंत्रित प्रणाली
कुछ अंतःस्थापित प्रणाली मुख्य रूप से हस्तक्षेप द्वारा नियंत्रित होते हैं। इसका मतलब यह है कि प्रणाली द्वारा किए जाने वाले कार्य विभिन्न प्रकार की घटनाओं से शुरू होते हैं; एक व्यवधान उत्पन्न किया जा सकता है, उदाहरण के लिए, एक पूर्वनिर्धारित अंतराल पर टाइमर द्वारा, या डेटा प्राप्त करने वाले सीरियल पोर्ट नियंत्रक द्वारा।
इस संरचना का उपयोग तब किया जाता है जब इवेंट हैंडलर को कम विलंबता की आवश्यकता होती है, और इवेंट हैंडलर छोटे और सरल होते हैं। ये प्रणालियाँ मुख्य लूप में भी एक सरल कार्य चलाती हैं, लेकिन यह कार्य अप्रत्याशित देरी के प्रति बहुत संवेदनशील नहीं है। कभी-कभी इंटरप्ट हैंडलर कतार संरचना में लंबे कार्य जोड़ सकता है। बाद में, इंटरप्ट हैंडलर समाप्त होने के बाद, इन कार्यों को मुख्य लूप द्वारा निष्पादित किया जाता है। यह विधि प्रणाली को असतत प्रक्रियाओं के साथ मल्टीटास्किंग कर्नेल के करीब लाती है।
सहकारी मल्टीटास्किंग
सहकारी मल्टीटास्किंग सरल नियंत्रण लूप योजना के समान है, सिवाय इसके कि लूप एक अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) में छिपा हुआ है।[3][1]प्रोग्रामर कार्यों की एक श्रृंखला को परिभाषित करता है, और प्रत्येक कार्य को प्रचालित करने के लिए अपना स्वयं का वातावरण मिलता है। जब कोई कार्य नहीं होता है, तो यह निष्क्रिय दिनचर्या अपनाती है जो नियंत्रित को किसी अन्य कार्य को हस्तांतरित करती है।
इसके फायदे और नुकसान नियंत्रण पाश के समान हैं, सिवाय इसके कि नया सॉफ़्टवेयर जोड़ना आसान है, केवल एक नया कार्य लिखकर या कतार में जोड़कर।
पूर्वनिर्धारित मल्टीटास्किंग या मल्टी-थ्रेडिंग
इस प्रकार की प्रणाली में, टाइमर के आधार पर कार्यों या थ्रेड्स के बीच कोड का एक निम्न-स्तरीय टुकड़ा स्विच होता है (एक रुकावट से जुड़ा हुआ)। यह वह स्तर है जिस पर प्रणाली को सामान्यतः ऑपरेटिंग प्रणाली कर्नेल माना जाता है। कितनी कार्यक्षमता की आवश्यकता है, इस पर निर्भर करते हुए, यह वैचारिक रूप से समानांतर में चल रहे कई कार्यों के प्रबंधन की कमोबेश जटिलताओं का परिचय देता है।
चूंकि कोई भी कोड संभावित रूप से किसी अन्य कार्य के डेटा को नुकसान पहुंचा सकता है (मेमोरी प्रबंधन इकाई का उपयोग करने वाले बड़े प्रणाली को छोड़कर) प्रोग्राम को सावधानी से डिज़ाइन और परीक्षण किया जाना चाहिए, और साझा डेटा तक पहुंच को कुछ तुल्यकालन रणनीति द्वारा नियंत्रित किया जाना चाहिए, जैसे संदेश कतार, सेमाफोर या गैर-अवरुद्ध तुल्यकालन योजना।
इन जटिलताओं के कारण, संगठनों के लिए आरटीओएस का उपयोग करना सामान्य बात है, जिससे अनुप्रयोग प्रोग्रामर कम से कम बड़ी प्रणालियों के लिए ऑपरेटिंग प्रणाली सेवाओं के बजाय उपकरण की कार्यक्षमता पर ध्यान केंद्रित कर सकें; स्मृति आकार, प्रदर्शन, या बैटरी जीवन के संबंध में सीमाओं के कारण छोटी प्रणालियाँ प्रायः एक सामान्य वास्तविक समय प्रणाली से जुड़े ओवरहेड को वहन नहीं कर सकती हैं। आरटीओएस के लिए आवश्यक विकल्प अपने स्वयं के मुद्दों को लाता है, हालांकि, आवेदन विकास प्रक्रिया शुरू करने से पहले चयन किया जाना चाहिए। यह समय डेवलपर्स को वर्तमान आवश्यकताओं के आधार पर अपने उपकरण के लिए अंतःस्थापित ऑपरेटिंग प्रणाली चुनने के लिए मजबूर करता है और इसलिए भविष्य के विकल्पों को काफी हद तक प्रतिबंधित करता है।[19] जैसे-जैसे उत्पाद का जीवन घटता है भविष्य के विकल्पों पर प्रतिबंध एक समस्या बन जाता है। इसके अतिरिक्त, जटिलता का स्तर लगातार बढ़ रहा है क्योंकि सीरियल, यूएसबी, टीसीपी/आईपी, ब्लूटूथ, वायरलेस लैन, ट्रंक रेडियो, मल्टीपल चैनल, डेटा और वॉयस, उन्नत ग्राफिक्स, मल्टीपल स्टेट्स, मल्टीपल थ्रेड्स जैसे वेरिएबल्स को प्रबंधित करने के लिए उपकरणों की आवश्यकता होती है और इसी तरह की कई प्रतीक्षा अवस्थाएँ । ये रुझान आरटीओएस के अलावा अंतःस्थापित मिडलवेयर के उत्थान की ओर अग्रसर हैं।
मिक्रोकर्नेलस और एक्सोकर्नेल
माइक्रोकर्नेल रीयल-टाइम ओएस से एक तार्किक कदम है। सामान्य व्यवस्था यह है कि ऑपरेटिंग प्रणाली कर्नेल मेमोरी आवंटित करता है और सीपीयू को निष्पादन के विभिन्न थ्रेड्स पर स्विच करता है। उपयोगकर्ता-मोड प्रक्रियाएं प्रमुख कार्यों जैसे फाइल प्रणाली, नेटवर्क इंटरफेस आदि को लागू करती हैं।
सामान्य तौर पर, माइक्रोकर्नेल तब सफल होते हैं जब टास्क स्विचिंग और इंटरटास्क कम्युनिकेशन तेज होता है और जब वे धीमे होते हैं तो विफल हो जाते हैं।
एक्सोकर्नल्स सामान्य सबरूटीन कॉल्स द्वारा कुशलता से संवाद करते हैं। प्रणाली में हार्डवेयर और सभी सॉफ्टवेयर अनुप्रयोग प्रोग्रामर के लिए उपलब्ध और एक्स्टेंसिबल हैं।
मोनोलिथिक कर्नल्स
इस मामले में, परिष्कृत क्षमताओं वाला अपेक्षाकृत बड़ा कर्नेल अंतःस्थापित वातावरण के अनुरूप अनुकूलित किया जाता है। यह प्रोग्रामर्स को लिनक्स या माइक्रोसॉफ़्ट विंडोज़ जैसे डेस्कटॉप ऑपरेटिंग प्रणाली के समान वातावरण देता है, और इसलिए विकास के लिए बहुत उत्पादक है; नकारात्मक पक्ष में, इसके लिए काफी अधिक हार्डवेयर संसाधनों की आवश्यकता होती है, जो प्रायः अधिक महंगा होता है, और इन कर्नेल की जटिलता के कारण, कम अनुमानित और विश्वसनीय हो सकता है।
अंतःस्थापित मोनोलिथिक कर्नेल के सामान्य उदाहरण अंतःस्थापित लिनक्स, वीएक्सवर्क्स और विंडोज सीई हैं।
हार्डवेयर में बढ़ी हुई लागत के बावजूद, इस प्रकार की अंतःस्थापित प्रणाली लोकप्रियता में बढ़ रही है, विशेष रूप से अधिक शक्तिशाली अंतःस्थापित उपकरणों जैसे कि वायरलेस राउटर और ऑटोमोटिव नेविगेशन प्रणाली पर। यहाँ कुछ कारण दिए गए हैं:
- सामान्य अंतःस्थापित चिप सेट के पोर्ट उपलब्ध हैं।
- वे उपकरण ड्राइवरों, वेब सर्वर, फ़ायरवॉल (नेटवर्किंग) और अन्य कोड के लिए सार्वजनिक रूप से उपलब्ध कोड के पुन: उपयोग की अनुमति देते हैं।
- विकास प्रणालियाँ व्यापक फीचर-सेट के साथ शुरू हो सकती हैं, और फिर वितरण को अनावश्यक कार्यक्षमता को बाहर करने के लिए कॉन्फ़िगर किया जा सकता है, और उस मेमोरी के खर्च को बचा सकता है जिसका वह उपभोग करेगा।
- कई इंजीनियरों का मानना है कि अनुप्रयोग कोड को उपयोगकर्ता मोड में चलाना अधिक विश्वसनीय और डिबग करना आसान है, इस प्रकार विकास प्रक्रिया को आसान बनाता है और कोड को अधिक पोर्टेबल बनाता है।
- गारंटी से अधिक तेज प्रतिक्रिया की आवश्यकता वाली सुविधाओं को प्रायः प्रोग्रामेबल लॉजिक उपकरण में रखा जा सकता है।
अतिरिक्त सॉफ्टवेयर घटक
कोर ऑपरेटिंग प्रणाली के अतिरिक्त, कई अंतःस्थापित प्रणाली में अतिरिक्त ऊपरी-परत सॉफ़्टवेयर घटक होते हैं। इन घटकों में कंट्रोलर-एरिया नेटवर्क, टीसीपी/आईपी, एफ़टीपी, एचटीटीपी, और एचटीटीपीएस के जैसे नेटवर्किंग प्रोटोकॉल स्टैक सम्मिलित हैं, और इसमें फ़ाइल आवंटन तालिका और फ्लैश मेमोरी मैनेजमेंट प्रणाली जैसी स्टोरेज क्षमताएं भी सम्मिलित हैं। यदि अंतःस्थापित उपकरण में ऑडियो और वीडियो क्षमताएं हैं, तो उपयुक्त ड्राइवर और कोडेक प्रणाली में मौजूद होंगे। मोनोलिथिक कर्नल्स के मामले में, इनमें से कई सॉफ्टवेयर परतें सम्मिलित हैं। आरटीओएस श्रेणी में, अतिरिक्त सॉफ्टवेयर घटकों की उपलब्धता व्यावसायिक पेशकश पर निर्भर करती है।
डोमेन-विशिष्ट आर्किटेक्चर
ऑटोमोटिव क्षेत्र में, ऑटोसार अंतःस्थापित सॉफ़्टवेयर के लिए एक मानक संरचना है।
यह भी देखें
टिप्पणियाँ
संदर्भ
- ↑ 1.0 1.1 Michael Barr. "एंबेडेड सिस्टम शब्दावली". Neutrino Technical Library. Retrieved 2007-04-21.
- ↑ Heath, Steve (2003). एंबेडेड सिस्टम डिजाइन. EDN series for design engineers (2 ed.). Newnes. p. 2. ISBN 978-0-7506-5546-0.
एक एम्बेडेड सिस्टम एक माइक्रोप्रोसेसर आधारित सिस्टम है जो किसी फ़ंक्शन या फ़ंक्शन की श्रेणी को नियंत्रित करने के लिए बनाया गया है।
- ↑ 3.0 3.1 Michael Barr; Anthony J. Massa (2006). "Introduction". प्रोग्रामिंग एम्बेडेड सिस्टम: सी और जीएनयू विकास उपकरण के साथ. O'Reilly. pp. 1–2. ISBN 978-0-596-00983-0.
- ↑ Barr, Michael (1 August 2009). "सी में वास्तविक पुरुष कार्यक्रम". Embedded Systems Design. TechInsights (United Business Media). p. 2. Retrieved 2009-12-23.
- ↑ Shirriff, Ken (30 August 2016). "पहले माइक्रोप्रोसेसरों की आश्चर्यजनक कहानी". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 53 (9): 48–54. doi:10.1109/MSPEC.2016.7551353. S2CID 32003640. Retrieved 13 October 2019.
- ↑ "1971: माइक्रोप्रोसेसर एक सिंगल चिप पर सीपीयू फंक्शन को एकीकृत करता है". The Silicon Engine. Computer History Museum. Retrieved 22 July 2019.
- ↑ "इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन". इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन.
- ↑ Embedded Systems Dell OEM Solutions | Dell. Content.dell.com (2011-01-04). Retrieved on 2013-02-06.
- ↑ David Carey (2008-04-22). "हुड के नीचे: रोबोट गिटार ऑटोट्यूनिंग एम्बेड करता है". Embedded Systems Design. Archived from the original on 2008-07-08.
- ↑ Tancreti, Matthew; Sundaram, Vinaitheerthan; Bagchi, Saurabh; Eugster, Patrick (2015). "TARDIS: वायरलेस सेंसर नेटवर्क में सॉफ्टवेयर-ओनली सिस्टम-लेवल रिकॉर्ड और रीप्ले". Proceedings of the 14th International Conference on Information Processing in Sensor Networks. IPSN '15. New York, NY, USA: ACM: 286–297. doi:10.1145/2737095.2737096. ISBN 9781450334754. S2CID 10120929.
- ↑ Tancreti, Matthew; Hossain, Mohammad Sajjad; Bagchi, Saurabh; Raghunathan, Vijay (2011). "अवक्षा: वायरलेस एंबेडेड सिस्टम के गैर-घुसपैठ ट्रेसिंग और प्रोफाइलिंग के लिए एक हार्डवेयर-सॉफ्टवेयर दृष्टिकोण". Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems. SenSys '11. New York, NY, USA: ACM: 288–301. doi:10.1145/2070942.2070972. ISBN 9781450307185. S2CID 14769602.
- ↑ "टेक्ट्रोनिक्स प्रोटोटाइपिंग को हिलाता है, एंबेडेड इंस्ट्रूमेंटेशन बोर्ड को एम्यूलेटर स्थिति में बढ़ाता है". Electronic Engineering Journal. 2012-10-30. Retrieved 2012-10-30.
- ↑ Kraft, Johan; Wall, Anders; Kienle, Holger (2010), Barringer, Howard; Falcone, Ylies; Finkbeiner, Bernd; Havelund, Klaus (eds.), "Trace Recording for Embedded Systems: Lessons Learned from Five Industrial Projects", Runtime Verification (in English), Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 6418, pp. 315–329, doi:10.1007/978-3-642-16612-9_24, ISBN 978-3-642-16611-2, retrieved 2022-08-16
- ↑ Heiser, Gernot (December 2007). "आपका सिस्टम सुरक्षित है? इसे साबित करो!" (PDF). ;login:. 2 (6): 35–8. Archived (PDF) from the original on 2014-11-29.
- ↑ Moratelli, C; Johann, S; Neves, M; Hessel, F (2016). "सुरक्षित आईओटी अनुप्रयोगों के डिजाइन के लिए एंबेडेड वर्चुअलाइजेशन". 2016 International Symposium on Rapid System Prototyping (RSP): 2–6. doi:10.1145/2990299.2990301. ISBN 9781450345354. S2CID 17466572. Retrieved 2 February 2018.
- ↑ 16.0 16.1 Short, Michael (March 2008). "भरोसेमंद रीयल-टाइम एम्बेडेड सिस्टम के लिए विकास दिशानिर्देश". 2008 IEEE/ACS International Conference on Computer Systems and Applications: 1032–1039. doi:10.1109/AICCSA.2008.4493674. ISBN 978-1-4244-1967-8. S2CID 14163138.
- ↑ Motor Industry Software Reliability Association. "मिश्रा सी: 2012 तीसरा संस्करण, पहला संशोधन" (in British English). Retrieved 2022-02-03.
- ↑ "अक्सर पूछे जाने वाले प्रश्न: प्रोग्राम करने योग्य नियंत्रक" (PDF). Retrieved 2020-01-10.
- ↑ "Working across Multiple Embedded Platforms" (PDF). clarinox. Archived (PDF) from the original on 2011-02-19. Retrieved 2010-08-17.
आगे की पढाई
- John Catsoulis (May 2005). Designing Embedded Hardware, 2nd Edition. O'Reilly. ISBN 0-596-00755-8.
- James M. Conrad; Alexander G. Dean (September 2011). Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller. Micrium. ISBN 978-1935-7729-96.
- Klaus Elk (August 2016). Embedded Software Development for the Internet Of Things, The Basics, The Technologies and Best Practices. ISBN 978-1534602533.
बाहरी संबंध
- Embedded Systems course with mbed YouTube, ongoing from 2015
- Trends in Cyber Security and Embedded Systems Dan Geer, November 2013
- Modern Embedded Systems Programming Video Course YouTube, ongoing from 2013
- Embedded Systems Week (ESWEEK) yearly event with conferences, workshops and tutorials covering all aspects of embedded systems and software
- Workshop on Embedded and Cyber-Physical Systems Education Archived 2018-02-11 at the Wayback Machine, workshop covering educational aspects of embedded systems