वेस्टर्न डिजिटल आधीच रस्टमध्ये लिहिलेल्या NVMe ड्रायव्हरवर काम करत आहे

रस्टलिनक्स

लिनक्समधील रस्टच्या एकत्रीकरणाला समुदाय आणि विकासकांनी उच्च स्तरावर मान्यता दिली आहे

“Linux Plumbers 2022” परिषदेदरम्यान हे आजकाल चालू होते, एक वेस्टर्न डिजिटल अभियंता नियंत्रकाच्या विकासावर सादरीकरण दिले SSD NVM-Express साठी प्रायोगिक (NVMe) रस्ट मध्ये लिहिलेले आणि लिनक्स कर्नल स्तरावर चालत आहे.

तरीही तरी प्रकल्प अद्याप विकासाच्या सुरुवातीच्या टप्प्यात आहे, केलेल्या चाचण्यांमधून असे दिसून आले की रस्ट NVMe ड्रायव्हरची कामगिरी कर्नलमध्ये C मध्ये लिहिलेल्या NVMe ड्रायव्हरशी सुसंगत आहे.

मी मॅथ्यू विल्कॉक्स आहे, मी NVMe स्पेकच्या लेखकांपैकी एक आहे, मीच असे सुचवले होते की मला रस्टचे मूल्य प्रदर्शित करण्यासाठी NVMe ड्रायव्हर बनवावे. माझ्या अपेक्षेपलीकडे ते यशस्वी झाले आहे. 

सादर केलेल्या अहवालाबाबत सध्याचा NVMe C ड्रायव्हर पूर्णपणे समाधानकारक असल्याचे म्हटले जाते विकासकांसाठी, परंतु NVMe उपप्रणाली हे रस्टमध्ये ड्रायव्हर्स विकसित करण्याच्या व्यवहार्यतेचे अन्वेषण करण्यासाठी एक चांगले व्यासपीठ आहे, कारण ते अगदी सोपे आहे, मोठ्या प्रमाणावर वापरले जाते, उच्च कार्यक्षमतेची आवश्यकता आहे, तुलना करण्यासाठी सिद्ध संदर्भ अंमलबजावणी आहे आणि विविध इंटरफेसला समर्थन देते ( dev, pci, dma, blk-mq, gendisk, sysfs).

ते पाळले जाते Rust PCI NVMe ड्राइव्हर आधीच ऑपरेशनसाठी आवश्यक कार्यक्षमता प्रदान करतो, परंतु ते अद्याप व्यापक वापरासाठी तयार नाही, कारण त्यासाठी स्वतंत्र सुधारणा आवश्यक आहेत.

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

शिवाय, आम्ही सूचित करू शकतो केलेले प्रयोग साठी गंज भाषेत नियंत्रक विकसित करण्यासाठी NCC समूहाद्वारे फ्रीबीएसडी कर्नल. उदाहरण म्हणून, एक साधा इको कंट्रोलर जो /dev/rustmodule वर लिहिलेला डेटा परत करतो. प्रयोगाच्या पुढील टप्प्यात, NCC समूह नेटवर्क आणि फाइल ऑपरेशन्सची सुरक्षा सुधारण्यासाठी रस्टमधील मुख्य मुख्य घटकांचे पुनर्कार्य करण्याचा विचार करत आहे.

ते म्हणाले, जरी असे दर्शविले गेले आहे की रस्टमध्ये साधे मॉड्यूल तयार करणे शक्य आहे, FreeBSD कर्नलमध्ये रस्टचे घट्ट एकत्रीकरण करण्यासाठी अतिरिक्त कामाची आवश्यकता असेल.

उदाहरणार्थ, लिनक्ससाठी रस्ट प्रोजेक्टद्वारे तयार केलेल्या प्लगइन्सप्रमाणेच कर्नल सबसिस्टम आणि स्ट्रक्चर्सवर अॅब्स्ट्रॅक्शन लेयरचा संच तयार करण्याची गरज त्यांनी नमूद केली आहे. भविष्यात, आम्ही Illumos कोरसह असेच प्रयोग करण्याची योजना आखत आहोत आणि Rust मधील सामान्य अॅब्स्ट्रॅक्शन्स हायलाइट करू ज्याचा वापर Linux, BSD आणि Illumos साठी Rust ने लिहिलेल्या ड्रायव्हर्समध्ये केला जाऊ शकतो.

मायक्रोसॉफ्ट आणि Google च्या मते, त्यांच्या सॉफ्टवेअर उत्पादनांमध्ये सुमारे 70% असुरक्षितता असुरक्षित मेमरी व्यवस्थापनामुळे आहे.

रस्ट भाषा वापरल्याने असुरक्षिततेचा धोका कमी होतो असुरक्षित मेमरी हाताळणीमुळे उद्भवते आणि मेमरी क्षेत्र मुक्त झाल्यानंतर प्रवेश करणे आणि बफर ओव्हरफ्लो यासारख्या त्रुटी दूर करेल.

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

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

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

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


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

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

*

*

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