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

काही दिवसांपूर्वी, मिगुएल ओजेडा, या प्रस्तावांच्या विकासासाठी आणि सबमिट करण्यासाठी जबाबदार आणि रस्ट-फॉर-लिनू प्रकल्पाचे लेखकx ने सातव्या घटक प्रस्तावाचे अनावरण केले डिव्हाइस चालक विकासासाठी गंज लिनक्स कर्नल विकसकांसाठी विचारात घेण्यासाठी.

पॅचेसची ही सातवी आवृत्ती आहे आणि ज्यासाठी रस्ट सपोर्ट देखील प्रायोगिक मानला जातो, परंतु ते आधीपासूनच linux-पुढील शाखेत समाविष्ट केले आहे आणि कर्नल उपप्रणालींवर अ‍ॅब्स्ट्रॅक्शन लेयर तयार करण्यासाठी तसेच कंट्रोलर आणि मॉड्यूल्स लिहिण्यावर काम सुरू करण्यासाठी पुरेसे परिपक्व आहे. विकासाला Google आणि ISRG (इंटरनेट सिक्युरिटी रिसर्च ग्रुप) द्वारे निधी दिला जातो, जो Let's Encrypt प्रकल्पाचा संस्थापक आहे आणि HTTPS आणि इंटरनेट सुरक्षा वाढवण्यासाठी तंत्रज्ञानाच्या विकासाला प्रोत्साहन देतो.

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

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

हा नवीन प्रस्ताव त्यावर अधोरेखित करतो टूलकिट आणि alloc लायब्ररीचा एक प्रकार, ज्याने त्रुटींवरील "पॅनिक" स्थितीची संभाव्य पिढी काढून टाकली, Rust 1.60 आवृत्तीवर अद्यतनित केले आणि त्याद्वारे कर्नल पॅचमध्ये वापरल्या जाणार्‍या "may_uninit_extra" मोडसाठी समर्थन स्थिर करते.

या व्यतिरिक्त, अशी नोंद आहे दस्तऐवजीकरणातून चाचण्या चालवण्याची क्षमता जोडली (डॉक्युमेंटेशनमध्ये उदाहरणे म्हणून एकाचवेळी वापरल्या जाणार्‍या चाचण्या), कर्नल एपीआयला बांधलेल्या कंपाइल-टाइम चाचण्यांचे KUnit चाचण्यांमध्ये रूपांतर करून जे कर्नल बूट वेळेवर चालतात. कोर रस्ट कोडप्रमाणे, क्लिपी लिंटर चेतावणी तयार न करण्यासाठी चाचण्या आवश्यक आहेत.

दुसरीकडे नेटवर्क फंक्शन्ससह «नेट» मॉड्यूलची प्रारंभिक अंमलबजावणी प्रस्तावित आहे. रस्ट कोड कर्नल नेटवर्क स्ट्रक्चर्समध्ये प्रवेश प्रदान करतो जसे की "नेमस्पेस" ("स्ट्रक्ट नेट" कर्नल स्ट्रक्चरवर आधारित), SkBuff (struct sk_buff), TcpListener, TcpStream (स्ट्रक्ट सॉकेट), Ipv4Addr (struct in_addr), SocketAddrV4 (struct_in_addr) आणि त्याचे IPv6 समतुल्य.

मागील टोक rustc_codegen_gcc, rustc कंपाइलर सुरू करण्याची क्षमता लागू केली आहे. कंपाइलर कमिशनिंग म्हणजे rustc कंपाइलर तयार करण्यासाठी GCC-आधारित कोड जनरेटर वापरण्याची क्षमता.

तसेच, GCC 12.1 च्या अलीकडील रिलीझमध्ये libgccjit मधील निराकरणे समाविष्ट आहेत जी rustc_codegen_gcc योग्यरित्या कार्य करण्यासाठी आवश्यक आहेत. रस्टअप युटिलिटी वापरून rustc_codegen_gcc स्थापित करण्याची क्षमता प्रदान करण्याची तयारी सुरू आहे.

च्या इतर बदल की उभे या नवीन आवृत्तीचे:

  • एसिंक्रोनस प्रोग्रामिंग पद्धती (असिंक) साठी लागू केलेले प्रारंभिक समर्थन, kasync मॉड्यूलच्या स्वरूपात लागू केले जाते.
  • नेटवर्क पॅकेट फिल्टर्स हाताळण्यासाठी net::filter मॉड्यूल जोडले. रस्ट भाषेत फिल्टर अंमलबजावणीसह rust_netfilter.rs उदाहरण जोडले.
  • साध्या mutex smutex::Mutex ची जोडलेली अंमलबजावणी ज्याला पिनिंगची आवश्यकता नाही.
  • एक NoWaitLock लॉक जोडला जो कधीही रिलीझ होण्याची वाट पाहत नाही, आणि जर तो दुसर्‍या थ्रेडने व्यापलेला असेल, तर कॉलर थांबवण्याऐवजी लॉक मिळवण्याचा प्रयत्न करत नाही.
  • कर्नलमध्ये raw_spinlock_t द्वारे ओळखले जाणारे RawSpinLock लॉक जोडले, जे निष्क्रिय नसलेल्या विभागांना लागू होते.
  • ऑब्जेक्ट संदर्भांसाठी ARef प्रकार जोडला ज्यावर संदर्भ मोजणी यंत्रणा लागू केली जाते (नेहमी खंडन केले जाते).
  • GCC वर आधारित रस्ट लँग्वेज कंपाइलरच्या अंमलबजावणीसह GCC च्या gccrs फ्रंटएंडच्या विकासामध्ये प्रगती दिसून येते. सध्या दोन पूर्णवेळ विकासक gccrs वर काम करत आहेत.

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


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

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

*

*

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