अंतःस्थापित प्रणाली

एक एम्बेडेड सिस्टम एक कंप्यूटर प्रणाली है - एक कंप्यूटर प्रोसेसर, स्मृति और इनपुट/आउटपुट पेरिफेरल डिवाइसेस का एक संयोजन- जिसका एक बड़े मैकेनिकल या इलेक्ट्रानिक्स सिस्टम के भीतर एक समर्पित कार्य है। यह अक्सर विद्युत या इलेक्ट्रॉनिक हार्डवेयर और यांत्रिक भागों सहित एक पूर्ण उपकरण के हिस्से के रूप में एम्बेडेड होता है। क्योंकि एक एम्बेडेड सिस्टम आमतौर पर उस मशीन के भौतिक संचालन को नियंत्रित करता है जिसमें यह एम्बेडेड होता है, इसमें अक्सर रीयल-टाइम कंप्यूटिंग बाधाएँ होती हैं। एंबेडेड सिस्टम आज आम उपयोग में आने वाले कई उपकरणों को नियंत्रित करते हैं।, यह अनुमान लगाया गया था कि निर्मित सभी माइक्रोप्रोसेसरों का अठानबे प्रतिशत एम्बेडेड सिस्टम में उपयोग किया गया था। आधुनिक एम्बेडेड सिस्टम अक्सर microcontroller (अर्थात् एकीकृत मेमोरी और परिधीय इंटरफेस के साथ माइक्रोप्रोसेसर) पर आधारित होते हैं, लेकिन साधारण माइक्रोप्रोसेसर (मेमोरी और परिधीय इंटरफ़ेस सर्किट के लिए बाहरी चिप्स का उपयोग करना) भी आम हैं, खासकर अधिक जटिल प्रणालियों में। किसी भी मामले में, उपयोग किए जाने वाले प्रोसेसर सामान्य प्रयोजन से लेकर संगणना के एक निश्चित वर्ग में विशेष प्रकार के हो सकते हैं, या यहां तक ​​​​कि कस्टम एप्लिकेशन के लिए डिज़ाइन किए गए हैं। समर्पित प्रोसेसर का एक सामान्य मानक वर्ग डिजिटल सिग्नल प्रोसेसर (डीएसपी) है।

चूंकि एम्बेडेड सिस्टम विशिष्ट कार्यों के लिए समर्पित है, नमूना अभियंता उत्पाद के आकार और लागत को कम करने और इसकी विश्वसनीयता और प्रदर्शन को बढ़ाने के लिए इसे अनुकूलित कर सकते हैं। कुछ एम्बेडेड सिस्टम बड़े पैमाने पर उत्पादित होते हैं, जो पैमाने की अर्थव्यवस्थाओं से लाभान्वित होते हैं।

एंबेडेड सिस्टम पोर्टेबल व्यक्तिगत उपकरणों जैसे डिजिटल घड़ियों और एमपी 3 प्लेयर्स से लेकर घरेलू उपकरणों, औद्योगिक असेम्बली लाइनें, रोबोटों, ट्रांसपोर्ट व्हीकल, ट्रैफिक लाइट नियंत्रण और समन्वय और चिकित्सीय इमेजिंग सिस्टम जैसी बड़ी मशीनों के आकार में होते हैं। अक्सर वे अन्य मशीनों की उप-प्रणालियों का गठन करते हैं जैसे कि विमान में हवाई जहाज और अंतरिक्ष यान में astrionics। बड़े प्रतिष्ठान जैसे कारखाने, पाइपलाइन परिवहन और विद्युत ग्रिड एक साथ नेटवर्क किए गए कई एम्बेडेड सिस्टम पर निर्भर करते हैं। सॉफ्टवेयर अनुकूलन के माध्यम से सामान्यीकृत, एम्बेडेड सिस्टम जैसे निर्देशयोग्य तर्क नियंत्रक अक्सर अपनी कार्यात्मक इकाइयों को शामिल करते हैं।

एंबेडेड सिस्टम जटिलता में कम से लेकर, एकल माइक्रोकंट्रोलर चिप के साथ, कई इकाइयों, बाह्य उपकरणों और नेटवर्क के साथ बहुत अधिक होते हैं, जो उपकरण रैक में या लंबी दूरी की संचार लाइनों के माध्यम से जुड़े बड़े भौगोलिक क्षेत्रों में रह सकते हैं।

पृष्ठभूमि
माइक्रोप्रोसेसर और माइक्रोकंट्रोलर की उत्पत्ति MOS एकीकृत परिपथ में देखी जा सकती है, जो MOSFETs (मेटल-ऑक्साइड-सेमीकंडक्टर फील्ड-इफेक्ट ट्रांजिस्टर) से एमओएस एकीकृत सर्किट चिप अर्धचालक उपकरण निर्माण है और इसे 1960 के दशक की शुरुआत में विकसित किया गया था। 1964 तक, एमओएस चिप्स द्विध्रुवी जंक्शन ट्रांजिस्टर चिप्स की तुलना में उच्च ट्रांजिस्टर घनत्व और कम निर्माण लागत तक पहुंच गए थे। मूर के कानून द्वारा अनुमानित दर पर एमओएस चिप्स जटिलता में और बढ़ गए, जिससे 1960 के दशक के अंत तक एक एकल एमओएस चिप पर सैकड़ों ट्रांजिस्टर के साथ बड़े पैमाने पर एकीकरण (एलएसआई) हो गया। कम्प्यूटिंग के लिए MOS LSI चिप्स का अनुप्रयोग पहले माइक्रोप्रोसेसरों का आधार था, क्योंकि इंजीनियरों ने यह पहचानना शुरू कर दिया था कि एक पूर्ण कंप्यूटर प्रोसेसर सिस्टम कई MOS LSI चिप्स पर समाहित हो सकता है। पहला मल्टी-चिप माइक्रोप्रोसेसर, 1969 में चार-चरण प्रणाली AL1 और 1970 में Garrett AiResearch MP944, कई MOS LSI चिप्स के साथ विकसित किए गए थे। पहला सिंगल-चिप माइक्रोप्रोसेसर इंटेल 4004 था, जिसे 1971 में जारी किया गया था। इसे फेडेरिको फागिन द्वारा अपनी सिलिकॉन गेट एमओएस तकनीक का उपयोग करके विकसित किया गया था, साथ में इंटेल इंजीनियर मार्सियन हॉफ और अपार्टमेंट मेज़र, और बुसिकॉम इंजीनियर मासाटोशी द्वीप

विकास
पहचानने योग्य सबसे पहले आधुनिक एम्बेडेड सिस्टम में से एक अपोलो गाइडेंस कंप्यूटर था, विकसित सीए। 1965 एमआईटी इंस्ट्रुमेंटेशन प्रयोगशाला में चार्ल्स स्टार्क ड्रेपर द्वारा। परियोजना की शुरुआत में, अपोलो मार्गदर्शन कंप्यूटर को अपोलो परियोजना में सबसे जोखिम भरा आइटम माना जाता था क्योंकि इसने कंप्यूटर के आकार और वजन को कम करने के लिए तत्कालीन नव विकसित अखंड एकीकृत सर्किट को नियोजित किया था।

1961 में रिलीज़ हुई Minuteman (मिसाइल) के लिए एक प्रारंभिक बड़े पैमाने पर निर्मित एम्बेडेड सिस्टम D-17B|Autonetics D-17 मार्गदर्शन कंप्यूटर था। जब Minuteman II 1966 में उत्पादन में चला गया, तो D-17 को एक नए कंप्यूटर से बदल दिया गया। जो एकीकृत परिपथों के पहले उच्च मात्रा के उपयोग का प्रतिनिधित्व करता है।

1960 के दशक में इन शुरुआती अनुप्रयोगों के बाद से, एम्बेडेड सिस्टम की कीमत में कमी आई है और प्रसंस्करण शक्ति और कार्यक्षमता में नाटकीय वृद्धि हुई है। एक प्रारंभिक माइक्रोप्रोसेसर, इंटेल 4004 (1971 में जारी), कैलकुलेटर और अन्य छोटी प्रणालियों के लिए डिज़ाइन किया गया था, लेकिन अभी भी बाहरी मेमोरी और सपोर्ट चिप्स की आवश्यकता थी। 1980 के दशक के प्रारंभ तक, मेमोरी, इनपुट और आउटपुट सिस्टम घटकों को एक ही चिप में एकीकृत किया गया था, जिसमें प्रोसेसर एक माइक्रोकंट्रोलर बना रहा था। माइक्रोकंट्रोलर्स ऐसे एप्लिकेशन ढूंढते हैं जहां एक सामान्य-उद्देश्य वाला कंप्यूटर बहुत महंगा होगा। जैसे-जैसे माइक्रोप्रोसेसरों और माइक्रोकंट्रोलर्स की लागत गिरती गई, एम्बेडेड सिस्टम का प्रचलन बढ़ता गया।

आज, तुलनात्मक रूप से कम लागत वाले माइक्रोकंट्रोलर को बड़ी संख्या में अलग-अलग घटकों के समान भूमिका निभाने के लिए प्रोग्राम किया जा सकता है। माइक्रोकंट्रोलर्स के साथ, उपभोक्ता उत्पादों में महंगे नॉब-आधारित एनालॉग इलेक्ट्रॉनिक्स घटकों जैसे कि तनाव नापने का यंत्र और परिवर्तनीय संधारित्र को अप/डाउन बटन या माइक्रोप्रोसेसर द्वारा पढ़े जाने वाले नॉब के साथ बदलना संभव हो गया। हालांकि इस संदर्भ में एक एम्बेडेड सिस्टम पारंपरिक समाधान की तुलना में आमतौर पर अधिक जटिल होता है, अधिकांश जटिलता माइक्रोकंट्रोलर के भीतर ही निहित होती है। बहुत कम अतिरिक्त घटकों की आवश्यकता हो सकती है और अधिकांश डिज़ाइन प्रयास सॉफ़्टवेयर में हैं। सॉफ्टवेयर प्रोटोटाइप और परीक्षण एक एम्बेडेड प्रोसेसर का उपयोग नहीं करने वाले नए सर्किट के डिजाइन और निर्माण की तुलना में तेज हो सकता है।

अनुप्रयोग
एंबेडेड सिस्टम आमतौर पर उपभोक्ता, औद्योगिक, ऑटोमोटिव उद्योग, घरेलू उपकरणों, चिकित्सा, दूरसंचार, वाणिज्यिक, एयरोस्पेस और सैन्य अनुप्रयोगों में पाए जाते हैं।

दूरसंचार प्रणालियाँ नेटवर्क के लिए टेलीफोन स्विच से लेकर अंतिम उपयोगकर्ता के मोबाइल फोन तक कई एम्बेडेड सिस्टम का उपयोग करती हैं। कंप्यूटर नेटवर्किंग डेटा को रूट करने के लिए समर्पित राउटर (कंप्यूटिंग) और नेटवर्क ब्रिज का उपयोग करती है।

उपभोक्ता इलेक्ट्रॉनिक्स में एमपी3 प्लेयर, टेलिविजन सेट, मोबाइल फोन, विडियो गेम कंसोल, डिजिटल कैमरा, ग्लोबल पोजिशनिंग सिस्टम रिसीवर और संगणक मुद्रक शामिल हैं। माइक्रोवेव ओवन, वाशिंग मशीन और डिशवाशर जैसे घरेलू उपकरणों में लचीलापन, दक्षता और सुविधाएँ प्रदान करने के लिए एम्बेडेड सिस्टम शामिल हैं। उन्नत हीटिंग, वेंटिलेशन और एयर कंडीशनिंग (HVAC) सिस्टम नेटवर्क थर्मोस्टेट्स का उपयोग अधिक सटीक और कुशलता से तापमान को नियंत्रित करने के लिए करते हैं जो दिन और मौसम के अनुसार बदल सकते हैं। गृह स्वचालन वायर्ड- और वायरलेस-नेटवर्किंग का उपयोग करता है जिसका उपयोग रोशनी, जलवायु, सुरक्षा, ऑडियो/दृश्य, निगरानी इत्यादि को नियंत्रित करने के लिए किया जा सकता है, जिनमें से सभी संवेदन और नियंत्रण के लिए एम्बेडेड डिवाइस का उपयोग करते हैं।

उड़ान से ऑटोमोबाइल तक परिवहन प्रणालियाँ तेजी से एम्बेडेड सिस्टम का उपयोग करती हैं। नए हवाई जहाजों में उन्नत एविओनिक्स जैसे कि जड़त्वीय मार्गदर्शन प्रणाली और ग्लोबल पोजिशनिंग सिस्टम रिसीवर होते हैं जिनकी सुरक्षा की भी काफी आवश्यकता होती है। अंतरिक्ष यान प्रक्षेपवक्र सुधार के लिए एस्ट्रियोनिक्स सिस्टम पर भरोसा करते हैं। विभिन्न इलेक्ट्रिक मोटर्स - ब्रशलेस [[डीसी यंत्र]]्स, इंडक्शन मोटर्स और डीसी मोटर्स - इलेक्ट्रॉनिक मोटर नियंत्रकों का उपयोग करते हैं। ऑटोमोबाइल, विद्युतीय वाहन और हाइब्रिड वाहन दक्षता को अधिकतम करने और प्रदूषण को कम करने के लिए तेजी से एम्बेडेड सिस्टम का उपयोग करते हैं। एम्बेडेड सिस्टम का उपयोग करने वाली अन्य ऑटोमोटिव सुरक्षा प्रणालियों में लॉक - रोधी ब्रेकिंग प्रणाली (ABS), इलेक्ट्रॉनिक स्थिरता नियंत्रण (ESC/ESP), कर्षण नियंत्रण प्रणाली (TCS) और स्वचालित चार-पहिया ड्राइव शामिल हैं।

चिकित्सा उपकरण मॉनिटरिंग (दवा), और विभिन्न चिकित्सा इमेजिंग (पोजीट्रान एमिशन टोमोग्राफी (PET), एकल-फोटॉन उत्सर्जन [[परिकलित टोमोग्राफी]] (SPECT), कंप्यूटेड टोमोग्राफी (CT), और नॉन-इनवेसिव के लिए चुंबकीय अनुनाद इमेजिंग (MRI) के लिए एम्बेडेड सिस्टम का उपयोग करता है। आंतरिक निरीक्षण चिकित्सा उपकरणों के भीतर एम्बेडेड सिस्टम अक्सर औद्योगिक कंप्यूटरों द्वारा संचालित होते हैं। एंबेडेड सिस्टम का उपयोग एयरोस्पेस और रक्षा उद्योगों में सुरक्षा-महत्वपूर्ण प्रणालियों के लिए किया जाता है। जब तक ऑन-चिप 3जी सेलुलर या IoT निगरानी और नियंत्रण उद्देश्यों के लिए अन्य तरीकों के माध्यम से वायर्ड या वायरलेस नेटवर्क से कनेक्ट नहीं किया जाता है, तब तक इन प्रणालियों को हैकिंग से अलग किया जा सकता है और इस प्रकार अधिक सुरक्षित हो सकता है। अग्नि सुरक्षा के लिए, सिस्टम को उच्च तापमान को संभालने और संचालन जारी रखने की अधिक क्षमता रखने के लिए डिज़ाइन किया जा सकता है। सुरक्षा से निपटने में, एम्बेडेड सिस्टम आत्मनिर्भर हो सकते हैं और कट इलेक्ट्रिकल और संचार प्रणालियों से निपटने में सक्षम हो सकते हैं।

मोठे (सेंसर) कहे जाने वाले लघु वायरलेस डिवाइस नेटवर्क वाले वायरलेस सेंसर हैं। वायरलेस सेंसर नेटवर्किंग उन्नत एकीकृत सर्किट (आईसी) डिजाइन द्वारा पूर्ण वायरलेस सबसिस्टम को परिष्कृत सेंसर से जोड़े जाने के लिए लघुकरण का उपयोग संभव बनाता है, जिससे लोगों और कंपनियों को भौतिक दुनिया में असंख्य चीजों को मापने और निगरानी और नियंत्रण प्रणाली के माध्यम से इस जानकारी पर कार्य करने में सक्षम बनाता है।. ये मोट्स पूरी तरह से स्व-निहित हैं और आमतौर पर बैटरी को बदलने या चार्ज करने की आवश्यकता से पहले वर्षों तक बैटरी स्रोत बंद रहेंगे।

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

एंबेडेड सिस्टम हमेशा स्टैंडअलोन डिवाइस नहीं होते हैं। कई एम्बेडेड सिस्टम में एक बड़े उपकरण के भीतर छोटे हिस्से होते हैं जो अधिक सामान्य उद्देश्य को पूरा करता है। उदाहरण के लिए, गिब्सन रोबोट गिटार में तारों को ट्यून करने के लिए एक एम्बेडेड सिस्टम है, लेकिन रोबोट गिटार का समग्र उद्देश्य संगीत बजाना है। इसी तरह, एक ऑटोमोबाइल में एक एम्बेडेड सिस्टम कार के सबसिस्टम के रूप में एक विशिष्ट कार्य प्रदान करता है।

एम्बेडेड सिस्टम के लिए लिखे गए प्रोग्राम निर्देश फर्मवेयर के रूप में संदर्भित होते हैं, और रीड-ओनली मेमोरी या फ्लैश मेमोरी चिप्स में संग्रहीत होते हैं। वे सीमित कंप्यूटर हार्डवेयर संसाधनों के साथ चलते हैं: कम मेमोरी, छोटा या गैर-मौजूद कीबोर्ड या स्क्रीन।

यूजर इंटरफेस
एंबेडेड सिस्टम हेडलेस कंप्यूटर से लेकर आधुनिक कंप्यूटर डेस्कटॉप ऑपरेटिंग सिस्टम के समान जटिल ग्राफिकल यूज़र इंटरफ़ेस तक, केवल एक कार्य के लिए समर्पित सिस्टम में होते हैं। सरल एम्बेडेड डिवाइस एक साधारण मेनू (कंप्यूटिंग) के साथ बटन दबाओ, प्रकाश उत्सर्जक डायोड (एलईडी), ग्राफिक या कैरेक्टर लिक्विड क्रिस्टल डिस्प्ले (एलसीडी) का उपयोग करते हैं। अधिक परिष्कृत उपकरण जो टच स्क्रीन या स्क्रीन-एज सॉफ्ट कुंजियों के साथ एक ग्राफिकल स्क्रीन का उपयोग करते हैं, उपयोग किए गए स्थान को कम करते हुए लचीलापन प्रदान करते हैं: बटन का अर्थ स्क्रीन के साथ बदल सकता है, और चयन में वांछित की ओर इशारा करने का प्राकृतिक व्यवहार शामिल है।

कुछ सिस्टम सीरियल (जैसे RS-232) या नेटवर्क (जैसे ईथरनेट) कनेक्शन की मदद से दूरस्थ रूप से यूजर इंटरफेस प्रदान करते हैं। यह दृष्टिकोण एम्बेडेड सिस्टम की क्षमताओं को बढ़ाता है, डिस्प्ले की लागत से बचाता है, बोर्ड समर्थन पैकेज (बीएसपी) को सरल करता है और डिजाइनरों को पीसी पर एक समृद्ध यूजर इंटरफेस बनाने की अनुमति देता है। इसका एक अच्छा उदाहरण एम्बेडेड डिवाइस (जैसे आईपी कैमरा या राउटर (कंप्यूटिंग)) पर चलने वाले एम्बेडेड HTTP सर्वर का संयोजन है। यूजर इंटरफेस डिवाइस से जुड़े पीसी पर वेब ब्राउजर में प्रदर्शित होता है।

एम्बेडेड सिस्टम में प्रोसेसर
सामान्य-उद्देश्य वाले समकक्षों की तुलना में विशिष्ट एम्बेडेड कंप्यूटरों के गुणों के उदाहरण हैं, कम बिजली की खपत, छोटे आकार, ऊबड़-खाबड़ ऑपरेटिंग रेंज और कम प्रति-यूनिट लागत। यह सीमित प्रसंस्करण संसाधनों की कीमत पर आता है।

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

तैयार-निर्मित कंप्यूटर बोर्ड
पीसी/104 और पीसी/104+ तैयार-निर्मित कंप्यूटर बोर्डों के मानकों के उदाहरण हैं, जो छोटे, कम मात्रा वाले एम्बेडेड और मजबूत सिस्टम के लिए अभिप्रेत हैं। ये ज्यादातर x86-आधारित हैं और अक्सर एक मानक पीसी की तुलना में शारीरिक रूप से छोटे होते हैं, हालांकि अभी भी सबसे सरल (8/16-बिट) एम्बेडेड सिस्टम की तुलना में काफी बड़े हैं। वे DOS, Linux, NetBSD, या एक एम्बेडेड रीयल-टाइम ऑपरेटिंग सिस्टम (RTOS) जैसे कि MicroC/OS-II, QNX या VxWorks का उपयोग कर सकते हैं।

कुछ अनुप्रयोगों में, जहां छोटे आकार या बिजली दक्षता प्राथमिक चिंताएं नहीं हैं, उपयोग किए जाने वाले घटक सामान्य-उद्देश्य वाले x86 व्यक्तिगत कंप्यूटरों में उपयोग किए जाने वाले घटकों के साथ संगत हो सकते हैं। वीआईए ईपीआईए रेंज जैसे बोर्ड पीसी-संगत लेकिन अत्यधिक एकीकृत, शारीरिक रूप से छोटे या एम्बेडेड इंजीनियरों के लिए उन्हें आकर्षक बनाने वाली अन्य विशेषताओं के द्वारा अंतर को पाटने में मदद करते हैं। इस दृष्टिकोण का लाभ यह है कि सामान्य सॉफ़्टवेयर विकास के लिए उपयोग किए जाने वाले समान सॉफ़्टवेयर डेवलपमेंट टूल के साथ कम लागत वाले कमोडिटी घटकों का उपयोग किया जा सकता है। इस तरह से निर्मित सिस्टम को अभी भी एम्बेडेड माना जाता है क्योंकि वे बड़े उपकरणों में एकीकृत होते हैं और एक ही भूमिका को पूरा करते हैं। इस दृष्टिकोण को अपनाने वाले उपकरणों के उदाहरण स्वचालित टेलर मशीन (एटीएम) और आर्केड मशीनें हैं, जिनमें एप्लिकेशन के लिए विशिष्ट कोड होते हैं।

हालांकि, अधिकांश रेडी-मेड एम्बेडेड सिस्टम बोर्ड पीसी-केंद्रित नहीं होते हैं और उद्योग मानक वास्तुकला या परिधीय घटक इंटरकनेक्ट बसों का उपयोग नहीं करते हैं। जब सिस्टम-ऑन-अ-चिप प्रोसेसर शामिल होता है, तो असतत घटकों को जोड़ने वाली एक मानकीकृत बस होने से बहुत कम लाभ हो सकता है, और हार्डवेयर और सॉफ्टवेयर उपकरण दोनों के लिए वातावरण बहुत भिन्न हो सकता है।

एक सामान्य डिजाइन शैली एक छोटे सिस्टम मॉड्यूल का उपयोग करती है, शायद एक व्यवसाय कार्ड का आकार, उच्च घनत्व गेंद जाल सरणी चिप्स जैसे एआरएम वास्तुकला-आधारित सिस्टम-ऑन-ए-चिप प्रोसेसर और पेरिफेरल्स, भंडारण के लिए बाहरी फ्लैश मेमोरी, और रनटाइम मेमोरी के लिए डायनेमिक रैंडम एक्सेस मेमोरी। मॉड्यूल विक्रेता आमतौर पर बूट सॉफ़्टवेयर प्रदान करेगा और सुनिश्चित करेगा कि ऑपरेटिंग सिस्टम का चयन है, आमतौर पर लिनक्स और कुछ रीयल-टाइम विकल्पों सहित। इन मॉड्यूलों को उनके विशेष परीक्षण मुद्दों से परिचित संगठनों द्वारा उच्च मात्रा में निर्मित किया जा सकता है, और एप्लिकेशन-विशिष्ट बाह्य बाह्य उपकरणों के साथ बहुत कम वॉल्यूम कस्टम मेनबोर्ड के साथ जोड़ा जा सकता है। इस दृष्टिकोण के प्रमुख उदाहरणों में Arduino और Raspberry Pi शामिल हैं।

ASIC और FPGA SoC समाधान
चिप पर एक सिस्टम (SoC) में एक पूरा सिस्टम होता है - जिसमें कई प्रोसेसर, मल्टीप्लायर, कैश, यहां तक ​​​​कि विभिन्न प्रकार की मेमोरी और आमतौर पर विभिन्न बाह्य उपकरणों जैसे एक चिप पर वायर्ड या वायरलेस संचार के लिए इंटरफेस होते हैं। अक्सर ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) और डीएसपी में ऐसे चिप्स शामिल होते हैं। SoCs को एक एप्लिकेशन-विशिष्ट एकीकृत सर्किट (ASIC) के रूप में या क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला (FPGA) का उपयोग करके लागू किया जा सकता है जिसे आमतौर पर पुन: कॉन्फ़िगर किया जा सकता है।

मोबाइल फोन और स्मार्टफोन जैसे बहुत अधिक मात्रा वाले एम्बेडेड सिस्टम के लिए एएसआईसी कार्यान्वयन आम हैं। एएसआईसी या एफपीजीए कार्यान्वयन का उपयोग एवियोनिक्स की तरह सिग्नल प्रोसेसिंग प्रदर्शन, इंटरफेस और विश्वसनीयता के प्रकार में विशेष जरूरतों के साथ इतनी अधिक मात्रा वाले एम्बेडेड सिस्टम के लिए नहीं किया जा सकता है।

बाह्य उपकरणों
एंबेडेड सिस्टम बाह्य दुनिया के साथ बाह्य उपकरणों के माध्यम से बात करते हैं, जैसे:
 * सीरियल संचार इंटरफ़ेस (SCI): RS-232, RS-422, RS-485, आदि।
 * तुल्यकालिक सीरियल इंटरफ़ेस: I2C, सीरियल पेरिफेरल इंटरफेस बस, एसएससी और ईएसएसआई (उन्नत सिंक्रोनस सीरियल इंटरफ़ेस)
 * यूनिवर्सल सीरियल बस (USB)
 * मीडिया कार्ड (एसडी कार्ड, कॉम्पैक्ट फ़्लैश, आदि)
 * नेटवर्क इंटरफ़ेस नियंत्रक: ईथरनेट, वाईफाई, आदि।
 * फील्डबस: कैन बस, स्थानीय इंटरकनेक्ट नेटवर्क | लिन-बस, प्रोफिबस, आदि।
 * टाइमर: चरण बंद लूप, प्रोग्राम करने योग्य अंतराल टाइमर
 * सामान्य प्रयोजन इनपुट/आउटपुट (GPIO)
 * एनॉलॉग से डिजिटल परिवर्तित करने वाला उपकरण|एनालॉग-टू-डिजिटल और डिज़िटल से एनालॉग कन्वर्टर
 * डिबगिंग: JTAG, इन-सिस्टम प्रोग्रामिंग, पृष्ठभूमि डिबग मोड इंटरफ़ेस पोर्ट, BITP और DB9 पोर्ट।

उपकरण
अन्य सॉफ़्टवेयर की तरह, एम्बेडेड सिस्टम डिज़ाइनर एम्बेडेड सिस्टम सॉफ़्टवेयर विकसित करने के लिए संकलक्स, असेंबली भाषा और डिबगर्स का उपयोग करते हैं। हालाँकि, वे अधिक विशिष्ट उपकरणों का भी उपयोग कर सकते हैं:
 * सर्किट डिबगर्स या एमुलेटर में (#Debugging देखें)।
 * एक कार्यक्रम में चेकसम या चक्रीय अतिरेक जाँच जोड़ने के लिए उपयोगिताएँ, ताकि एम्बेडेड सिस्टम जाँच सके कि कार्यक्रम वैध है या नहीं।
 * अंकीय संकेत प्रक्रिया का उपयोग करने वाले सिस्टम के लिए, डेवलपर्स गणित का अनुकरण करने के लिए एक कम्प्यूटेशनल नोटबुक का उपयोग कर सकते हैं।
 * सिस्टम-स्तरीय मॉडलिंग और सिमुलेशन उपकरण डिजाइनरों को प्रोसेसर, यादें, प्रत्यक्ष मेमोरी एक्सेस, इंटरफ़ेस (कंप्यूटिंग) एस, बसों और सॉफ़्टवेयर व्यवहार प्रवाह जैसे हार्डवेयर घटकों के साथ सिस्टम के सिमुलेशन मॉडल बनाने में मदद करते हैं, जो राज्य आरेख या प्रवाह आरेख के रूप में कॉन्फ़िगर करने योग्य होते हैं। पुस्तकालय ब्लॉक। शक्ति बनाम प्रदर्शन व्यापार-नापसंद, विश्वसनीयता विश्लेषण और अड़चन विश्लेषण करके सही घटकों का चयन करने के लिए सिमुलेशन आयोजित किया जाता है। विशिष्ट रिपोर्ट जो डिज़ाइनर को आर्किटेक्चर निर्णय लेने में मदद करती हैं, उनमें एप्लिकेशन विलंबता, डिवाइस थ्रूपुट, डिवाइस उपयोग, पूर्ण सिस्टम की बिजली खपत के साथ-साथ डिवाइस-स्तरीय बिजली खपत शामिल है।
 * एक मॉडल-आधारित विकास उपकरण डिजिटल फिल्टर, मोटर नियंत्रक, संचार प्रोटोकॉल डिकोडिंग और बहु-दर कार्यों जैसे घटकों के ग्राफिकल डेटा प्रवाह और यूएमएल राज्य चार्ट आरेख बनाता है और उनका अनुकरण करता है।
 * विशेष हार्डवेयर को अनुकूलित करने के लिए कस्टम कंपाइलर और लिंकर्स का उपयोग किया जा सकता है।
 * एक एम्बेडेड सिस्टम की अपनी विशेष भाषा या डिज़ाइन टूल हो सकता है, या फोर्थ (प्रोग्रामिंग भाषा) या बेसिक स्टाम्प जैसी मौजूदा भाषा में वृद्धि जोड़ सकता है।
 * एक अन्य विकल्प आरटीओएस या एम्बेडेड ऑपरेटिंग सिस्टम को जोड़ना है
 * मॉडलिंग और कोड जनरेटिंग यूएमएल उपकरण अक्सर यूएमएल राज्य मशीन पर आधारित होता है

सॉफ़्टवेयर टूल कई स्रोतों से आ सकते हैं:
 * सॉफ्टवेयर कंपनियां जो एम्बेडेड मार्केट में विशेषज्ञ हैं
 * GNU सॉफ्टवेयर डेवलपमेंट टूल्स से पोर्ट किया गया
 * कभी-कभी, व्यक्तिगत कंप्यूटर के लिए विकास उपकरण का उपयोग किया जा सकता है यदि एम्बेडेड प्रोसेसर एक सामान्य पीसी प्रोसेसर के निकट संबंधी है

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

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

सबसे सरल से सबसे परिष्कृत डिबगिंग तकनीकों और प्रणालियों को मोटे तौर पर निम्नलिखित क्षेत्रों में समूहीकृत किया जाना चाहिए:
 * एम्बेडेड ऑपरेटिंग सिस्टम (जैसे फोर्थ और बेसिक) द्वारा प्रदान किए गए सरल शेल का उपयोग करके इंटरएक्टिव रेजिडेंट डिबगिंग
 * केवल-सॉफ़्टवेयर डिबगर्स के पास यह लाभ है कि उन्हें किसी हार्डवेयर संशोधन की आवश्यकता नहीं होती है, लेकिन समय और संग्रहण स्थान को बचाने के लिए उन्हें सावधानीपूर्वक नियंत्रित करना पड़ता है कि वे क्या रिकॉर्ड करते हैं।
 * बाहरी डिबगिंग लॉगिंग या सीरियल पोर्ट आउटपुट का उपयोग करके या तो फ्लैश में मॉनिटर का उपयोग करके या उपाय डीबगर जैसे डिबग सर्वर का उपयोग करके ऑपरेशन का पता लगाने के लिए जो विषम मल्टी-कोर प्रोसेसर सिस्टम के लिए भी काम करता है।
 * एक इन-सर्किट डिबगर (ICD), एक हार्डवेयर डिवाइस जो JTAG या Nexus (मानक) इंटरफ़ेस के माध्यम से माइक्रोप्रोसेसर से जुड़ता है। यह माइक्रोप्रोसेसर के संचालन को बाहरी रूप से नियंत्रित करने की अनुमति देता है, लेकिन आमतौर पर प्रोसेसर में विशिष्ट डिबगिंग क्षमताओं तक ही सीमित है।
 * एक इन-सर्किट एमुलेटर (आईसीई) माइक्रोप्रोसेसर को सिम्युलेटेड समकक्ष के साथ बदल देता है, माइक्रोप्रोसेसर के सभी पहलुओं पर पूर्ण नियंत्रण प्रदान करता है।
 * एक पूर्ण एमुलेटर हार्डवेयर के सभी पहलुओं का अनुकरण प्रदान करता है, जिससे सभी को नियंत्रित और संशोधित किया जा सकता है, और एक सामान्य पीसी पर डिबगिंग की अनुमति मिलती है। डाउनसाइड खर्च और धीमा संचालन है, कुछ मामलों में अंतिम प्रणाली की तुलना में 100 गुना धीमा है।
 * एसओसी डिजाइनों के लिए, विशिष्ट दृष्टिकोण एफपीजीए प्रोटोटाइप बोर्ड पर डिजाइन को सत्यापित और डिबग करना है। Certus जैसे उपकरण एफपीजीए कार्यान्वयन में जांच डालने के लिए उपयोग किया जाता है जो अवलोकन के लिए संकेत उपलब्ध कराता है। इसका उपयोग तर्क विश्लेषक के समान क्षमताओं के साथ कार्यान्वयन में कई FPGAs में हार्डवेयर, फ़र्मवेयर और सॉफ़्टवेयर इंटरैक्शन को डिबग करने के लिए किया जाता है।

जब तक बाहरी डिबगिंग तक सीमित न हो, प्रोग्रामर आमतौर पर टूल के माध्यम से सॉफ़्टवेयर को लोड और चला सकता है, प्रोसेसर में चल रहे कोड को देख सकता है, और इसके ऑपरेशन को शुरू या बंद कर सकता है। कोड का दृश्य उच्च स्तरीय प्रोग्रामिंग भाषा, विधानसभा कोड या दोनों का मिश्रण हो सकता है।

ट्रेसिंग
रीयल-टाइम ऑपरेटिंग सिस्टम अक्सर ऑपरेटिंग सिस्टम ईवेंट के ट्रेसिंग (सॉफ़्टवेयर) का समर्थन करते हैं। सिस्टम व्यवहार की रिकॉर्डिंग के आधार पर, एक होस्ट पीसी टूल द्वारा एक ग्राफिकल दृश्य प्रस्तुत किया जाता है। ट्रेस रिकॉर्डिंग सॉफ्टवेयर में, RTOS द्वारा, या विशेष ट्रेसिंग हार्डवेयर द्वारा की जा सकती है। RTOS अनुरेखण डेवलपर्स को सॉफ़्टवेयर सिस्टम के समय और प्रदर्शन के मुद्दों को समझने की अनुमति देता है और उच्च-स्तरीय सिस्टम व्यवहारों की अच्छी समझ देता है। एम्बेडेड सिस्टम में ट्रेस रिकॉर्डिंग हार्डवेयर या सॉफ्टवेयर समाधानों का उपयोग करके प्राप्त की जा सकती है। सॉफ़्टवेयर-आधारित ट्रेस रिकॉर्डिंग के लिए विशेष डिबगिंग हार्डवेयर की आवश्यकता नहीं होती है और इसका उपयोग तैनात उपकरणों में निशान रिकॉर्ड करने के लिए किया जा सकता है, लेकिन इसका CPU और RAM उपयोग पर प्रभाव पड़ सकता है। आरटीओएस वातावरण में उपयोग किए जाने वाले सॉफ़्टवेयर-आधारित अनुरेखण पद्धति का एक उदाहरण खाली मैक्रो (कंप्यूटर विज्ञान) का उपयोग है, जिसे ऑपरेटिंग सिस्टम द्वारा कोड में रणनीतिक स्थानों पर लागू किया जाता है, और हुकिंग के रूप में कार्य करने के लिए लागू किया जा सकता है।

विश्वसनीयता
एंबेडेड सिस्टम अक्सर उन मशीनों में रहते हैं जिनके बिना त्रुटि के वर्षों तक लगातार चलने की उम्मीद होती है, और कुछ मामलों में त्रुटि होने पर खुद को ठीक कर लेते हैं। इसलिए, सॉफ्टवेयर आमतौर पर व्यक्तिगत कंप्यूटरों की तुलना में अधिक सावधानी से विकसित और परीक्षण किया जाता है, और डिस्क ड्राइव, स्विच या बटन जैसे अविश्वसनीय यांत्रिक चलती भागों से बचा जाता है।

विशिष्ट विश्वसनीयता मुद्दों में शामिल हो सकते हैं:
 * सिस्टम को मरम्मत के लिए सुरक्षित रूप से बंद नहीं किया जा सकता है, या यह मरम्मत के लिए बहुत दुर्गम है। उदाहरणों में स्पेस सिस्टम, अंडरसी केबल, नेविगेशनल बीकन, बोर-होल सिस्टम और ऑटोमोबाइल शामिल हैं।
 * सुरक्षा कारणों से सिस्टम को चालू रखना चाहिए। विफलता की स्थिति में कम कार्यक्षमता असहनीय हो सकती है। अक्सर बैकअप एक ऑपरेटर द्वारा चुने जाते हैं। उदाहरणों में विमान नेविगेशन, रिएक्टर नियंत्रण प्रणाली, सुरक्षा-महत्वपूर्ण रासायनिक फैक्ट्री नियंत्रण, ट्रेन सिग्नल शामिल हैं।
 * बंद होने पर सिस्टम बड़ी मात्रा में धन खो देगा: टेलीफोन स्विच, फैक्ट्री नियंत्रण, पुल और लिफ्ट नियंत्रण, धन हस्तांतरण और बाजार निर्माण, स्वचालित बिक्री और सेवा।

त्रुटियों से पुनर्प्राप्त करने के लिए कई प्रकार की तकनीकों का उपयोग किया जाता है, कभी-कभी संयोजन में, दोनों सॉफ़्टवेयर बग जैसे स्मृति रिसाव और हार्डवेयर में सॉफ्ट त्रुटियाँ:
 * वॉचडॉग टाइमर जो सिस्टम को रीसेट और पुनरारंभ करता है जब तक कि सॉफ़्टवेयर समय-समय पर वॉचडॉग सबसिस्टम को सूचित न करे
 * एक विश्वसनीय कंप्यूटिंग बेस (टीसीबी) आर्किटेक्चर के साथ डिजाइनिंग एक अत्यधिक सुरक्षित और विश्वसनीय सिस्टम वातावरण सुनिश्चित करता है
 * एम्बेडेड सिस्टम के लिए डिज़ाइन किया गया एक हाइपरविजर किसी भी सबसिस्टम घटक के लिए सुरक्षित इनकैप्सुलेशन प्रदान करने में सक्षम होता है ताकि एक समझौता किया गया सॉफ़्टवेयर घटक अन्य सबसिस्टम, या विशेषाधिकार-स्तर के सिस्टम सॉफ़्टवेयर में हस्तक्षेप न कर सके। यह एनकैप्सुलेशन दोषों को एक सबसिस्टम से दूसरे सबसिस्टम में फैलने से रोकता है, जिससे विश्वसनीयता में सुधार होता है। यह सबसिस्टम को स्वचालित रूप से बंद करने और गलती का पता लगाने पर पुनः आरंभ करने की अनुमति भी दे सकता है।
 * प्रतिरक्षा-जागरूक प्रोग्रामिंग इंजीनियरों को अधिक विश्वसनीय एम्बेडेड सिस्टम कोड बनाने में मदद कर सकती है। MISRA C|MISRA C/C++ जैसे दिशानिर्देश और कोडिंग नियम डेवलपर्स को कई अलग-अलग तरीकों से विश्वसनीय, पोर्टेबल फ़र्मवेयर बनाने में सहायता करना है: आमतौर पर कोडिंग प्रथाओं के खिलाफ सलाह देना या अनिवार्य करना जो रन-टाइम त्रुटियों (मेमोरी लीक, अमान्य) को जन्म दे सकता है। सूचक उपयोग), रन-टाइम चेक और अपवाद हैंडलिंग का उपयोग (श्रेणी/स्वच्छता जांच, विभाजित-दर-शून्य और बफर इंडेक्स वैधता जांच, तर्क जांच में डिफ़ॉल्ट मामले), लूप बाउंडिंग, मानव-पठनीय, अच्छी तरह से टिप्पणी और अच्छी तरह से उत्पादन संरचित कोड, और भाषा की अस्पष्टता से बचना जो संकलक-प्रेरित विसंगतियों या साइड-इफेक्ट्स (अभिव्यक्ति मूल्यांकन आदेश, पुनरावृत्ति, कुछ प्रकार के मैक्रो) को जन्म दे सकती है। इन नियमों को अक्सर कार्यात्मक सत्यापन उद्देश्यों के लिए कोड स्टेटिक प्रोग्राम विश्लेषण या बाध्य मॉडल जांच के संयोजन के साथ प्रयोग किया जा सकता है, और कोड वर्स्ट-केस निष्पादन समय के निर्धारण में भी सहायता करता है।

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

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

एंबेडेड सॉफ्टवेयर आर्किटेक्चर
1978 में नेशनल इलेक्ट्रिकल मैन्युफैक्चरर्स एसोसिएशन ने ICS 3-1978 जारी किया, जो प्रोग्रामेबल माइक्रोकंट्रोलर्स के लिए एक मानक है, लगभग किसी भी कंप्यूटर-आधारित नियंत्रकों सहित, जैसे एकल बोर्ड कंप्यूटर, संख्यात्मक और घटना-आधारित नियंत्रक।

आज आम उपयोग में कई अलग-अलग प्रकार के सॉफ़्टवेयर आर्किटेक्चर हैं।

सरल नियंत्रण पाश
इस डिज़ाइन में, सॉफ़्टवेयर में केवल एक पाश (कंप्यूटिंग) होता है जो इनपुट उपकरणों पर नज़र रखता है। लूप सबरूटीन्स को कॉल करता है, जिनमें से प्रत्येक हार्डवेयर या सॉफ़्टवेयर के एक भाग का प्रबंधन करता है। इसलिए इसे सिंपल कंट्रोल लूप या प्रोग्राम्ड इनपुट-आउटपुट कहा जाता है।

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

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

सहकारी मल्टीटास्किंग
एक सहकारी मल्टीटास्किंग | गैर-प्रीमेप्टिव मल्टीटास्किंग सिस्टम सरल नियंत्रण लूप योजना के समान है, सिवाय इसके कि लूप एक अप्लिकेशन प्रोग्रामिंग अंतरफलक में छिपा हुआ है। प्रोग्रामर कार्यों की एक श्रृंखला को परिभाषित करता है, और प्रत्येक कार्य को "रन" करने के लिए अपना स्वयं का वातावरण मिलता है। (बिना किसी ऑपरेशन के खड़ा है), आदि।

फायदे और नुकसान नियंत्रण पाश के समान हैं, सिवाय इसके कि नया सॉफ़्टवेयर जोड़ना आसान है, केवल एक नया कार्य लिखकर या कतार में जोड़कर।

प्रीमेप्टिव मल्टीटास्किंग या मल्टी-थ्रेडिंग
इस प्रकार की प्रणाली में, टाइमर के आधार पर कार्यों या थ्रेड्स के बीच कोड का एक निम्न-स्तरीय टुकड़ा स्विच होता है (एक रुकावट से जुड़ा हुआ)। यह वह स्तर है जिस पर सिस्टम को आम तौर पर एक ऑपरेटिंग सिस्टम कर्नेल माना जाता है। कितनी कार्यक्षमता की आवश्यकता है, इस पर निर्भर करते हुए, यह वैचारिक रूप से समानांतर में चल रहे कई कार्यों के प्रबंधन की कमोबेश जटिलताओं का परिचय देता है।

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

इन जटिलताओं के कारण, संगठनों के लिए आरटीओएस का उपयोग करना आम बात है, जिससे एप्लिकेशन प्रोग्रामर कम से कम बड़ी प्रणालियों के लिए ऑपरेटिंग सिस्टम सेवाओं के बजाय डिवाइस की कार्यक्षमता पर ध्यान केंद्रित कर सकें; स्मृति आकार, प्रदर्शन, या बैटरी जीवन के संबंध में सीमाओं के कारण छोटी प्रणालियाँ अक्सर एक सामान्य वास्तविक समय प्रणाली से जुड़े ओवरहेड को वहन नहीं कर सकती हैं। आरटीओएस के लिए आवश्यक विकल्प अपने स्वयं के मुद्दों को लाता है, हालांकि, आवेदन विकास प्रक्रिया शुरू करने से पहले चयन किया जाना चाहिए। यह समय डेवलपर्स को वर्तमान आवश्यकताओं के आधार पर अपने डिवाइस के लिए एम्बेडेड ऑपरेटिंग सिस्टम चुनने के लिए मजबूर करता है और इसलिए भविष्य के विकल्पों को काफी हद तक प्रतिबंधित करता है। जैसे-जैसे उत्पाद का जीवन घटता है भविष्य के विकल्पों पर प्रतिबंध एक समस्या बन जाता है। इसके अतिरिक्त, जटिलता का स्तर लगातार बढ़ रहा है क्योंकि सीरियल, यूएसबी, टीसीपी/आईपी, ब्लूटूथ, वायरलेस लैन, ट्रंक रेडियो, मल्टीपल चैनल, डेटा और वॉयस, उन्नत ग्राफिक्स, मल्टीपल स्टेट्स, मल्टीपल थ्रेड्स जैसे वेरिएबल्स को प्रबंधित करने के लिए उपकरणों की आवश्यकता होती है। कई प्रतीक्षा अवस्थाएँ और इसी तरह। ये रुझान आरटीओएस के अलावा एम्बेडेड मिडलवेयर के उत्थान की ओर अग्रसर हैं।

microkernel और एक्सोकर्नेल
एक माइक्रोकर्नेल रीयल-टाइम ओएस से एक तार्किक कदम है। सामान्य व्यवस्था यह है कि ऑपरेटिंग सिस्टम कर्नेल मेमोरी आवंटित करता है और सीपीयू को निष्पादन के विभिन्न थ्रेड्स पर स्विच करता है। उपयोगकर्ता-मोड प्रक्रियाएं प्रमुख कार्यों जैसे फाइल सिस्टम, नेटवर्क इंटरफेस आदि को लागू करती हैं।

सामान्य तौर पर, माइक्रोकर्नेल तब सफल होते हैं जब टास्क स्विचिंग और इंटरटास्क कम्युनिकेशन तेज होता है और जब वे धीमे होते हैं तो विफल हो जाते हैं।

एक्सोकर्नल्स सामान्य सबरूटीन कॉल्स द्वारा कुशलता से संवाद करते हैं। सिस्टम में हार्डवेयर और सभी सॉफ्टवेयर एप्लिकेशन प्रोग्रामर के लिए उपलब्ध और एक्स्टेंसिबल हैं।

अखंड गुठली
इस मामले में, परिष्कृत क्षमताओं वाला एक अपेक्षाकृत बड़ा कर्नेल एम्बेडेड वातावरण के अनुरूप अनुकूलित किया जाता है। यह प्रोग्रामर्स को लिनक्स या माइक्रोसॉफ़्ट विंडोज़ जैसे डेस्कटॉप ऑपरेटिंग सिस्टम के समान वातावरण देता है, और इसलिए विकास के लिए बहुत उत्पादक है; नकारात्मक पक्ष में, इसके लिए काफी अधिक हार्डवेयर संसाधनों की आवश्यकता होती है, जो अक्सर अधिक महंगा होता है, और, इन गुठली की जटिलता के कारण, कम अनुमानित और विश्वसनीय हो सकता है।

एम्बेडेड मोनोलिथिक कर्नेल के सामान्य उदाहरण एम्बेडेड लिनक्स, वीएक्सवर्क्स और विंडोज सीई हैं।

हार्डवेयर में बढ़ी हुई लागत के बावजूद, इस प्रकार की एम्बेडेड प्रणाली लोकप्रियता में बढ़ रही है, विशेष रूप से अधिक शक्तिशाली एम्बेडेड उपकरणों जैसे कि वायरलेस राउटर और ऑटोमोटिव नेविगेशन सिस्टम पर। यहाँ कुछ कारण दिए गए हैं:
 * सामान्य एम्बेडेड चिप सेट के पोर्ट उपलब्ध हैं।
 * वे डिवाइस ड्राइवरों, वेब सर्वर, फ़ायरवॉल (नेटवर्किंग) और अन्य कोड के लिए सार्वजनिक रूप से उपलब्ध कोड के पुन: उपयोग की अनुमति देते हैं।
 * विकास प्रणालियाँ व्यापक फीचर-सेट के साथ शुरू हो सकती हैं, और फिर वितरण को अनावश्यक कार्यक्षमता को बाहर करने के लिए कॉन्फ़िगर किया जा सकता है, और उस मेमोरी के खर्च को बचा सकता है जिसका वह उपभोग करेगा।
 * कई इंजीनियरों का मानना ​​है कि एप्लिकेशन कोड को उपयोगकर्ता मोड में चलाना अधिक विश्वसनीय और डिबग करना आसान है, इस प्रकार विकास प्रक्रिया को आसान बनाता है और कोड को अधिक पोर्टेबल बनाता है।
 * गारंटी से अधिक तेज प्रतिक्रिया की आवश्यकता वाली सुविधाओं को अक्सर प्रोग्रामेबल लॉजिक डिवाइस में रखा जा सकता है।

अतिरिक्त सॉफ्टवेयर घटक
कोर ऑपरेटिंग सिस्टम के अतिरिक्त, कई एम्बेडेड सिस्टम में अतिरिक्त ऊपरी-परत सॉफ़्टवेयर घटक होते हैं। इन घटकों में कंट्रोलर-एरिया नेटवर्क, टीसीपी/आईपी, एफ़टीपी, एचटीटीपी, और HTTPS के जैसे नेटवर्किंग प्रोटोकॉल स्टैक शामिल हैं, और इसमें फ़ाइल आवंटन तालिका और फ्लैश मेमोरी मैनेजमेंट सिस्टम जैसी स्टोरेज क्षमताएं भी शामिल हैं। यदि एम्बेडेड डिवाइस में ऑडियो और वीडियो क्षमताएं हैं, तो उपयुक्त ड्राइवर और कोडेक सिस्टम में मौजूद होंगे। अखंड गुठली के मामले में, इनमें से कई सॉफ्टवेयर परतें शामिल हैं। आरटीओएस श्रेणी में, अतिरिक्त सॉफ्टवेयर घटकों की उपलब्धता व्यावसायिक पेशकश पर निर्भर करती है।

डोमेन-विशिष्ट आर्किटेक्चर
ऑटोमोटिव क्षेत्र में, AUTOSAR एम्बेडेड सॉफ़्टवेयर के लिए एक मानक संरचना है।

यह भी देखें

 * संचार सर्वर
 * साइबर-भौतिक प्रणाली
 * विद्युत नियंत्रण इकाई
 * हाइपरविजर
 * सूचना उपकरण
 * एकीकृत विकास पर्यावरण
 * फोटोनिक रूप से अनुकूलित एंबेडेड माइक्रोप्रोसेसर
 * सिलिकॉन संकलक
 * सॉफ्टवेयर इंजीनियरिंग
 * मॉड्यूल पर सिस्टम
 * सर्वव्यापक कंप्यूटिंग

इस पेज में लापता आंतरिक लिंक की सूची

 * पैमाने की अर्थव्यवस्थाएं
 * हवाई जहाज
 * कारखाना
 * डिजिटल घड़ी
 * फील्ड इफ़ेक्ट ट्रांजिस्टर
 * बस से
 * इंटेल 4004
 * मिनटमैन (मिसाइल)
 * एमआईटी इंस्ट्रूमेंटेशन प्रयोगशाला
 * चुम्बकीय अनुनाद इमेजिंग
 * निगरानी (दवा)
 * मोटर वाहन उद्योग
 * घर स्वचालन
 * चिकित्सकीय संसाधन
 * चार पहियों का गमन
 * सुरक्षा-महत्वपूर्ण प्रणाली
 * मुलायम कुंजी
 * आईपी ​​कैमरा
 * पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट
 * विशिष्ट एकीकृत परिपथ आवेदन
 * एक चिप पर प्रणाली
 * समुच्चय भाषा
 * चक्रीय अतिरेक की जाँच
 * व्यक्तिगत अंकीय सहायक
 * नेक्सस (मानक)
 * एम्यूलेटर
 * अनुरेखण (सॉफ्टवेयर)
 * कोमल त्रुटि
 * मॉडल की जाँच
 * स्थैतिक कार्यक्रम विश्लेषण
 * संदेश पूंछ
 * सेमाफोर (प्रोग्रामिंग)
 * फाइल आवन्टन तालिका

बाहरी संबंध

 * 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, workshop covering educational aspects of embedded systems