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

Rust-for-Linux ව්‍යාපෘතියේ කතුවරයා වන Miguel Ojeda, Linux කර්නල් සංවර්ධකයින් විසින් සලකා බැලීම සඳහා Rust භාෂාවෙන් උපාංග ධාවක සංවර්ධනය කිරීම සඳහා සංරචකවල යාවත්කාලීන අනුවාදයක් යෝජනා කළේය. මලකඩ සහාය පර්යේෂණාත්මක ලෙස සලකනු ලැබේ, නමුත් linux-ඊළඟ ශාඛාව තුළට ඇතුළත් කිරීම සඳහා දැනටමත් එකඟ වී ඇත. නව අනුවාදය පැච් වල පළමු අනුවාදය පිළිබඳ සාකච්ඡාවේදී කරන ලද අදහස් ඉවත් කරයි. Linus Torvalds දැනටමත් සාකච්ඡාවට සම්බන්ධ වී ඇති අතර සමහර බිට් මෙහෙයුම් සැකසීම සඳහා තර්කනය වෙනස් කිරීමට යෝජනා කර ඇත.

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

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

පැච් වල නව අනුවාදයේ වඩාත්ම කැපී පෙනෙන වෙනස්කම්:

  • මතකය වෙන්කිරීමේ කේතය මතකය නැතිවීම වැනි දෝෂ ඇති වූ විට "සන්ත්‍රාසය" තත්වයක් ජනනය කිරීමෙන් නිදහස් වේ. Rust alloc පුස්තකාලයේ ප්‍රභේදයක් ඇතුළත් වන අතර, එය අසාර්ථකත්වයන් හැසිරවීමට කේතය නැවත සකස් කරයි, නමුත් අවසාන ඉලක්කය වන්නේ කර්නලයට අවශ්‍ය සියලුම අංග alloc හි ප්‍රධාන සංස්කරණයට මාරු කිරීමයි (වෙනස්කම් දැනටමත් සකස් කර සම්මතයට මාරු කර ඇත. මලකඩ පුස්තකාලය).
  • රාත්‍රී ගොඩනැගීම් වෙනුවට, ඔබට දැන් රස්ට් සහාය ඇති කර්නලයක් සම්පාදනය කිරීමට බීටා නිකුතු සහ rustc සම්පාදකයේ ස්ථාවර නිකුතු භාවිතා කළ හැක. දැනට, rustc 1.54-beta1 සමුද්දේශ සම්පාදකය ලෙස භාවිතා කරයි, නමුත් 1.54 නිකුතුව මාසය අවසානයේ නිකුත් කිරීමෙන් පසුව, එය යොමු සම්පාදකය ලෙස සහය දක්වයි.
  • Rust සඳහා සම්මත “#[test]” ගුණාංගය භාවිතා කරමින් පරීක්ෂණ ලිවීම සඳහා සහය සහ පරීක්ෂණ ලේඛනගත කිරීමට doctests භාවිතා කිරීමේ හැකියාව.
  • කලින් සහාය දක්වන ලද x32_86 සහ ARM64 ට අමතරව ARM64 සහ RISCV ගෘහ නිර්මාණ ශිල්පය සඳහා සහය එක් කරන ලදී.
  • GCC Rust (Rust සඳහා GCC ඉදිරිපස) සහ rustc_codegen_gcc (GCC සඳහා rustc පසුබිම) වැඩිදියුණු කළ ක්‍රියාත්මක කිරීම්, එය දැන් සියලුම මූලික පරීක්ෂණ සමත් වේ.
  • රතු-කළු ගස්, විමර්ශන-ගණන් කරන ලද වස්තූන්, ගොනු විස්තර කිරීමේ නිර්මාණය, කාර්යයන්, ගොනු සහ I/O දෛශික වැනි C වලින් ලියා ඇති කර්නල් යාන්ත්‍රණවල රස්ට් ක්‍රමලේඛවල භාවිතය සඳහා නව මට්ටමේ වියුක්තයක් යෝජනා කෙරේ.
  • ධාවක සංවර්ධන සංරචක ගොනු_මෙහෙයුම් මොඩියුලය, මොඩියුලය! මැක්‍රෝ, සාර්ව ලියාපදිංචිය සහ ප්‍රාථමික ධාවක (පරීක්ෂණ සහ ඉවත් කිරීම) සඳහා වැඩි දියුණු කළ සහාය ඇත.
  • Binder දැන් සම්මත ගොනු විස්තර සහ LSM කොකු සඳහා සහය දක්වයි.
  • රස්ට් ධාවක සඳහා වඩාත් ක්‍රියාකාරී උදාහරණයක් යෝජනා කෙරේ - Raspberry Pi පුවරු වල දෘඩාංග අහඹු අංක උත්පාදක යන්ත්රය සඳහා bcm2835-rng.

මීට අමතරව, කර්නලයේ රස්ට් භාවිතය සම්බන්ධ සමහර සමාගම්වල ව්‍යාපෘති සඳහන් වේ:

  • මයික්‍රොසොෆ්ට් සමාගම ලිනක්ස් කර්නලයට රස්ට් සහාය ඒකාබද්ධ කිරීමේ කාර්යයට සහභාගී වීමට කැමැත්ත පළ කර ඇති අතර ඉදිරි මාසවලදී රස්ට් මත හයිපර්-වී සඳහා ධාවක ක්‍රියාත්මක කිරීම් ලබා දීමට සූදානම්ය.
  • ARM පාදක පද්ධති සඳහා රස්ට් සහාය වැඩිදියුණු කිරීමට ARM කටයුතු කරයි. රස්ට් ව්‍යාපෘතිය දැනටමත් 64-bit ARM පද්ධති ස්ථර 1 වේදිකාවක් බවට පත් කරන වෙනස්කම් යෝජනා කර ඇත.
  • Google සෘජුවම Rust for Linux ව්‍යාපෘතිය සඳහා සහාය ලබා දෙයි, රස්ට් හි Binder අන්තර් ක්‍රියාවලි සන්නිවේදන යාන්ත්‍රණයේ නව ක්‍රියාත්මක කිරීමක් සංවර්ධනය කරමින් සිටින අතර Rust හි විවිධ ධාවක නැවත සකස් කිරීමේ හැකියාව සලකා බලයි. ISRG (අන්තර්ජාල ආරක්ෂණ පර්යේෂණ කණ්ඩායම) හරහා, ලිනක්ස් කර්නලයට රස්ට් සහාය ඒකාබද්ධ කිරීම සඳහා වැඩ සඳහා ගූගල් අරමුදල් සපයන ලදී.
  • IBM විසින් PowerPC පද්ධති සඳහා රස්ට් සඳහා කර්නල් සහාය ක්‍රියාත්මක කර ඇත.
  • LSE (Systems Research Laboratory) රසායනාගාරය විසින් රස්ට් හි SPI ධාවකයක් නිපදවා ඇත.

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

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