Rust භාෂාව සඳහා සහය ඇති Linux කර්නලය සඳහා පැච් වල නව අනුවාදය

Rust-for-Linux ව්‍යාපෘතියේ කතුවරයා වන Miguel Ojeda, Linux කර්නල් සංවර්ධකයින් විසින් සලකා බැලීම සඳහා Rust භාෂාවෙන් උපාංග ධාවක සංවර්ධනය කිරීම සඳහා v5 සංරචක නිකුත් කිරීමට යෝජනා කළේය. අනුවාද අංකයක් නොමැතිව ප්‍රකාශයට පත් කරන ලද පළමු අනුවාදය සැලකිල්ලට ගනිමින් පැච් වල හයවන සංස්කරණය මෙයයි. මලකඩ ආධාරය පර්යේෂණාත්මක ලෙස සලකනු ලැබේ, නමුත් දැනටමත් linux-ඊළඟ ශාඛාවේ ඇතුළත් කර ඇති අතර කර්නල් උප පද්ධති මත වියුක්ත ස්ථර සෑදීම මෙන්ම ධාවක සහ මොඩියුල ලිවීමේ වැඩ ආරම්භ කිරීමට ප්‍රමාණවත් ලෙස සංවර්ධනය කර ඇත. සංවර්ධනය සඳහා අරමුදල් සපයනු ලබන්නේ Google සහ ISRG (අන්තර්ජාල ආරක්ෂණ පර්යේෂණ කණ්ඩායම) විසිනි, එය Let's Encrypt ව්‍යාපෘතියේ නිර්මාතෘ වන අතර HTTPS සහ අන්තර්ජාල ආරක්ෂාව වැඩි දියුණු කිරීම සඳහා තාක්ෂණයන් සංවර්ධනය කිරීම ප්‍රවර්ධනය කරයි.

යෝජිත වෙනස්කම් මඟින් රියදුරන් සහ කර්නල් මොඩියුල සංවර්ධනය කිරීම සඳහා දෙවන භාෂාවක් ලෙස රස්ට් භාවිතා කිරීමට හැකි වන බව මතක තබා ගන්න. රස්ට් සහාය පෙරනිමියෙන් සක්‍රීය කර නොමැති විකල්පයක් ලෙස ඉදිරිපත් කර ඇති අතර කර්නලය සඳහා අවශ්‍ය ගොඩනැගීමේ පරායත්තතාවයක් ලෙස රස්ට් ඇතුළත් නොවේ. රියදුරු සංවර්ධනය සඳහා රස්ට් භාවිතා කිරීමෙන් ඔබට නිදහස් කිරීමෙන් පසු මතක ප්‍රවේශය, null pointer dereferences සහ buffer overruns වැනි ගැටළු වලින් නිදහස්ව අවම උත්සාහයකින් ආරක්ෂිත සහ වඩා හොඳ ධාවක නිර්මාණය කිරීමට ඔබට ඉඩ සලසයි.

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

පැච් වල නව අනුවාදය, පැච් වල පළමු, දෙවන, තෙවන, හතරවන සහ පස්වන සංස්කරණයන් පිළිබඳ සාකච්ඡාවේදී කරන ලද අදහස් ඉවත් කිරීම දිගටම කරගෙන යයි. නව අනුවාදයේ:

  • Rust 1.59.0 නිකුත් කිරීමට මෙවලම් කට්ටලය යාවත්කාලීන කර ඇත. Aloc පුස්තකාලයේ ප්‍රභේදයක් ද Rust හි නව අනුවාදය සමඟ සමමුහුර්ත කර ඇති අතර, මතකයෙන් බැහැර වීම වැනි දෝෂ ඇති වූ විට "භීතිකාව" ඇති විය හැකි උත්පාදනය ඉවත් කරයි. එකලස් කිරීමේ ඇතුළත් කිරීම් ("විශේෂාංග (ගෝලීය_asm)") භාවිතා කිරීමේ හැකියාව ස්ථාවර කර ඇත.
  • කර්නල් සම්පාදනයේදී භාවිතා කරන රස්ට් හි සත්කාරක වැඩසටහන් නිර්මාණය කිරීම සඳහා සහය එක් කරන ලදී.
  • පෙර-ජනනය කරන ලද ඉලක්ක වේදිකා පිරිවිතර ගොනු ලබා දීම වෙනුවට, ඒවා කර්නල් වින්‍යාසය මත පදනම්ව ගතිකව ජනනය වේ.
  • Rust සඳහා සහය දක්වන ගෘහ නිර්මාණ සඳහා සක්‍රීය කිරීමට HAVE_RUST කර්නල් පරාමිතිය එක් කරන ලදී.
  • දෘඪාංග ව්‍යාජ සසම්භාවී සංඛ්‍යා උත්පාදකයක් සඳහා රස්ට් කේතයේ භාවිතය සඳහා වියුක්තයන් යෝජනා කෙරේ.
  • C හි දෝෂ කේත හැසිරවීම ආසන්න කිරීම සඳහා "Error::" උපසර්ගය (උදාහරණයක් ලෙස, "return Err(EINVAL)") නොමැතිව දෝෂ කේත භාවිතයට අවසර දී ඇත.
  • අභිරුචි C-strings සඳහා "CString" වර්ගය එක් කරන ලදී. Formatter සහ Buffer වර්ග ඒකාබද්ධ කර ඇත.
  • Bool සහ LockInfo වර්ග එකතු කරන ලදි.
  • ස්පින් අගුල් ක්රියාත්මක කිරීම සරල කර ඇත.

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

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