Linux साठी रस्टमध्ये समर्थनासाठी अनेक सुधारणा समाविष्ट आहेत

गेल्या महिन्यांत लिनक्स विकसक वाद घालत आहेत ची शक्यता रस्ट भाषेचा वापर करण्यास अनुमती द्या कर्नलसाठी नवीन डिव्हाइस ड्रायव्हर्स लिहिण्यासाठी.

गेल्या वर्षी, लिनक्स कर्नल विकासक त्यांनी या विषयावर एक करार केला आहे असे दिसते, रस्ट समर्थकांनी काम उद्धृत केले आहे जे दर्शविते की Android आणि Ubuntu मध्ये CVE नियुक्त केलेल्या कर्नल असुरक्षांपैकी सुमारे दोन-तृतियांश मेमरी सुरक्षा समस्यांशी संबंधित आहेत.

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

रस्ट वापरण्याच्या सूचनेबद्दल विचारले असता, त्यांनी सूचित केले की, "येथे उपाय सोपा आहे: रस्ट ऐवजी फक्त C++ वापरा."

त्यानंतर मार्चमध्ये, प्रथम समर्थन सुरू करण्यात आलेe ज्याने रस्ट ड्रायव्हर्सना मुख्य कर्नलमध्ये समाविष्ट करण्यापूर्वी पुढील चाचणीसाठी Linux-Next ट्रीमध्ये ठेवण्याची परवानगी दिली.

त्याच्या मागे लिनक्स कर्नलसाठी रस्ट कोड दृष्टीकोन बद्दल कर्नल मेलिंग सूचीवर "टिप्पणीसाठी विनंती" पुन्हा जारी केली गेली.

मिगुएल ओजेडालिनक्स कर्नल डेव्हलपरने लिनक्स कर्नल मेलिंग सूचीवर टिप्पण्यांसाठी विनंती (RFC) प्रस्ताव सुरू केला.

मेलिंग लिस्ट पोस्टमध्ये कर्नलमध्ये रस्ट कोड जोडण्यात गुंतलेल्या डेव्हलपरचे विश्वास, सुधारित मेमरी सुरक्षितता यासारखे फायदे आणि बरेच काही सांगितले आहे.

“तुमच्यापैकी काहींनी अलीकडील आठवडे आणि महिन्यांत लक्षात घेतले आहे की कर्नलमध्ये दुसरी भाषा आणण्याचा गंभीर प्रयत्न केला जात आहे. लिनक्स कर्नलला रस्ट सपोर्ट जोडणाऱ्या RFC सह आम्ही शेवटी आहोत, ”मिगुएल ओजेजा म्हणाले. "आम्हाला माहित आहे की कर्नलमध्ये नवीन भाषा सादर करण्यासाठी प्रचंड खर्च आणि जोखीम आहेत," तो पुढे म्हणाला.

लिनक्स प्रोजेक्ट टीमसाठी गंज रस्ट बीटा कंपाइलरवरून स्थिर रिलीझ वापरण्यासाठी हलविले, प्रत्येक वेळी नवीन आवृत्ती रिलीझ केल्यावर स्थलांतर करणे.

"आम्ही या पर्यायांवर आमच्यासोबत काम केल्याबद्दल रस्टचे आभार मानू इच्छितो जेणेकरून कर्नल त्यांचा वापर करू शकेल," मिगुएल म्हणाले.

संकलक अद्यतनित करताना, संघ सूचीमधून काही अस्थिर वैशिष्ट्ये काढण्यात सक्षम होते: const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic, आणि try_reserve.

याशिवाय, असे अधोरेखित केले आहे काही मॉड्युलरायझेशन पर्याय जोडले गेले आहेत काही अनावश्यक कार्ये अक्षम करण्यासाठी वाटप करण्यासाठी अधिक: no_rc आणि no_sync.

अपस्ट्रीम, कर्नल वापर केस चांगल्या प्रकारे समर्थित करण्यासाठी, किंवा अधिक अचूकपणे, कर्नलला आवश्यक पर्यायांचे "मिश्रण" करण्यासाठी, अपस्ट्रीम कोअरने no_fp_fmt_parse देखील जोडले आहे.

दुसरीकडे, Rust ने Rust आणि Clippy कंपाइलरसाठी अतिरिक्त निदानांची मालिका सक्षम केली. C मधील एक फरक असा आहे की रस्ट डायग्नोस्टिक्स कोडमध्ये अक्षम करणे थोडे सोपे आहे, जे सामान्य बाबतीत कठोर आहे.

तसेच अॅब्स्ट्रॅक्शन्स आणि ड्रायव्हर अपडेट्स लागू केले आहेत. टीमने स्ट्रीम लॉक, पॉवर मॅनेजमेंट कॉलबॅक, आयओ मेमरी (रीडएक्स/राइटएक्स), irq चिप्स आणि हाय-लेव्हल स्ट्रीम मॅनेजर, gpio चिप्स (irq चिप्ससह), पेरिफेरल्स, अंबा पेरिफेरल्स आणि ड्रायव्हर्ससाठी अॅब्स्ट्रॅक्शन जोडले.

चे समर्थन कंट्रोलरला बस स्वतंत्र पायाभूत सुविधांसह वर्धित केले जाते, रिव्होकेबल ऑब्जेक्ट्स, रिव्होकेबल म्युटेक्स, कार्यक्षम बिट इटरेटर, चांगले पॅनिक डायग्नोस्टिक्स आणि सरलीकृत पॉइंटर रॅपर्स. याव्यतिरिक्त, याने रेफ ऑब्जेक्ट्स (refcount_t शी सुसंगत) सुधारित आणि सरलीकृत केले आणि सर्व रस्ट उदाहरणे बदलली.

आणि gpio PL061 उपकरणांसाठी नवीन ड्रायव्हर लागू करण्यात आला आणि RFC पॅच म्हणून पाठवला गेला.

शेवटी याची नोंद घ्यावी गंज समर्थन अजूनही प्रायोगिक मानले जाते. तथापि, सपोर्ट पुरेसा चांगला आहे की कर्नल डेव्हलपर काम करू लागले आहेत रस्ट ऍब्स्ट्रॅक्शन्समध्ये सबसिस्टम आणि कंट्रोलर्स आणि इतर मॉड्यूल्स लिहा. सध्याची मालिका नुकतीच Linux-नेक्स्टवर आली आहे, त्यामुळे पहिली रन या आठवड्यात होईल.

स्त्रोत: https://lkml.org/lkml


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

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

*

*

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