WD ரஸ்டில் NVMe இயக்கியை உருவாக்குகிறது. FreeBSD இல் ரஸ்டுடன் பரிசோதனை செய்தல்

இந்த நாட்களில் நடைபெற்று வரும் லினக்ஸ் பிளம்பர்ஸ் 2022 மாநாட்டில், வெஸ்டர்ன் டிஜிட்டலில் இருந்து ஒரு பொறியாளர், ரஸ்ட் மொழியில் எழுதப்பட்டு லினக்ஸ் கர்னலில் இயங்கும் என்விஎம்-எக்ஸ்பிரஸ் (என்விஎம்இ) இடைமுகத்துடன் எஸ்எஸ்டி டிரைவ்களுக்கான சோதனை இயக்கியை உருவாக்குவது குறித்து விளக்கமளித்தார். நிலை. ப்ராஜெக்ட் இன்னும் வளர்ச்சியின் ஆரம்ப கட்டத்தில் இருந்தாலும், ரஸ்ட் மொழியில் உள்ள NVMe இயக்கியின் செயல்திறன் கர்னலில் கிடைக்கும் C மொழியில் எழுதப்பட்ட NVMe இயக்கிக்கு ஒத்துப்போகிறது என்பதை சோதனை காட்டுகிறது.

 WD ரஸ்டில் NVMe இயக்கியை உருவாக்குகிறது. FreeBSD இல் ரஸ்டுடன் பரிசோதனை செய்தல்
 WD ரஸ்டில் NVMe இயக்கியை உருவாக்குகிறது. FreeBSD இல் ரஸ்டுடன் பரிசோதனை செய்தல்

C இல் உள்ள தற்போதைய NVMe இயக்கி டெவலப்பர்களுக்கு முற்றிலும் திருப்திகரமாக உள்ளது என்று அறிக்கை கூறுகிறது, ஆனால் NVMe துணை அமைப்பு ரஸ்டில் இயக்கிகளை உருவாக்குவதற்கான சாத்தியக்கூறுகளை ஆராய்வதற்கான ஒரு நல்ல தளமாகும், ஏனெனில் இது மிகவும் எளிமையானது, பரவலாகப் பயன்படுத்தப்படுகிறது, அதிக செயல்திறன் தேவைகள் மற்றும் உள்ளது. ஒப்பிடுவதற்கான நிரூபிக்கப்பட்ட குறிப்பு செயலாக்கம் மற்றும் பல்வேறு இடைமுகங்களை ஆதரிக்கிறது (dev, pci, dma, blk-mq, gendisk, sysfs).

Rust க்கான PCI NVMe இயக்கி ஏற்கனவே செயல்பாட்டிற்கு தேவையான செயல்பாட்டை வழங்குகிறது, ஆனால் பரவலான பயன்பாட்டிற்கு இன்னும் தயாராக இல்லை, ஏனெனில் தனிப்பட்ட மேம்பாடுகள் தேவைப்படுகின்றன. எதிர்காலத் திட்டங்களில் இருக்கும் பாதுகாப்பற்ற தொகுதிகளின் குறியீட்டை நீக்குதல், சாதனத்தை அகற்றுதல் மற்றும் இயக்கி இறக்குதல் செயல்பாடுகளை ஆதரித்தல், sysfs இடைமுகத்தை ஆதரித்தல், சோம்பேறி துவக்கத்தை செயல்படுத்துதல், blk-mq க்கு ஒரு இயக்கியை உருவாக்குதல் மற்றும் queue_rq க்கான ஒத்திசைவற்ற நிரலாக்க மாதிரியைப் பயன்படுத்தி பரிசோதனை செய்தல் ஆகியவை அடங்கும்.

வீடியோவை இயக்கு

கூடுதலாக, ஃப்ரீபிஎஸ்டி கர்னலுக்கான ரஸ்ட் மொழியில் இயக்கிகளை உருவாக்க என்சிசி குரூப் நடத்திய சோதனைகளை நாம் கவனிக்கலாம். உதாரணமாக, கோப்பு /dev/rustmodule க்கு எழுதப்பட்ட தரவை வழங்கும் எளிய எதிரொலி இயக்கியை விரிவாக ஆராய்வோம். அடுத்த கட்ட சோதனையில், நெட்வொர்க் மற்றும் கோப்பு செயல்பாடுகளின் பாதுகாப்பை மேம்படுத்த கர்னலின் முக்கிய கூறுகளை ரஸ்ட் மொழியில் மறுவேலை செய்யும் சாத்தியத்தை NCC குழு பரிசீலித்து வருகிறது.

இருப்பினும், ரஸ்ட் மொழியில் எளிய தொகுதிகளை உருவாக்குவது சாத்தியம் என்று காட்டப்பட்டாலும், FreeBSD கர்னலில் ரஸ்ட்டின் இறுக்கமான ஒருங்கிணைப்புக்கு கூடுதல் வேலை தேவைப்படும். எடுத்துக்காட்டாக, ரஸ்ட் ஃபார் லினக்ஸ் திட்டத்தால் தயாரிக்கப்பட்ட துணை நிரல்களைப் போலவே, துணை அமைப்புகள் மற்றும் கர்னல் கட்டமைப்புகள் மீது சுருக்க அடுக்குகளின் தொகுப்பை உருவாக்க வேண்டியதன் அவசியத்தை அவர்கள் குறிப்பிடுகின்றனர். எதிர்காலத்தில், Illumos கர்னலுடன் இதேபோன்ற சோதனைகளை நடத்தவும், Linux, BSD மற்றும் Illumos க்கான Rust இல் எழுதப்பட்ட இயக்கிகளில் பயன்படுத்தக்கூடிய Rust இல் உள்ள பொதுவான சுருக்கங்களை அடையாளம் காணவும் திட்டமிட்டுள்ளோம்.

மைக்ரோசாப்ட் மற்றும் கூகுளின் கூற்றுப்படி, அவற்றின் மென்பொருள் தயாரிப்புகளில் சுமார் 70% பாதிப்புகள் பாதுகாப்பற்ற நினைவக கையாளுதலால் ஏற்படுகின்றன. ரஸ்ட் மொழியின் பயன்பாடு நினைவகத்துடன் பாதுகாப்பற்ற வேலைகளால் ஏற்படும் பாதிப்புகளின் அபாயத்தைக் குறைக்கும் என்று எதிர்பார்க்கப்படுகிறது, மேலும் நினைவகப் பகுதியை விடுவித்த பிறகு அதை அணுகுவது மற்றும் இடையகத்தை மீறுவது போன்ற பிழைகள் ஏற்படுவதை நீக்குகிறது.

குறிப்புச் சரிபார்ப்பு, பொருள் உரிமை மற்றும் பொருள் வாழ்நாள் கண்காணிப்பு (நோக்கங்கள்) மற்றும் இயக்க நேரத்தில் நினைவக அணுகல்களின் சரியான தன்மையை மதிப்பிடுவதன் மூலம் தொகுக்கும் நேரத்தில் நினைவக பாதுகாப்பை ரஸ்ட் செயல்படுத்துகிறது. ரஸ்ட் முழு எண் வழிதல்களுக்கு எதிராக பாதுகாப்பை வழங்குகிறது, பயன்பாட்டிற்கு முன் மாறி மதிப்புகள் துவக்கப்பட வேண்டும், நிலையான நூலகத்தில் சிறந்த பிழை கையாளுதல் உள்ளது, இயல்புநிலையாக மாறாத குறிப்புகள் மற்றும் மாறிகள் என்ற கருத்தைப் பயன்படுத்துகிறது மற்றும் தருக்க பிழைகளைக் குறைக்க வலுவான நிலையான தட்டச்சு வழங்குகிறது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்