Linux के लिए जंग में समर्थन के लिए कई संवर्द्धन शामिल हैं

आखिरी महीनों के दौरान लिनक्स डेवलपर्स बहस कर रहे हैं की संभावना रस्ट भाषा के उपयोग की अनुमति दें कर्नेल के लिए नए डिवाइस ड्राइवर लिखने के लिए।

पिछले साल, लिनक्स कर्नेल डेवलपर्स ऐसा लगता है कि वे इस मामले पर एक समझौते पर पहुंच गए हैं, जंग समर्थकों ने काम का हवाला देते हुए दिखाया है कि एंड्रॉइड और उबंटू में सीवीई को सौंपे गए कर्नेल कमजोरियों के लगभग दो-तिहाई मेमोरी सुरक्षा मुद्दों से संबंधित हैं।

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

रस्ट का उपयोग करने के सुझाव के बारे में पूछे जाने पर, उन्होंने संकेत दिया कि, "यहाँ समाधान सरल है: रस्ट के बजाय बस C++ का उपयोग करें।"

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

इसके ठीक पीछे लिनक्स कर्नेल के लिए रस्ट कोड परिप्रेक्ष्य के बारे में कर्नेल मेलिंग सूची पर "टिप्पणी के लिए अनुरोध" फिर से जारी किया गया था।

मिगुएल ओजेदालिनक्स कर्नेल डेवलपर ने लिनक्स कर्नेल मेलिंग सूची पर टिप्पणियों के लिए अनुरोध (आरएफसी) प्रस्ताव शुरू किया।

मेलिंग सूची पोस्ट ने कर्नेल में रस्ट कोड जोड़ने में शामिल डेवलपर्स के विश्वासों को रेखांकित किया, बेहतर मेमोरी सुरक्षा जैसे लाभ, और बहुत कुछ।

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

Linux प्रोजेक्ट टीम के लिए जंग रस्ट बीटा कंपाइलर से स्थिर रिलीज़ का उपयोग करने के लिए ले जाया गया, हर बार एक नया संस्करण जारी होने पर माइग्रेट करना।

"हम इन विकल्पों पर हमारे साथ काम करने के लिए रस्ट को धन्यवाद देना चाहते हैं ताकि कर्नेल उनका उपयोग कर सके," मिगुएल ने कहा।

कंपाइलर को अपडेट करते समय, टीम सूची से कुछ अस्थिर सुविधाओं को हटाने में सक्षम था: const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic, और try_reserve।

इसके अलावा, इस बात पर प्रकाश डाला गया है कि कुछ मॉडर्नाइजेशन विकल्प जोड़े गए हैं कुछ अनावश्यक कार्यों को अक्षम करने के लिए आवंटित करने के लिए और अधिक: no_rc और no_sync।

अपस्ट्रीम, कर्नेल उपयोग के मामले को अच्छी तरह से समर्थित होने के लिए, या अधिक सटीक रूप से, कर्नेल के लिए आवश्यक विकल्पों के "मिश्रण" के लिए, अपस्ट्रीम कोर ने no_fp_fmt_parse भी जोड़ा है।

दूसरी ओर, रस्ट ने रस्ट और क्लीपी कंपाइलर के लिए अतिरिक्त डायग्नोस्टिक्स की एक श्रृंखला को सक्षम किया। सी से एक अंतर यह है कि रस्ट डायग्नोस्टिक्स कोड में अक्षम करना थोड़ा आसान है, जो सामान्य मामले में सख्त है।

भी अमूर्त और ड्राइवर अद्यतन लागू किए गए हैं. टीम ने स्ट्रीम लॉक, पावर मैनेजमेंट कॉलबैक, आईओ मेमोरी (रीडएक्स / राइटएक्स), आईआरक्यू चिप्स और हाई-लेवल स्ट्रीम मैनेजर, जीपीओ चिप्स (आईआरक्यू चिप्स सहित), पेरिफेरल्स, अम्बा पेरिफेरल्स और ड्राइवरों के लिए एब्स्ट्रैक्शन जोड़ा।

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

और gpio PL061 उपकरणों के लिए एक नया ड्राइवर लागू किया गया है और RFC पैच के रूप में भेज दिया गया है।

अंत में यह ध्यान दिया जाना चाहिए कि जंग समर्थन अभी भी प्रयोगात्मक माना जाता है. हालांकि, समर्थन इतना अच्छा है कि कर्नेल डेवलपर्स काम कर रहे हैं सबसिस्टम और कंट्रोलर और अन्य मॉड्यूल लिखने के लिए रस्ट एब्स्ट्रैक्शन में। वर्तमान श्रृंखला अभी-अभी लिनक्स-नेक्स्ट पर आई है, इसलिए पहला रन इसी सप्ताह होगा।

Fuente: https://lkml.org/lkml


पहली टिप्पणी करने के लिए

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

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

*

*

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