केरल: जंग में लिखा गया एक नया कर्नेल और Linux ABI के साथ संगत

केरल परियोजना के बारे में जानकारी हाल ही में जारी की गई थी, जिसे रस्ट भाषा में लिखे गए ऑपरेटिंग सिस्टम कर्नेल के रूप में विकसित किया जा रहा है। कोड को Apache 2.0 और MIT लाइसेंस के तहत वितरित किया जाता है। यह परियोजना जापानी डेवलपर सेया नुटा द्वारा विकसित की जा रही है, जिसे सी भाषा में लिखा गया माइक्रो कर्नेल ऑपरेटिंग सिस्टम रेसिया बनाने के लिए जाना जाता है।

नया कर्नेल शुरू में लक्ष्य रखता है ABI स्तर पर Linux कर्नेल के साथ संगतता सुनिश्चित करें, जो लिनक्स के लिए निर्मित असमाशोधित बायनेरिज़ को केरल-आधारित वातावरण में चलने की अनुमति देगा।

केरल के बारे में

केरल एक अखंड ऑपरेटिंग सिस्टम कर्नेल है जंग में खरोंच से बनाया गया। विकास के वर्तमान चरण में केरल केवल x86_64 आर्किटेक्चर वाले सिस्टम पर चलाया जा सकता है और बुनियादी सिस्टम कॉल जैसे राइट, स्टेट, एमएमएपी, पाइप और पोल लागू करता है, सिग्नल, अनाम पाइप और संदर्भ स्विच का समर्थन करता है। प्रक्रियाओं को नियंत्रित करने के लिए कांटा, प्रतीक्षा 4 और निष्पादन जैसे कॉल प्रदान करते हैं। ट्टी और छद्म टर्मिनलों (पीटीवाई) के लिए समर्थन है। initramfs फ़ाइल सिस्टम में (रूट FS को माउंट करने के लिए प्रयुक्त), tmpfs और devfs अभी भी समर्थित हैं।

टीसीपी और यूडीपी सॉकेट के समर्थन के साथ एक नेटवर्क स्टैक भी प्रदान किया गया है, smoltcp लाइब्रेरी पर आधारित है। डेवलपर ने एक बूट वातावरण तैयार किया है जो QEMU या Firecracker VM में नियंत्रक virtio-net के साथ काम करता है, जिससे आप पहले से ही SSH के माध्यम से जुड़ सकते हैं. Musl का उपयोग सिस्टम लाइब्रेरी के रूप में किया जाता है और बिजीबॉक्स का उपयोग उपयोगकर्ता उपयोगिता के रूप में किया जाता है. डॉकर के आधार पर, एक बिल्ड सिस्टम तैयार किया गया है जो आपको केरल कर्नेल के साथ अपना स्वयं का initramfs बूट बनाने की अनुमति देता है।

अब तक, इसके नए कर्नेल के बारे में कुछ विवरण प्रदान किए गए हैं, लेकिन केरल की विशेषताओं पर सबसे अधिक ध्यान आकर्षित करने वाला तथ्य यह है कि यह रस्ट में लिखा गया है। तो क्या इसे रस्ट में लिखने से अन्य भाषाओं या मौजूदा कोड पर कोई लाभ है? कई लोगों ने इस प्रश्न का उत्तर हां में दिया, जिसमें भाषा द्वारा प्रदान किए जाने वाले स्मृति सुरक्षा लाभों पर बल दिया गया।

यह रन टाइम पर मेमोरी एक्सेस की सटीकता का मूल्यांकन करते समय भी प्रदान किया जाता है। इससे ज्यादा और क्या, मोज़िला का मानना ​​है कि रस्ट पूर्णांक अतिप्रवाह से सुरक्षा प्रदान करता है, उपयोग से पहले चर मानों के अनिवार्य आरंभीकरण की आवश्यकता होती है, डिफ़ॉल्ट रूप से संदर्भों और अपरिवर्तनीय चर की अवधारणा को अपनाता है, तार्किक त्रुटियों को कम करने के लिए मजबूत स्थैतिक टाइपिंग प्रदान करता है, और पैटर्न के मिलान के माध्यम से इनपुट प्रसंस्करण को सरल बनाता है।

फायदों के बीच, हम कोड की गुणवत्ता का मूल्यांकन करने के लिए एकीकृत टूल पर प्रकाश डालते हैं और यूनिट परीक्षण बनाना जो न केवल वास्तविक हार्डवेयर पर, बल्कि क्यूईएमयू पर भी चलाए जा सकते हैं। मूल रूप से, मोज़िला को रस्ट को डीबग करना आसान लगता है, क्योंकि कंपाइलर त्रुटियों को अस्वीकार कर देगा। हालाँकि, कोव्स ने रस्ट के साथ कुछ कमियों की ओर इशारा किया।

"सी ++ के साथ, टेम्पलेट्स का उपयोग किए बिना मुहावरेदार जंग लिखना लगभग असंभव है, इसलिए इसमें बायनेरिज़ फूला हुआ है और धीमी गति से संकलन समय है। ये सभी कंपाइल-टाइम चेक भी एक कीमत पर आते हैं। साथ ही, यदि आप कुछ फिर से लिखते हैं, तो आप पुराने परिपक्व कोडबेस को खो देते हैं, और उचित समय में समान गुणवत्ता का कोडबेस तैयार करने का कोई तरीका नहीं है; रस्ट में कार्यक्रम को फिर से लिखने के बजाय, विस्तार करना बेहतर है। एक सॉफ्टवेयर इंजीनियर का कहना है कि रस्ट में इसे फिर से लिखने के बजाय प्रोग्राम का विस्तार करना बेहतर है।

इसके निर्माता के अनुसार, यही कारण है कि लिनक्स डेवलपर्स, विशेष रूप से स्वयं लिनुस टॉर्वाल्ड्स, उन्होंने पूरे कर्नेल को रस्ट में फिर से लिखने के विचार को खारिज कर दिया।

"सुरक्षित लिंक बनाने के लिए कुछ काम करें, फिर रस्ट में अतिरिक्त कोड लिखें और आप अभी भी उस परिपक्व कोड का आनंद ले सकते हैं। (यही लिनक्स करता है, रस्ट में कर्नेल मॉड्यूल लिखने की क्षमता जोड़ने के प्रयास हैं), ”उन्होंने कहा। लिनक्स डेवलपर्स लगभग तीन वर्षों से रस्ट भाषा का उपयोग करके कुछ नए कर्नेल मॉड्यूल लिखने की संभावनाएं तलाश रहे हैं। इसने »लिनक्स के लिए जंग« परियोजना को जन्म दिया।

अंत में, यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, तो आप विवरण से परामर्श कर सकते हैं निम्नलिखित लिंक में


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।