सवाल का एक हिस्सा जो अब तक उत्तर नहीं दिया गया है वह माइक्रोकंट्रोलर और माइक्रोप्रोसेसर सिस्टम पर बूटलोडर्स के बीच का अंतर है।
microcontroller
अधिकांश माइक्रोकंट्रोलर्स में अंतर्निहित ROM मेमोरी होती है जिसमें उनका प्रोग्राम कोड होता है। इस कोड को बदलने के लिए आमतौर पर एक प्रोग्रामर डिवाइस की आवश्यकता होती है जो माइक्रोकंट्रोलर के प्रोग्रामिंग इंटरफेस से जुड़ती है (जैसे कि ATMega पर ISP)। लेकिन ये प्रोग्रामिंग इंटरफेस आमतौर पर अन्य इंटरफेस की तुलना में अक्सर उपयोग करने के लिए बहुत सुविधाजनक नहीं होते हैं, क्योंकि वे दिए गए संदर्भ में आसानी से उपलब्ध नहीं हो सकते हैं। उदाहरण के लिए, जबकि लगभग हर कंप्यूटर में USB पोर्ट्स होते हैं, ISP के लिए आवश्यक SPI इंटरफ़ेस बहुत दुर्लभ है, और ATXMega पर उपयोग किए जाने वाले PID इंटरफ़ेस जैसे अन्य इंटरफेस केवल समर्पित प्रोग्रामिंग हार्डवेयर द्वारा समर्थित हैं।
इसलिए, उदाहरण के लिए, यदि आप बिना किसी बाहरी हार्डवेयर के नियमित कंप्यूटर से सॉफ़्टवेयर को अपडेट करना चाहते हैं, तो आप एक बूटलोडर का उपयोग कर सकते हैं जो डिवाइस को प्रोग्राम करने के लिए एक अलग तरह के इंटरफ़ेस (जैसे RS232, USB या RS232 USB पर USB की तरह) से पढ़ता है। आम इंटरफेस पर।
यदि आपको इस कार्यक्षमता की आवश्यकता नहीं है, तो बूटलोडर पूरी तरह से वैकल्पिक है। माइक्रोकंट्रोलर अभी भी बूटलोडर के बिना पूरी तरह से कोड को चला सकता है।
माइक्रोप्रोसेसर
एक माइक्रोप्रोसेसर पर चीजें थोड़ी अलग होती हैं। जबकि अधिकांश माइक्रोप्रोसेसरों में एक ROM है जो एक बूटलोडर के लिए काफी बड़ा है, उन रोम एक पूर्ण ओएस को धारण करने के लिए लगभग पर्याप्त बड़े नहीं हैं। इसलिए बूटलोडर का उद्देश्य हार्डवेयर को इनिशियलाइज़ करना है, बूट करने योग्य ओएस की तलाश करें, इसे लोड करें और इसे चलाएं। इसलिए हर एक बूट के लिए बूटलोडर महत्वपूर्ण है।
X86 / x64 सिस्टम पर यह बूटलोडर या तो BIOS या UEFI (मूल रूप से एक BIOS का नया संस्करण) है।
कभी-कभी आपके पास एक श्रृंखला में कई बूट लोडर भी हो सकते हैं। उदाहरण के लिए यदि आपके पास विंडोज और लिनक्स के साथ एक डुअल-बूट सिस्टम है, तो आप निम्नलिखित के साथ समाप्त हो सकते हैं:
- BIOS / UEFI बूट करता है और GRUB स्थापित पाता है। इसके बाद यह GRUB (= ग्रैंड यूनिफाइड बूटलोडर) लोड करता है
- GRUB कुछ प्रकार के लिनक्स और विंडोज बूटलोडर को ढूंढता है। उपयोगकर्ता विंडोज बूटलोडर का चयन करता है।
- विंडोज बूटलोडर शुरू होता है और विंडोज 7 और विंडोज 10 स्थापित पाया जाता है। उपयोगकर्ता विंडोज 10 का चयन करता है।
- विंडोज 10 अंत में जूते।
तो इस मामले में सॉफ्टवेयर के तीन टुकड़े थे जिन्हें एक बूटलोडर माना जा सकता है। GRUB और विंडोज बूटलोडर दोनों ही ज्यादातर उपयोगकर्ता को BIOS / UEFI की तुलना में अधिक सुविधाजनक बूट चयन विकल्प देने के लिए हैं। यह एक ही हार्ड ड्राइव या एक ही पार्टीशन से कई OS को लॉन्च करने की भी अनुमति देता है।
TLDR
इसलिए दोनों प्रणालियों में रहते हुए बूटलोडर इसी तरह की चीजें करता है (उपयोगकर्ता को बूट करने के लिए किस कोड को चुनने में मदद करता है) वे दोनों बहुत भिन्न होते हैं कि वे कैसे पूरा करते हैं और वे वास्तव में क्या करते हैं।