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