ड्राइवरों को सुधारने के लिए कर्नेल में रस्ट का एक ढांचा लागू किया जा सकता है

रस्ट लिनक्स कर्नेल

जोश ट्रिपलेट, एक इंटेल-आधारित कंपनी और Crates.io विकास निरीक्षण समिति के सदस्य, कुछ दिन पहले ही एक कार्य समूह प्रस्तुत किया जा चुका है ओपन सोर्स टेक्नोलॉजी शिखर सम्मेलन में अपने भाषण में जिसका उद्देश्य लिनक्स कर्नेल प्रोग्रामिंग में रस्ट को सी के बराबर लाना है।

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

रस्ट के लिए पहले से ही विकसित की जा रही समान क्षमताओं में से, अनाम संरचनाओं के लिए समर्थन समर्थित है, यूनियन (यूनियन), असेंबलर इंसर्ट ("एएसएम!" मैक्रो), और फ़्लोटिंग-पॉइंट नंबर प्रारूप BFLOAT16।

जोश का मानना ​​है कि सिस्टम प्रोग्रामिंग का भविष्य रस्ट का है, और आधुनिक वास्तविकताओं में सी भाषा वह स्थान होने का दावा करती है जिस पर अतीत में असेंबलर का कब्जा था। रस्ट न केवल डेवलपर्स को सी भाषा-विशिष्ट समस्याओं से राहत देता है जो मेमोरी के साथ निम्न-स्तरीय काम के कारण उत्पन्न होती हैं, बल्कि आधुनिक प्रोग्रामिंग प्रतिमानों के विकास में आवेदन की संभावना भी प्रदान करती है।

जोश के भाषण की चर्चा के दौरान यह विचार व्यक्त किया गया:

लिनक्स कर्नेल में रस्ट भाषा में ड्राइवर विकसित करने की क्षमता जोड़ना, जो न्यूनतम प्रयास के साथ बेहतर और सुरक्षित ड्राइवर बनाने की अनुमति देगा जो मेमोरी क्षेत्र को मुक्त करने के बाद उस तक पहुंचने, शून्य पॉइंटर्स को संदर्भित करने और सीमाओं से परे बाहर निकलने जैसी समस्याओं को कम करेगा। बफ़र का.

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

पता चला कि कई टीमें पहले से ही इस दिशा में काम कर रही हैं। उदाहरण के लिए, फिश इन ए बैरल के डेवलपर्स ने सुरक्षा बढ़ाने के लिए कर्नेल इंटरफेस और संरचनाओं के शीर्ष पर अमूर्त परतों के एक सेट का उपयोग करके, रस्ट भाषा में लिनक्स कर्नेल के लिए लोड करने योग्य मॉड्यूल लिखने के लिए एक टूलकिट तैयार किया।

बाइंडजेन उपयोगिता का उपयोग करके उपलब्ध कर्नेल हेडर फ़ाइलों के आधार पर मध्य परतें स्वचालित रूप से उत्पन्न होती हैं। क्लैंग का उपयोग मध्यवर्ती परतों के निर्माण के लिए किया जाता है। इकट्ठे मॉड्यूल, परतों के अलावा, स्टेटिकलिब पैकेज का उपयोग करते हैं।

इसी समय, एक अन्य परियोजना विकसित की जा रही है, जो एम्बेडेड सिस्टम के लिए नियंत्रकों के विकास पर केंद्रित है। और इंटरनेट ऑफ थिंग्स डिवाइस, जो कर्नेल हेडर फ़ाइलों के आधार पर कोलेट उत्पन्न करने के लिए बाइंडजेन का भी उपयोग करता है।

फ़्रेमवर्क आपको कर्नेल में परिवर्तन किए बिना ड्राइवर सुरक्षा में सुधार करने की अनुमति देता है; कर्नेल में ड्राइवरों के लिए अतिरिक्त अलगाव स्तर बनाने के बजाय, अधिक सुरक्षित रस्ट भाषा का उपयोग करके संकलन चरण में समस्याओं को रोकने का प्रस्ताव है।

यह माना जाता है कि उपकरण निर्माता उचित ऑडिटिंग के बिना इस दृष्टिकोण में जल्दबाजी कर सकते हैं।

सभी नियोजित कार्यक्षमता अभी तक लागू नहीं की गई है, लेकिन फ्रेमवर्क पहले से ही काम के लिए काफी पर्याप्त है और इसका उपयोग रास्पबेरी पाई 9512 बोर्ड पर आपूर्ति किए गए LAN3 यूएसबी ईथरनेट नियंत्रक के लिए एक कार्यशील ड्राइवर लिखने के लिए किया जाता है।

मौजूदा smsc95xx ड्राइवर लिखा गया था संदर्भ कार्यान्वयन के रूप में सी भाषा में रस्ट ड्राइवर लिखते समय।

यह ध्यान दिया जाता है कि रस्ट के लिए ड्राइवर विकसित करते समय मॉड्यूल आकार और रनटाइम घटकों का ओवरहेड महत्वपूर्ण नहीं है, जो आपको सीमित संसाधनों वाले उपकरणों के लिए ढांचे का उपयोग करने की अनुमति देता है।

Fuente: https://hub.packtpub.com


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

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

*

*

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

  1.   L1ch कहा

    मुझे स्रोत में smsc95xx ड्राइवर के बारे में या लिनक्स पर रस्ट में लागू की जा रही किसी भी चीज़ के बारे में कोई जानकारी नहीं मिल रही है।