Linux वर रस्ट ड्रायव्हर समर्थनासाठी पॅचेसची पाचवी आवृत्ती प्रकाशित झाली आहे

अलीकडे मिगुएल ओजेडा, Rust-for-Linux प्रकल्पाचे लेखक पाचवा प्रस्ताव प्रसिद्ध केला विकास घटकांसाठी पसंतीचे लिनक्स कर्नल विकसक रस्ट डिव्हाइस ड्रायव्हर्स त्यांना विचारात घेण्यासाठी.

आता अनेक महिन्यांपासून प्रकाशित झालेल्या या प्रस्तावांच्या मालिकेबद्दल ज्यांना अद्याप माहिती नाही त्यांच्यासाठी, आपणास हे माहित असावे की त्यामागील कल्पना या वस्तुस्थितीमुळे आहे की रस्ट सपोर्ट सध्या प्रायोगिक मानला जातो, परंतु linux-पुढील शाखेत आधीपासूनच समाविष्ट केले आहे आणि अॅब्स्ट्रॅक्शन लेयर्स तयार करण्यावर काम सुरू करण्यासाठी पुरेसे परिपक्व आहे कर्नल उपप्रणाली बद्दल, तसेच ड्रायव्हर्स आणि मॉड्यूल्स लिहिणे.

सध्या, मिगुएल ओजेडा यांच्या विकास आयोगाला Google आणि ISRG द्वारे वित्तपुरवठा केला जातो (इंटरनेट सिक्युरिटी रिसर्च ग्रुप), जे लेट्स एन्क्रिप्ट प्रकल्पाचे संस्थापक आहेत आणि HTTPS आणि इंटरनेट सुरक्षा वाढवण्यासाठी तंत्रज्ञानाच्या विकासाला प्रोत्साहन देतात.

प्रस्तावित बदल नमूद करणे महत्त्वाचे आहे ते ड्रायव्हर्स आणि कर्नल मॉड्यूल्स विकसित करण्यासाठी रस्ट ही दुसरी भाषा म्हणून वापरणे शक्य करतात. रस्ट सपोर्ट हा पर्याय म्हणून सादर केला जातो जो मुलभूतरित्या सक्षम केलेला नाही आणि कर्नलसाठी आवश्यक बिल्ड अवलंबनांमध्ये रस्टचा समावेश होत नाही.

ड्रायव्हर्स विकसित करण्यासाठी रस्टचा वापर केल्याने, मेमरी एरिया मुक्त केल्यानंतर त्यात प्रवेश करणे, डिरेफरन्स नल पॉइंटर्स आणि बफर ओव्हरफ्लो यासारख्या समस्यांशिवाय, कमीतकमी प्रयत्नांसह चांगले आणि सुरक्षित ड्रायव्हर्स तयार करणे शक्य होईल.

संदर्भ तपासणे, ऑब्जेक्टची मालकी आणि ऑब्जेक्ट लाइफटाइम (स्कोप) तपासणे, तसेच कोडच्या अंमलबजावणीदरम्यान मेमरी ऍक्सेसच्या अचूकतेचे मूल्यांकन करून रस्टमध्ये मेमरी सुरक्षा प्रदान केली जाते. रस्ट पूर्णांक ओव्हरफ्लो संरक्षण देखील प्रदान करते, वापरण्यापूर्वी व्हेरिएबल्स प्रारंभ करणे आवश्यक आहे, मानक लायब्ररीमधील त्रुटी चांगल्या प्रकारे हाताळते, डिफॉल्टनुसार अपरिवर्तनीय व्हेरिएबल्स आणि संदर्भांची संकल्पना लागू करते आणि तार्किक त्रुटी कमी करण्यासाठी मजबूत स्थिर टायपिंग ऑफर करते.

पाचव्या प्रस्तावातील मुख्य नवीनता

पॅचच्या नवीन आवृत्तीमध्ये, टिप्पण्या हटवणे सुरू ठेवले पहिल्या, दुसऱ्या, तिसऱ्या आणि चौथ्या आवृत्तीच्या पॅचच्या चर्चेदरम्यान केले.

केलेल्या बदल आणि सुधारणांच्या भागामध्ये आपण शोधू शकतो की घटक प्रमाणीकरण सुसंगततेसाठी सह रस्ट सतत एकीकरण प्रणालीमध्ये जोडले गेले आहे इंटेल सुसंगत 0DAY/LKP बॉटवर आधारित आणि चाचणी अहवाल प्रकाशित करणे सुरू झाले आहे.

याशिवाय, असे अधोरेखित केले आहे मध्ये रस्ट सपोर्टचे एकत्रीकरण तयार केले जात आहे स्वयंचलित चाचणी प्रणाली कर्नलसीआय, तसेच GitHub CI आधारित चाचण्या कंटेनर वापरण्यासाठी स्विच केल्या गेल्या.

असेही ठळकपणे समोर आले आहे अतिरिक्त पॅरामीटर्स परिभाषित करण्याची क्षमता जोडली डिव्हाइसेसची नोंदणी करताना, तसेच is_rust_module.sh स्क्रिप्ट पुन्हा डिझाइन केली गेली आहे आणि "CONFIG_CONSTRUCTORS" अंमलबजावणीवर आधारित स्टॅटिक सिंक्रोनाइझेशन प्रिमिटिव्ह (जागतिक सामायिक व्हेरिएबल्स) साठी समर्थन जोडले गेले.

च्या इतर बदल की उभे या नवीन नियंत्रकांच्या प्रस्तावामध्ये:

  • "#![no_std]" आणि "#![feature(...)]" या विशेषता परिभाषित करण्याची गरज रस्ट कोअर मॉड्युल्सपासून वाचली आहे.
  • सिंगल बिल्ड लक्ष्यांसाठी (.o, .s, .ll, आणि .i) समर्थन जोडले.
  • कोड मार्गदर्शक तत्त्वे आता टिप्पण्या ("//") आणि दस्तऐवजीकरण कोड ("///") मर्यादित करण्यासाठी नियम परिभाषित करतात.
  • सरलीकृत लॉक व्यवस्थापन: गार्ड आणि गार्डमट एका पॅरामीटराइज्ड प्रकारात एकत्र केले जातात.
  • "RwSemaphore" अॅब्स्ट्रॅक्शन जोडले, जे C rw_semaphore संरचनेवर आवरण म्हणून कार्य करते.
  • mmap वापरण्यासाठी, नवीन mm मॉड्यूल आणि VMA अ‍ॅब्स्ट्रॅक्शन (vm_area_struct स्ट्रक्चरवर बंधनकारक) जोडले गेले आहे.
  • PL061 GPIO कंट्रोलर "dev__*!" मॅक्रो वापरण्यासाठी बदलला.
  • सामान्य कोड साफ करणे.

शेवटी आपल्याला त्याबद्दल अधिक जाणून घेण्यात स्वारस्य असल्यास या नवीन प्रस्तावाबद्दल, आपण तपशीलांचा सल्ला घेऊ शकता पुढील लिंकवर


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटासाठी जबाबदार: AB इंटरनेट नेटवर्क 2008 SL
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.