Linux में रियल-टाइम प्रीएम्प्शन समर्थन की मंज़िल
- Linux में रियल-टाइम समर्थन जोड़ने का काम 2004 से शुरू हुआ था, और अब यह अंतिम चरण में पहुँच रहा है.
- रियल-टाइम प्रीएम्प्शन का उद्देश्य यह है कि सबसे उच्च-प्राथमिकता वाला प्रोसेस न्यूनतम देरी के साथ चल सके, और इसके लिए kernel को यथासंभव अधिक परिस्थितियों में preemptible बनाया गया.
- इस काम के परिणामस्वरूप kernel के मुख्य हिस्सों को फिर से लिखा गया, और इससे रियल-टाइम use case से आगे भी लाभ मिले.
printk() समस्या का समाधान
- kernel में system console और log पर संदेश भेजने के लिए इस्तेमाल होने वाला
printk() फ़ंक्शन synchronous तरीके से काम करता है, इसलिए यह तब तक return नहीं करता जब तक संदेश सभी configured destinations तक भेज न दिया जाए.
- रियल-टाइम डेवलपर्स ने
printk() आउटपुट को अलग thread में ले जाकर इसे asynchronous बनाया, लेकिन यह केवल एक अस्थायी समाधान था.
printk() समस्या पर 2018 से गंभीरता से काम हो रहा है, और लगभग 300 patches के जरिए इसका समाधान आगे बढ़ रहा है, हालांकि अभी भी कुछ जटिल समस्याएँ बाकी हैं.
रियल-टाइम प्रीएम्प्शन कोड के mainline integration की संभावना
- यह आशा जताई गई है कि रियल-टाइम प्रीएम्प्शन कोड का बाकी हिस्सा 2024 के अंत में 20वीं वर्षगांठ से पहले mainline में merge हो जाएगा.
printk() कोड में हाल में कोई बदलाव नहीं हुआ, लेकिन handover code को इस तरह बदला गया कि console drivers को एक-एक करके update किया जा सके.
- महत्वपूर्ण संदेशों के लिए code को इस तरह बदला गया कि पहली पंक्ति छपने से पहले संदेश पूरी तरह message buffer में copy हो जाए, और खराब console driver के कारण system crash से बचाने के लिए संदेश पहले safe console पर लिखा जाए.
GN⁺ की राय
- Linux kernel में रियल-टाइम प्रीएम्प्शन समर्थन जोड़ने का काम लगभग पूरा होने वाला है, और इससे उन systems को बड़ा लाभ मिलेगा जिन्हें रियल-टाइम workloads की ज़रूरत होती है.
printk() का asynchronous बनना system responsiveness को बेहतर करता है और रियल-टाइम प्रीएम्प्शन के लक्ष्य को हासिल करने में महत्वपूर्ण भूमिका निभाता है.
- यह लेख Linux kernel development में एक महत्वपूर्ण प्रगति दिखाता है और kernel development में रुचि रखने वाले लोगों के लिए दिलचस्प सामग्री प्रदान करता है.
1 टिप्पणियां
Hacker News राय
QNX microkernel के फायदे
Linux में real-time processing की समस्याएँ
kernel की logging functionality और वास्तविक उपयोग के मामले
real-time hardware/software combinations के विकल्प की संभावना
"hard" बनाम "soft" real-time applications का अंतर
Linux kernel की real-time processing और hardware की सीमाएँ
synchronous logging की समस्याएँ
किसी खास process की responsiveness सुनिश्चित करने के तरीके
Linux के real-time preemption feature और पुराना अनुभव
आम उपयोगकर्ताओं पर असर