WD Rust හි NVMe ධාවකයක් සංවර්ධනය කරමින් සිටී. FreeBSD මත රස්ට් සමඟ අත්හදා බැලීම

මේ දිනවල පැවැත්වෙන Linux Plumbers 2022 සම්මන්ත්‍රණයේදී, Western Digital හි ඉංජිනේරුවෙක් Rust වලින් ලියන ලද සහ Linux කර්නල් මට්ටමින් ධාවනය වන NVM-Express (NVMe) SSD සඳහා පර්යේෂණාත්මක ධාවකයක් සංවර්ධනය කිරීම පිළිබඳ ඉදිරිපත් කිරීමක් කළේය. ව්‍යාපෘතිය තවමත් සංවර්ධනයේ මුල් අවධියේ පවතින බව නොතකා, පවත්වන ලද පරීක්ෂණයෙන් පෙන්නුම් කළේ Rust NVMe ධාවකයේ ක්‍රියාකාරිත්වය කර්නලයේ C අකුරින් ලියා ඇති NVMe ධාවකයට අනුරූප වන බවයි.

WD Rust හි NVMe ධාවකයක් සංවර්ධනය කරමින් සිටී. FreeBSD මත රස්ට් සමඟ අත්හදා බැලීම
WD Rust හි NVMe ධාවකයක් සංවර්ධනය කරමින් සිටී. FreeBSD මත රස්ට් සමඟ අත්හදා බැලීම

වාර්තාව පවසන්නේ C හි වත්මන් NVMe ධාවකය සංවර්ධකයින් සඳහා සම්පූර්ණයෙන්ම තෘප්තිමත් වන නමුත් NVMe උප පද්ධතිය රස්ට් හි රියදුරන් සංවර්ධනය කිරීමේ ශක්‍යතා ගවේෂණය කිරීමට හොඳ වේදිකාවක් වන අතර එය තරමක් සරල, බහුලව භාවිතා වන, ඉහළ කාර්ය සාධන අවශ්‍යතා ඇති සහ ඇත. සංසන්දනය කිරීම සඳහා ඔප්පු කරන ලද යොමු ක්‍රියාත්මක කිරීම සහ විවිධ අතුරුමුහුණත් (dev, pci, dma, blk-mq, gendisk, sysfs) සඳහා සහය දක්වයි.

Rust PCI NVMe ධාවකය දැනටමත් ක්‍රියාත්මක වීමට අවශ්‍ය ක්‍රියාකාරීත්වය සපයනු ලබන නමුත්, එයට වෙනම වැඩිදියුණු කිරීම් අවශ්‍ය වන බැවින්, පුළුල් භාවිතය සඳහා තවමත් සූදානම් නැති බව සටහන් වේ. අනාගතය සඳහා වන සැලසුම් අතර පවතින අනාරක්ෂිත බ්ලොක් ඉවත් කිරීම, උපාංගය ඉවත් කිරීම සහ ධාවක බෑම සඳහා සහාය, sysfs අතුරුමුහුණත සඳහා සහය දැක්වීම, කම්මැලි ආරම්භය ක්‍රියාත්මක කිරීම, blk-mq සඳහා ධාවකයක් නිර්මාණය කිරීම සහ queue_rq සඳහා අසමමිතික ක්‍රමලේඛන ආකෘතියක් අත්හදා බැලීම ඇතුළත් වේ.

මීට අමතරව, FreeBSD කර්නලය සඳහා රස්ට් භාෂාවෙන් ධාවක සංවර්ධනය කිරීම සඳහා NCC සමූහය විසින් සිදු කරන ලද අත්හදා බැලීම් අපට සටහන් කළ හැකිය. උදාහරණයක් ලෙස, /dev/rustmodule ගොනුව වෙත ලියා ඇති දත්ත ආපසු ලබා දෙන සරල echo ධාවකයක් විස්තරාත්මකව විශ්ලේෂණය කෙරේ. අත්හදා බැලීමේ මීළඟ අදියරේදී, NCC සමූහය ජාල සහ ගොනු මෙහෙයුම්වල ආරක්ෂාව වැඩි දියුණු කිරීම සඳහා රස්ට් හි මූලික කොටස් නැවත සකස් කිරීමට සලකා බලයි.

එය පැවසුවද, රස්ට් හි සරල මොඩියුල සෑදිය හැකි බව පෙන්වා දී ඇතත්, FreeBSD කර්නලයට රස්ට් දැඩි ලෙස ඒකාබද්ධ කිරීම සඳහා අමතර කාර්යයක් අවශ්‍ය වේ. උදාහරණයක් ලෙස, Linux ව්‍යාපෘතිය සඳහා Rust විසින් සකස් කරන ලද ඇඩෝන වලට සමාන උප පද්ධති සහ කර්නල් ව්‍යුහයන් මත වියුක්ත ස්තර කට්ටලයක් නිර්මාණය කිරීමේ අවශ්‍යතාවය එහි සඳහන් වේ. අනාගතයේදී, Illumos හරය සමඟ සමාන අත්හදා බැලීම් සිදු කිරීමටත්, Linux, BSD සහ Illumos සඳහා Rust-ලිඛිත ධාවකවල භාවිතා කළ හැකි Rust හි පොදු වියුක්තයන් ඉස්මතු කිරීමටත් සැලසුම් කර ඇත.

මයික්‍රොසොෆ්ට් සහ ගූගල් වලට අනුව, ඔවුන්ගේ මෘදුකාංග නිෂ්පාදනවල දුර්වලතා වලින් 70% ක් පමණ අනාරක්ෂිත මතක කළමනාකරණය නිසා ඇතිවේ. රස්ට් භාෂාව භාවිතා කිරීමෙන් අනාරක්ෂිත මතක හැසිරවීම නිසා ඇති වන දුර්වලතා ඇතිවීමේ අවදානම අඩු වන අතර එය නිදහස් කිරීමෙන් පසු මතක ප්‍රදේශයකට ප්‍රවේශ වීම සහ බෆරය ඉක්මවා යාම වැනි දෝෂ ඇතිවීම ඉවත් කරනු ඇතැයි උපකල්පනය කෙරේ.

සමුද්දේශ පරීක්ෂා කිරීම, වස්තු හිමිකාරිත්වය සහ වස්තුවේ ආයු කාලය (පථය) නිරීක්ෂණය කිරීම මෙන්ම කේත ක්‍රියාත්මක කිරීමේදී මතක ප්‍රවේශයේ නිවැරදි බව ඇගයීම හරහා සම්පාදනය කරන වේලාවේදී මතක ආරක්ෂාව රස්ට් තුළ සපයනු ලැබේ. මලකඩ පූර්ණ සංඛ්‍යා පිටාර ගැලීම් වලට එරෙහිව ආරක්ෂාව සපයයි, භාවිතයට පෙර විචල්‍ය අගයන් අනිවාර්යයෙන් ආරම්භ කිරීම අවශ්‍ය වේ, සම්මත පුස්තකාලයේ දෝෂ වඩා හොඳින් හසුරුවයි, පෙරනිමියෙන් වෙනස් කළ නොහැකි යොමු සහ විචල්‍යයන් පිළිබඳ සංකල්පය යොදයි, තාර්කික දෝෂ අවම කිරීම සඳහා ශක්තිමත් ස්ථිතික ටයිප් කිරීමක් ඉදිරිපත් කරයි.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න