ड्राइवर सुधारण्यासाठी कर्नलमध्ये रस्ट मधील एक फ्रेमवर्क लागू केले जाऊ शकते

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

जोश ट्रिपलेट, इंटेल आधारित कंपनी आणि क्रेट्स.आय.ओ. विकास उपेक्षा समितीचे सदस्य, आधीच काही दिवसांपूर्वी एक कार्य गट सादर केले ओपन सोर्स टेक्नॉलॉजी समिटमधील भाषणात जे लिनक्स कर्नल प्रोग्रामिंग मधील रस्ट ऑन सी च्या समवेत आणण्याचे उद्दीष्ट आहे.

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

रस्टसाठी आधीपासूनच विकसित केलेल्या समान क्षमतांपैकी, अज्ञात रचनांसाठी समर्थन समर्थित आहे, युनियन (युनियन), असेंबलर इन्सर्ट्स ("asm!" मॅक्रो) आणि BFLOAT16 फ्लोटिंग पॉईंट नंबर फॉर्मेट.

जोश यांचा असा विश्वास आहे की सिस्टम प्रोग्रामिंगचे भविष्य रस्टवर अवलंबून आहे आणि आधुनिक वास्तवात सी भाषा भूतकाळातील असेंबलरचे स्थान असल्याचा दावा करते. गंज स्मरणशक्तीसह कमी-स्तरीय कामांमुळे उद्भवणार्‍या विशिष्ट सी भाषेच्या समस्यांस विकसकांना मुक्त करतेच, परंतु आधुनिक प्रोग्रामिंग प्रतिमानांच्या विकासास ते लागू करते.

जोश यांच्या भाषणाच्या चर्चेदरम्यान, ही कल्पना व्यक्त केली गेली:

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

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

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

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

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

फ्रेमवर्क आपल्याला कर्नलमध्ये बदल न करता ड्राइव्हरची सुरक्षा सुधारित करण्यास परवानगी देतो; कर्नलमधील ड्राइव्हर्स् करीता अगाऊ वेगळ्या पातळी निर्माण करण्याऐवजी अधिक सुरक्षित गंज भाषेचा वापर करून कंपाईल टप्प्यावर अडचणी अडविण्याचा प्रस्ताव आहे.

असे मानले जाते की उपकरणे उत्पादक योग्य ऑडिट न करता घाईघाईने हा दृष्टीकोन विकसित करू शकतात.

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

विद्यमान smsc95xx ड्राइव्हर लिहिलेले होते संदर्भ अंमलबजावणी म्हणून सी भाषेत रस्ट ड्रायव्हर लिहिताना.

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

स्त्रोत: https://hub.packtpub.com


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

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

*

*

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

  1.   L1ch म्हणाले

    मला स्त्रोत smsc95xx ड्रायव्हरसाठी माहिती सापडत नाही किंवा काहीतरी रस्ट ऑन लिनक्स मध्ये लागू केले जात आहे.