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

मिगुएल ओजेडा, Rust-for-Linux प्रकल्पाचे लेखक आठवी रिलीज रिलीज केली लिनक्स कर्नल डेव्हलपरसाठी रस्ट लँग्वेज सपोर्टसह लिनक्स कर्नल पॅचेस विकसित करणे.

हे पॅचेसचे नववे प्रकाशन (आवृत्ती क्रमांक नसलेली पहिली रिलीज केलेली आवृत्ती लक्षात घेऊन). गंज समर्थन प्रायोगिक मानले जाते, परंतु ते आधीपासून linux-पुढील शाखेत समाविष्ट केले आहे, 5.20/6.0 च्या फॉल रिलीझमध्ये एकत्रीकरणाचा दावा केला आहे, आणि कर्नल उपप्रणालीच्या शीर्षस्थानी अ‍ॅब्स्ट्रॅक्शन लेयर तयार करण्यासाठी तसेच कंट्रोलर आणि मॉड्यूल्स लिहिण्यासाठी कार्य सुरू करण्यासाठी पुरेसे प्रगत आहे.

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

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

संदर्भ तपासणे, ऑब्जेक्टची मालकी आणि ऑब्जेक्ट लाइफटाइम (स्कोप) तपासणे, तसेच कोडच्या अंमलबजावणीदरम्यान मेमरी ऍक्सेसच्या अचूकतेचे मूल्यांकन करून रस्टमध्ये मेमरी सुरक्षा प्रदान केली जाते.

या आठव्या प्रकाशनात नवीन काय आहे?

प्रसिद्ध झालेल्या या नव्या प्रस्तावात असे नमूद करण्यात आले आहे alloc लायब्ररी प्रकार, ज्याने त्रुटींवरील "पॅनिक" स्थितीची संभाव्य पिढी काढून टाकली, रस्ट आवृत्ती 1.62 वर अद्यतनित केले. मागील आवृत्तीच्या तुलनेत, रस्ट टूलकिटने कर्नल पॅचमध्ये वापरल्या जाणार्‍या const_fn_trait_bound कार्यक्षमतेसाठी समर्थन स्थिर केले आहे.

त्याशिवाय बाइंडिंग कोड "बाइंडिंग" बॉक्सच्या बंडलमध्ये विभक्त केला जातो स्वतंत्रपणे, जे फक्त मुख्य कर्नल पॅकेज बदलल्यास पुनर्बांधणी करणे सोपे करते.

"concat_idents!" मॅक्रोची अंमलबजावणी, प्रक्रियात्मक मॅक्रो म्हणून पुन्हा लिहिलेले, concat_idents कार्यक्षमतेशी जोडलेले नाही आणि स्थानिक व्हेरिएबल संदर्भांचा वापर करण्यास अनुमती देते.

याशिवाय मॅक्रोचाही उल्लेख आहे "static_asssert!" "core::ssert!()" ला अनुमती देण्यासाठी पुन्हा लिहिले गेले आहे स्थिरांकांऐवजी कोणत्याही संदर्भात वापरले जाते, तर मॅक्रो "construction_error!" मॉड्यूल्ससाठी "RUST_BUILD_ASSERT_{WARN,ALLOW}" मोड सेट करताना कार्य करण्यासाठी अनुकूल केले गेले आहे.

fs मॉड्यूल जोडले जे फाईल सिस्टीमसह कार्य करण्यासाठी लिंक प्रदान करते. रस्टमध्ये लिहिलेल्या साध्या फाइल सिस्टमचे उदाहरण प्रस्तावित केले आहे, तसेच सिस्टम रांगेसह कार्य करण्यासाठी जॉब क्यू मॉड्यूल जोडले आहे.

इतर बदलांपैकी जे या नवीन प्रस्तावातून वेगळे आहे:

  • एक वेगळी कॉन्फिगरेशन फाइल "kernel/configs/rust.config" जोडली.
  • मॅक्रो प्रतिस्थापनामध्ये प्रक्रिया केलेल्या "*.i" फाइल्सचे नाव बदलून "*.rsi" केले गेले आहे.
  • सी कोडसाठी वापरल्या जाणार्‍या ऑप्टिमायझेशन स्तरांसह रस्ट घटक तयार करण्यासाठी समर्थन काढून टाकले.
  • एसिंक्रोनस प्रोग्रामिंग पद्धती (असिंक) च्या अंमलबजावणीसह kasync मॉड्यूलचा विकास चालू राहिला.
  • Rust मध्ये लिहिलेल्या कर्नल स्तरावरील TCP सर्व्हरचे उदाहरण जोडले आणि Rust मध्ये व्यत्यय हाताळण्याची क्षमता जोडली.
  • फाइल_ऑपरेशन स्ट्रक्चर सारख्या फंक्शन पॉइंटर टेबलसह कार्य करणे सोपे करण्यासाठी प्रक्रिया मॅक्रो जोडली.
  • द्विदिशात्मक लिंक्ड सूची अंमलबजावणी "unsafe_list::List" जोडली.
  • वर्तमान थ्रेडला रीड लॉक बांधलेले आहे की नाही हे तपासण्यासाठी RCU आणि गार्ड प्रकारासाठी प्रारंभिक समर्थन जोडले.
  • कर्नल थ्रेड्स स्वयंचलितपणे स्पॉन करण्यासाठी आणि सुरू करण्यासाठी कार्य::स्पॉन() फंक्शन जोडले.
  • Task::wake_up() पद्धत देखील जोडली आहे.
  • विलंब मॉड्यूल जोडले

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


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

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

*

*

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