वेस्टर्न डिजिटल पहले से ही Rust . में लिखे NVMe ड्राइवर पर काम कर रहा है

रस्टलिनक्स

लिनक्स में रस्ट के एकीकरण को समुदाय और डेवलपर्स द्वारा उच्च स्तर की स्वीकृति मिली है

"लिनक्स प्लंबर 2022" सम्मेलन के दौरान जो इन दिनों चल रहा था, एक पश्चिमी डिजिटल इंजीनियर एक नियंत्रक के विकास पर एक प्रस्तुति दी एसएसडी एनवीएम-एक्सप्रेस के लिए प्रयोगात्मक (NVMe) Rust . में लिखा गया है और Linux कर्नेल स्तर पर चल रहा है।

हालांकि परियोजना अभी भी विकास के प्रारंभिक चरण में है, किए गए परीक्षणों से पता चला है कि जंग NVMe ड्राइवर का प्रदर्शन कर्नेल में C में लिखे NVMe ड्राइवर से मेल खाता है।

मैं मैथ्यू विलकॉक्स हूं, मैं एनवीएमई स्पेक के लेखकों में से एक हूं, मैं वह था जिसने सुझाव दिया था कि मैं जंग के मूल्य को प्रदर्शित करने के लिए एनवीएमई ड्राइवर बना सकता हूं। यह मेरी बेतहाशा उम्मीदों से परे सफल रहा है। 

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

यह देखा गया है कि जंग PCI NVMe ड्राइवर पहले से ही ऑपरेशन के लिए आवश्यक कार्यक्षमता प्रदान करता है, लेकिन यह अभी तक व्यापक उपयोग के लिए तैयार नहीं है, क्योंकि इसके लिए अलग से संवर्द्धन की आवश्यकता है।

भविष्य की योजनाओं में मौजूदा असुरक्षित ब्लॉकों से छुटकारा पाना शामिल है, डिवाइस को हटाने और ड्राइवर को डाउनलोड करने के लिए समर्थन, समर्थन sysfs इंटरफ़ेस, आलसी इनिशियलाइज़ेशन को लागू करें, blk-mq के लिए एक कंट्रोलर बनाएं, और क्यू_आरक्यू के लिए एक एसिंक्रोनस प्रोग्रामिंग मॉडल के साथ प्रयोग करें।

इसके अलावा, हम इंगित कर सकते हैं किए गए प्रयोग एनसीसी समूह द्वारा रस्ट भाषा में नियंत्रक विकसित करने के लिए फ्रीबीएसडी कर्नेल. उदाहरण के तौर पर, एक साधारण इको कंट्रोलर जो /dev/rustmodule पर लिखे गए डेटा को लौटाता है। प्रयोग के अगले चरण में, एनसीसी समूह नेटवर्क और फ़ाइल संचालन की सुरक्षा में सुधार के लिए जंग में मुख्य कोर घटकों को फिर से काम करने पर विचार कर रहा है।

उस ने कहा, हालांकि यह दिखाया गया है कि जंग में सरल मॉड्यूल बनाना संभव है, फ्रीबीएसडी कर्नेल में जंग के सख्त एकीकरण के लिए अतिरिक्त काम की आवश्यकता होगी।

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

Microsoft और Google के अनुसार, उनके सॉफ़्टवेयर उत्पादों में लगभग 70% कमजोरियाँ असुरक्षित स्मृति प्रबंधन के कारण होती हैं।

माना जाता है कि रस्ट भाषा का उपयोग कमजोरियों के जोखिम को कम करता है असुरक्षित मेमोरी हैंडलिंग के कारण और त्रुटियों की घटना को समाप्त कर देगा जैसे कि मेमोरी के क्षेत्र को मुक्त करने और बफर ओवरफ्लो के बाद एक्सेस करना।

रस्ट में मेमोरी सुरक्षा संदर्भों की जाँच करके, ऑब्जेक्ट के स्वामित्व पर नज़र रखने और ऑब्जेक्ट के जीवनकाल (दायरे) के साथ-साथ कोड के निष्पादन के दौरान मेमोरी एक्सेस की शुद्धता का मूल्यांकन करके प्रदान की जाती है।

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

यह उल्लेखनीय है कि यह संभव हो सकता है कि भविष्य के काम उस काम के साथ हाथ से चले जाएंगे जो मिगुएल ओजेदा ने अपने "लिनक्स के लिए जंग" ड्राइवरों पर प्रस्तुत किया है, जिन्हें पैच की एक श्रृंखला के रूप में प्रस्तुत किया गया है।

अंत में यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, आप इसमें विवरण देख सकते हैं निम्नलिखित लिंक।


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

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

*

*

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