XDA की एक हाल की विशेषता ने औसत घर के अंदर चुपचाप चल रहे सात ऑपरेटिंग सिस्टम की गणना की, थर्मोस्टेट फर्मवेयर से लेकर राउटर तक स्मार्ट-प्लग कंट्रोलर तक, और लेखक के पास एक बात थी जो अधिकांश डेवलपर नजरअंदाज करते हैं। लैपटॉप और फोन पर OS को सभी प्रेस मिलते हैं; जो घर में बाकी सब कुछ चलाते हैं उन्हें लगभग कोई नहीं मिलता। यदि आप एक स्मार्ट-होम डिवाइस, ESP32 प्रोजेक्ट, या एक शौक राउटर बना रहे हैं, तो नीचे दिए गए सात डेस्कटॉप एम्बेडेड और IoT ऑपरेटिंग सिस्टम लगभग हर वास्तविक वर्कलोड को कवर करते हैं। सभी विकास उपकरण Windows और Linux पर चलते हैं; लक्ष्य डिवाइस कोई भी सिलिकॉन है जिसे आप फ्लैश कर रहे हैं।
एम्बेडेड OS में क्या खोजना है
RTOS में लॉक करने से पहले जवाब देने के योग्य मूल्यांकन प्रश्न:
- सिलिकॉन सपोर्ट। क्या यह MCU परिवार पर चलता है जिसे आप लक्ष्य कर रहे हैं (ESP32, STM32, nRF52, RP2040, RISC-V)?
- मेमोरी पदचिह्न। कुछ 10 KB फ्लैश के तहत शिप किए जाते हैं; अन्य को 256 KB की आवश्यकता होती है।
- नेटवर्किंग स्टैक। Wi-Fi, BLE, Thread, Matter, LoRa और TCP/IP समर्थन व्यापक रूप से भिन्न होता है।
- लाइसेंस। अनुमेय (MIT, BSD, Apache) बनाम copyleft वाणिज्यिक फर्मवेयर के लिए महत्वपूर्ण है।
- टूलचेन एकीकरण। IDE समर्थन, VS Code प्लगइन, PlatformIO एकीकरण।
- समुदाय और दस्तावेज। एक छोटा समुदाय मतलब है कि हर समस्या अद्वितीय है।
- दीर्घकालीन रखरखाव। IoT डिवाइस एक दशक तक चलते हैं; उनके पीछे OS भी करना चाहिए।
त्वरित तुलना
| OS | सर्वश्रेष्ठ के लिए | कर्नेल | लाइसेंस | न्यूनतम फ्लैश | RAM |
|---|---|---|---|---|---|
| FreeRTOS | छोटे MCU, औद्योगिक नियंत्रण | RTOS | MIT | 4 KB | 500 B |
| Zephyr Project | आधुनिक IoT, Matter, Thread | RTOS | Apache 2.0 | 8 KB | 2 KB |
| Contiki-NG | कम शक्ति वायरलेस, LoRa | RTOS | BSD | 30 KB | 10 KB |
| RIOT OS | अकादमिक + शौक IoT | RTOS | LGPL v2.1 | 5 KB | 1.5 KB |
| Mbed OS | Arm Cortex-M, तेजी से प्रोटोटाइपिंग | RTOS | Apache 2.0 | 20 KB | 4 KB |
| NuttX | POSIX-अनुरूप एम्बेडेड | RTOS | Apache 2.0 | 32 KB | 8 KB |
| OpenWrt | राउटर, एज गेटवे | Linux | GPL | 4 MB | 32 MB |
अनुप्रयोग
1. FreeRTOS, सर्वव्यापी कर्नेल
FreeRTOS सबसे अधिक RTOS है जो अधिकांश लोगों के घर में कुछ चल रहे हैं, और वे इसे नहीं जानते। AWS ने 2017 में इसे अधिग्रहित किया और इसका नाम बदलकर FreeRTOS Kernel रखा, फिर AWS IoT एकीकरण को मोड़ दिया। लगभग हर 32-bit MCU पर चलता है जो ध्यान देने योग्य है (ARM Cortex-M, Xtensa, RISC-V) और बहुत सारे 8-bit और 16-bit चिप्स पर।
जहां यह कमजोर पड़ता है: कोई देशी नेटवर्किंग नहीं (अपना स्वयं का स्टैक लाएं, आमतौर पर LwIP)। कर्नेल न्यूनतमवादी है; आप बाकी को इकट्ठा करते हैं।
मूल्य निर्धारण:
- नि: शुल्क: MIT लाइसेंस।
- सशुल्क: AWS-होस्टेड extras (Amazon के माध्यम से FreeRTOS Long Term Support builds) शून्य से शुरू होते हैं और एंटरप्राइज अनुबंधों के लिए स्केल करते हैं।
प्लेटफॉर्म: ARM Cortex-M/-A/-R, ARM7/9, Xtensa, RISC-V, MSP430, AVR और कई अन्य।
निचली पंक्ति: एक छोटे MCU पर किसी भी bare-metal-plus-scheduling प्रोजेक्ट के लिए सुरक्षित डिफ़ॉल्ट।
2. Zephyr Project, आधुनिक IoT विकल्प
Zephyr Linux Foundation का खंडित RTOS स्पेस के लिए उत्तर है। मॉड्यूलर, सक्रिय रूप से विकसित, शुरू से ही Matter, Thread और BLE के लिए प्रथम-वर्ग समर्थन के साथ। डिवाइस ट्री ओवरले पैटर्न एक फर्मवेयर को पांच बोर्ड पर पोर्ट करना एक पुनर्लेखन के बजाय एक कॉन्फ़िगरेशन-फ़ाइल अभ्यास बनाता है।
जहां यह कमजोर पड़ता है: सीखने की वक्र FreeRTOS की तुलना में अधिक है। West (Zephyr का meta-tool) का अपना ergonomics है जिसे आपको आंतरिक करना होगा।
मूल्य निर्धारण:
- नि: शुल्क: Apache 2.0।
प्लेटफॉर्म: ARM Cortex-M/-A/-R, Xtensa, RISC-V, x86, ARC।
निचली पंक्ति: यदि आप 2026 में आधुनिक IoT उत्पाद भेज रहे हैं, तो सही विकल्प, विशेषकर Matter समर्थन के साथ।
3. Contiki-NG, कम शक्ति वायरलेस विशेषज्ञ
Contiki-NG आधुनिक वायरलेस फोकस के साथ क्लासिक Contiki का कांटा है। IPv6, 6LoWPAN, RPL और CoAP बिल्ट इन। यदि आपकी प्रोजेक्ट एक बैटरी-संचालित मेश है (LoRa, 802.15.4), तो Contiki-NG की नेटवर्किंग स्टैक यहां किसी भी अन्य RTOS की तुलना में वास्तव में बेहतर है।
जहां यह कमजोर पड़ता है: Zephyr या FreeRTOS की तुलना में छोटा डेवलपर समुदाय। कम वाणिज्यिक विक्रेता उपकरण।
मूल्य निर्धारण:
- नि: शुल्क: 3-clause BSD।
प्लेटफॉर्म: TI CC26xx, nRF52, नेटिव (सिमुलेशन के लिए)।
डाउनलोड: GitHub
निचली पंक्ति: बैटरी-संचालित मेश सेंसर के लिए सर्वश्रेष्ठ पिक। अन्यथा Zephyr।
4. RIOT OS, अकादमिक-बदले-व्यावहारिक विकल्प
RIOT बर्लिन में एक शोध परियोजना के रूप में शुरू हुआ और एक वास्तविक उत्पादन RTOS में विकसित हुआ। बहुत छोटा फुटप्रिंट (कर्नेल 5 KB में फिट होता है), IPv6/6LoWPAN नेटिव, और API यहां अधिकांश RTOSes की तुलना में मानक POSIX के करीब है। विश्वविद्यालयों में लोकप्रिय, तेजी से वाणिज्यिक IoT में दिखाई दे रहा है।
जहां यह कमजोर पड़ता है: बंद-स्रोत वाणिज्यिक उत्पादों के लिए LGPL v2.1 लाइसेंस महत्वपूर्ण है। भेजने से पहले शर्तें पढ़ें।
मूल्य निर्धारण:
- नि: शुल्क: LGPL v2.1।
प्लेटफॉर्म: ARM Cortex-M, MSP430, AVR, x86, RISC-V, ESP32।
निचली पंक्ति: शौक और खुले स्रोत IoT के लिए ठोस पिक। वाणिज्यिक फर्मवेयर के लिए LGPL निहितार्थों की जाँच करें।
5. Mbed OS, Arm-स्वाद विकल्प
Mbed OS Arm की आधिकारिक RTOS है। Cortex-M सिलिकॉन के लिए सर्वश्रेष्ठ-इन-क्लास समर्थन, Arm Keil MDK और Arm Compiler के साथ सीधा एकीकरण, और विक्रेता-समर्थित ड्राइवरों की एक विशाल लाइब्रेरी। Arm ने 2024 में सक्रिय विकास को स्केल किया, इसलिए गति धीमी हो गई है, लेकिन भेजा गया कोडबेस ठोस है।
जहां यह कमजोर पड़ता है: विकास गति धीमी। Arm के बाहर नई सिलिकॉन परिवारों के लिए भविष्य-सबूत नहीं।
मूल्य निर्धारण:
- नि: शुल्क: Apache 2.0।
प्लेटफॉर्म: ARM Cortex-M।
डाउनलोड: GitHub
निचली पंक्ति: मौजूदा Cortex-M प्रोजेक्ट के लिए ठीक है। 2026 में एक नई प्रोजेक्ट के लिए, Zephyr सुरक्षित दीर्घकालीन शर्त है।
6. NuttX, POSIX-अनुरूप RTOS
NuttX एक POSIX और ANSI-मानक API भेजता है जो आपको लगभग कोई परिवर्तन के साथ Linux-जैसे C कोड को संकलित करने की अनुमति देता है। यदि आप एक छोटा RTOS चाहते हैं जो एक छोटे Linux की तरह लगता है (fork, exec, pthreads, मानक सॉकेट), यह है। Sony Semiconductor इसे अपने कुछ इमेजिंग चिप्स में उपयोग करता है; ArduPilot इसे ड्रोन फ्लाइट कंट्रोलर के लिए उपयोग करता है।
जहां यह कमजोर पड़ता है: FreeRTOS की तुलना में बड़ा फुटप्रिंट। Zephyr की तुलना में कम सिलिकॉन समर्थन मैट्रिक्स।
मूल्य निर्धारण:
- नि: शुल्क: Apache 2.0।
प्लेटफॉर्म: ARM Cortex-M/-A/-R, Xtensa, RISC-V, AVR, MSP430, x86, PIC32।
डाउनलोड: Apache NuttX | GitHub
निचली पंक्ति: यदि आप RTOS चाहते हैं लेकिन इसे Linux की तरह कोड करें तो यह चुनें। ड्रोन समुदाय में लोकप्रिय।
7. OpenWrt, राउटर-और-गेटवे Linux
OpenWrt पर्याप्त RAM वाले एम्बेडेड डिवाइस के लिए एक Linux वितरण है जो एक असली कर्नेल चलाता है, RTOS नहीं। यह राउटर, एज गेटवे, LTE मॉडेम और औद्योगिक कंप्यूटर पर चलता है। यदि आप अपने उपभोक्ता राउटर के स्टॉक फर्मवेयर को बदल रहे हैं या एक स्मार्ट-होम गेटवे बना रहे हैं, तो यह वह है जो शीर्ष पर चलता है।
जहां यह कमजोर पड़ता है: RTOS नहीं। 100-KB से कम फुटप्रिंट के बाजार के निचले सिरे पर प्रतिस्पर्धा नहीं कर सकते।
मूल्य निर्धारण:
- नि: शुल्क: GPL।
प्लेटफॉर्म: MIPS, ARM Cortex-A, x86, RISC-V।
निचली पंक्ति: किसी भी राउटर के लिए डिफ़ॉल्ट अपग्रेड जो आप स्वामित्व रखते हैं, और शौक-स्तर के होम गेटवे के लिए आधार OS।
सही चुनना कैसे करें
- यदि आप छोटे MCU पर वाणिज्यिक उत्पाद भेज रहे हैं, तो Zephyr।
- यदि आप छोटे MCU पर हैं और सबसे छोटा संभावित फुटप्रिंट चाहते हैं, तो FreeRTOS।
- यदि आप कम शक्ति वायरलेस मेश सेंसर लिखते हैं, तो Contiki-NG।
- यदि आप चाहते हैं कि RTOS Linux की तरह लगे, तो NuttX।
- यदि आप पहले से ही Arm की Cortex-M उपकरण में गहरे हैं, तो Mbed OS।
- यदि आप POSIX और अकादमिक-ग्रेड डिजाइन को महत्व देते हैं, तो RIOT।
- यदि डिवाइस में Linux चलाने के लिए पर्याप्त RAM है, तो OpenWrt।
FAQ
एम्बेडेड ऑपरेटिंग सिस्टम क्या है?
एक OS जो एक विशिष्ट डिवाइस के लिए डिज़ाइन किया गया है जिसमें कड़े संसाधन सीमाएं हैं, उपयोगकर्ता-स्थापित ऐप के बजाय एक एकल समर्पित फर्मवेयर चलाती है। आपका थर्मोस्टेट, राउटर और स्मार्ट प्लग प्रत्येक एक चलाते हैं।
RTOS और Linux के बीच क्या अंतर है?
एक RTOS (real-time OS) नियतात्मक समय गारंटी प्रदान करता है और किलोबाइट में चलता है। Linux समृद्ध सुविधाएं प्रदान करता है और मेगाबाइट में चलता है। अपने हार्डवेयर और समय आवश्यकताओं के आधार पर चुनें।
कौन सी RTOS Matter का समर्थन करती है?
Zephyr में Matter समर्थन है और कई Matter प्रमाणपत्र के लिए संदर्भ कार्यान्वयन है। Contiki-NG और OpenThread (FreeRTOS के साथ प्रयोग करने योग्य) भी Matter स्टैक का समर्थन करते हैं।
क्या मैं वाणिज्यिक रूप से FreeRTOS का उपयोग कर सकता हूं?
हाँ। FreeRTOS MIT-लाइसेंस प्राप्त है। इसे लाइसेंस पाठ के अलावा बिना रॉयल्टी या आरोपण दायित्व के वाणिज्यिक उत्पादों में भेजें।
ESP32 पर क्या चलता है?
FreeRTOS डिफ़ॉल्ट है (ESP-IDF इस पर बना है)। Zephyr, NuttX और RIOT के पास ESP32 पोर्ट भी हैं। Arduino Core for ESP32 Arduino API के साथ FreeRTOS को लपेटता है।