රස්ට් භාෂාව සඳහා සහය ඇති ලිනක්ස් කර්නලය සඳහා පැච් හතරවන සංස්කරණය

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

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

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

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

  • සමුද්දේශ සම්පාදකය ලෙස රස්ට් 1.58.0 හි ස්ථායී නිකුතුව භාවිතා කිරීමේ සංක්‍රාන්තිය සිදු කර ඇත. ප්‍රධාන Rust මෙවලම් කට්ටලයට තවමත් ඇතුළත් කර නොමැති ව්‍යාපෘතිය සඳහා අවශ්‍ය වෙනස්කම් අතර, “-Zsymbol-mangling-version=v0” ධජය (Rust 1.59.0 හි අපේක්ෂා කෙරේ) සහ “maybe_uninit_extra” මාදිලිය (Rust 1.60.0 හි අපේක්ෂා කෙරේ .XNUMX) සටහන් කර ඇත.
  • සුදුසු මලකඩ මෙවලම් ලබා ගැනීම සඳහා ස්වයංක්‍රීය චෙක්පත් එකතු කරන ලද අතර පද්ධතිය තුළ රස්ට් සහාය පරීක්ෂා කිරීමේ හැකියාව පුළුල් කරන ලදී.
  • රස්ට් කේතයෙන් උපාංග හඳුනාගැනීමේ වගු ("IdArray" සහ "IdTable") වෙත ප්‍රවේශ වීම සඳහා නව සාරාංශ යෝජනා කර ඇත.
  • ටයිමරයට අදාළ කාර්යයන් (ඔරලෝසු රාමුව) වෙත ප්‍රවේශ වීම සඳහා ස්ථර එකතු කරන ලදී.
  • වේදිකා ධාවක දැන් ලක්ෂණ ක්‍රියාත්මක කිරීම් හරහා අර්ථ දක්වා ඇත.
  • වේදිකා ධාවක ලියාපදිංචි කිරීම සරල කිරීම සඳහා නව මැක්‍රෝ එකක් එකතු කර ඇති අතර නව සාමාන්‍ය ධාවක අච්චුවක් යෝජනා කර ඇත.
  • "dev_*" ව්‍යුහයන් සඳහා මැක්‍රෝ එකතු කරන ලදී.
  • IoMem වර්ගය සඳහා "{කියවන්න, ලියන්න}*_relaxed" ක්‍රම එක් කරන ලදී .
  • ගොනු මෙහෙයුම් සරල කිරීමට FileOpener දේපල ඉවත් කරන ලදී.
  • "ThisModule" පරාමිතිය ධාවකයක් ලියාපදිංචි කිරීමේදී සම්මත කරන ලද තර්ක වලට එකතු කර ඇත.
  • රස්ට් භාෂාවෙන් කර්නල් මොඩියුල සෑදීම සඳහා සම්මත අච්චුවක් යෝජනා කෙරේ.

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

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