7 पॉइंट द्वारा GN⁺ 2023-11-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Microsoft ने Express Logic के अधिग्रहण के ज़रिए हासिल किए गए real-time operating system ThreadX को open source के रूप में जारी किया।
  • ThreadX RTOS और इसे शामिल करने वाला Azure RTOS development suite, Eclipse Foundation को दान किया गया है और अब इसे Eclipse ThreadX के नाम से जाना जाएगा, साथ ही यह MIT license के तहत उपलब्ध होगा।
  • Real-time operating system (RTOS) कई तरह के होते हैं, लेकिन ThreadX 1.2 अरब से अधिक devices में इस्तेमाल हो चुका है और Raspberry Pi सहित कई devices में महत्वपूर्ण भूमिका निभाता है।

Raspberry Pi और ThreadX का संबंध

  • ThreadX का उपयोग Intel के chip के अंदर management engine और Raspberry Pi के firmware को चलाने में होता है।
  • Raspberry Pi 1, 2, 3 में इसे bootcode.bin कहा जाता है, और Pi 4 व 400 में start*.elf; यह GitHub और Debian में शामिल है, लेकिन source code सार्वजनिक न होने वाला proprietary "blob" है।
  • यह Raspberry Pi के VideoCore GPU पर चलता है, जबकि Arm core GPU पर निर्भर slave device की तरह काम करता है।

Microsoft द्वारा ThreadX का अधिग्रहण और open source करने का महत्व

  • 2019 में, जब ThreadX ने 21 वर्ष पूरे किए, Microsoft ने Express Logic का अधिग्रहण किया और इसे Azure RTOS के रूप में rebrand किया।
  • यह अधिग्रहण संभवतः AWS द्वारा FreeRTOS के नियंत्रण को अपने हाथ में लेने के जवाब में किया गया कदम था; मूल डेवलपर William Lamie ने नई कंपनी स्थापित की और अब POSIX-compatible threads वाले "fifth-generation" RTOS PX5OS को बेच रहे हैं।
  • ThreadX एक proven product है, और इसके कुछ versions को TÜV Functional Safety certification मिला हुआ है, जो कुछ ग्राहकों के लिए आकर्षक है।

GN⁺ की राय

  • इस लेख की सबसे महत्वपूर्ण बात यह है that Microsoft ने ThreadX RTOS को open source कर दिया है; यह developer community को अधिक अवसर दे सकता है और तकनीकी innovation को बढ़ावा दे सकता है।
  • Open source होने से यह संभावना खुलती है कि Raspberry Pi जैसे devices का software stack पूरी तरह open source बन सके, जिससे यह कई लोगों के लिए और आकर्षक विकल्प बन सकता है।
  • यह बदलाव tech enthusiasts और professionals दोनों के लिए दिलचस्प खबर है, और उम्मीद है कि इसका open source ecosystem की growth और innovation पर सकारात्मक प्रभाव पड़ेगा।

1 टिप्पणियां

 
GN⁺ 2023-11-30
Hacker News की राय
  • "Azure RTOS" वह चीज़ है जिसे Microsoft ने Amazon द्वारा FreeRTOS अधिग्रहित किए जाने के बाद जल्दीबाज़ी में खरीदा था। Bill Lamie ने PX5 शुरू किया और नए lightweight embedded RTOS पर काम के लिए ज़्यादातर प्रतिभा को साथ ले गए। अगर Microsoft यह कदम उठा रहा है, तो यह Azure RTOS और IoT nodes के रोडमैप से बाहर निकलने का संकेत हो सकता है। ThreadX का ecosystem FreeRTOS की तुलना में काफ़ी बड़ा है, और यह Raspberry Pi के अलावा अन्य चीज़ों पर भी चलता है। Renesas अपने SoC खरीदने पर इसे मुफ़्त देता था.
  • safety certification ख़ास तौर पर दिलचस्प है। "safety software" विकसित करने में बहुत काम लगता है। open source होने के साथ safety-certified RTOS होना काफ़ी अच्छी बात है। certification बनाए रखने के लिए कहीं न कहीं निवेश करना पड़ेगा। safety standards को समझना, सही development process बनाना, और software बदलने के साथ उसे बनाए रखना सिर्फ़ code लिखने और चलाने जितना आसान नहीं है। यह वैसा software development नहीं है जिसे hobby के तौर पर किया जा सके। उम्मीद है कि Microsoft उस development effort को fund करेगा। FreeRTOS safety-certified नहीं है, लेकिन SAFERTOS उसी API वाला एक commercial implementation है जिसे safety certification मिली हुई है.
  • जब मैंने ThreadX इस्तेमाल किया था, तो मुझे यह बहुत पसंद आया। इसे "operating system" कहना कुछ उदारता होगी, क्योंकि यह interrupt service routines, thread creation, memory allocation management वगैरह जैसी सुविधाएँ देने वाले functions का एक सेट है। ThreadX बहुत lightweight था और काम करवाने के लिए बढ़िया था। मैंने tx_thread_create, tx_malloc जैसे functions कॉल किए, और queues, semaphores, mutexes आदि का इस्तेमाल किया। ThreadX अब भी ज़िंदा है, यह देखकर अच्छा लगा। मुझे real-time power/fan/thermal control loops चलाने थे, इसलिए यह नियंत्रित कर पाना ज़रूरी था कि कौन-सा काम कब हो, और समस्या का पता चलने के बाद तय समय के भीतर command देकर प्रतिक्रिया करनी हो या system को safe रखना हो.
  • जो लोग यह सोच रहे हैं कि Azure के पास RTOS क्यों है, उनके लिए: Microsoft ने 2019 में Express Logic और उसके ThreadX RTOS का अधिग्रहण किया था। ThreadX का इस्तेमाल resource-constrained microcontrollers में बहुत होता है। cloud से communication करने वाले IoT devices के संदर्भ के अलावा Azure branding का कोई ख़ास मतलब नहीं दिखता.
  • इस समय GitHub पर सिर्फ़ current version है, और VideoCore version का कोई निशान नहीं दिखता। उम्मीद है कि Raspberry Pi Foundation को अपने version के source code जारी करने की अनुमति मिल सकेगी.
  • code अच्छा है, लेकिन मुझे लगता है कि इसे और portable तथा programmer-friendly बनाने के कई तरीके हैं। ख़ास तौर पर port किए गए assembly code वाले हिस्से में। data structures के indexes बदलना मुश्किल है, इसलिए structure बदलना आसान नहीं है। अगर C structure और assembly code indexes sync में न हों, तो system crash हो सकता है। assembly code में indexes को macros बना दिया जाए तो उन्हें बदलना आसान होगा। assembly के लिए header और C code के लिए header बनाकर macros से structure define किए जा सकते हैं। इससे C code और assembly code sync में रहेंगे। कमी बस यह है कि structures को इन्हीं macros से define करना पड़ेगा, लेकिन यह सिर्फ़ उन structures पर लागू होगा जो assembly और C, या उससे ऊँचे स्तर पर इस्तेमाल होते हैं.
  • ThreadX के बारे में सुने हुए काफ़ी समय हो गया। लगभग 20 साल पहले मैंने ThreadX-आधारित product पर काम किया था। वह ऐसा application device था जिसे real-time scheduling या fast boot की ज़रूरत नहीं थी, लेकिन ThreadX चुनने का फ़ैसला मेरी भागीदारी के स्तर से ऊपर लिया गया था। यहाँ तक कि एक अलग "advanced" product भी था, जो embedded Linux चलाता था और जिस पर काम करना आनंददायक था। ThreadX के साथ development, debugging और testing में 2 से 3 गुना ज़्यादा समय लगा। वजह यह थी कि kernel में मिलने वाली कई convenience features ThreadX में थीं ही नहीं। मैं इसे सिर्फ़ बहुत सरल safety-critical devices के लिए ही सुझाऊँगा.
  • यह वास्तव में बड़ी बात है, और Eclipse Foundation का इसे संभालना शानदार है। Microsoft इसके लिए प्रशंसा और श्रेय का हक़दार है। उनका record अच्छा रहा है, इसलिए मैं काफ़ी आशावादी हूँ, लेकिन इस project को लगातार बहुत support की ज़रूरत होगी। अब यह सिर्फ़ Microsoft की ज़िम्मेदारी नहीं रही, लेकिन चीज़ें आगे बढ़ते समय शायद उसे बड़ा बोझ उठाना पड़ सकता है.
  • जब मैं Deskjet firmware पर काम करता था, तब ThreadX एक ठीक-ठाक RTOS था। उस समय open source OS और ख़ास तौर पर tools इस काम के लिए उपयुक्त नहीं थे। लेकिन अब हालात बहुत बदल चुके हैं, और विकल्प मौजूद हैं.
  • ThreadX open source नहीं है। source code सार्वजनिक है, लेकिन यह evaluation version, यानी proprietary license, के तहत दिया जाता है.