د لینوکس کرنل لپاره د پیچونو څلورم نسخه د زنګ ژبې لپاره ملاتړ سره

میګیویل اوجیدا، د Rust-for-Linux پروژې لیکوال، د لینکس کرنل پراختیا کونکو لخوا د غور لپاره د زنګ په ژبه کې د وسیلې ډرایورانو رامینځته کولو لپاره د اجزاو څلورم نسخه وړاندیز کړې. د زنګ ملاتړ تجربه کونکی ګڼل کیږي، مګر دمخه د لینکس-راتلونکي څانګې کې د شاملولو لپاره موافقه شوې او دومره بالغه ده چې د کرنل فرعي سیسټمونو، او همدارنګه د ډرایورونو او ماډلونو لیکلو په اړه د خلاصون پرتونو په جوړولو کار پیل کړي. پراختیا د ګوګل او ISRG (انټرنیټ امنیت څیړنې ګروپ) لخوا تمویل کیږي، کوم چې د لیټس انکریپ پروژې بنسټ ایښودونکی دی او HTTPS ته وده ورکوي او د انټرنیټ امنیت ښه کولو لپاره د ټیکنالوژیو پراختیا ته وده ورکوي.

په یاد ولرئ چې وړاندیز شوي بدلونونه دا ممکنه کوي چې د ډرایورانو او کرنل ماډلونو رامینځته کولو لپاره د دویمې ژبې په توګه د Rust کارول. د زنګ ملاتړ د یو اختیار په توګه وړاندې کیږي چې د ډیفالټ لخوا فعال شوی نه وي او پایله یې نه کیږي چې زنګ د کرنل لپاره د اړین جوړونې انحصار په توګه شامل شي. د ډرایور پراختیا لپاره د زنګ کارول به تاسو ته اجازه درکړي د لږترلږه هڅو سره خوندي او غوره ډرایورونه رامینځته کړئ ، له ستونزو څخه پاک وي لکه د خلاصیدو وروسته حافظې ته لاسرسی ، د نول پوائنټر ډیریفرنسونه ، او بفر اوورون.

د حافظې خوندي اداره کول په زنګ کې د تالیف په وخت کې د حوالې چیک کولو له لارې چمتو شوي ، د شیانو ملکیت تعقیب او د څیز ژوند وخت (سوق) ، او همدارنګه د کوډ اجرا کولو پرمهال د حافظې لاسرسي سموالي ارزونې له لارې. زنګ د انټیجر د زیاتیدو پروړاندې محافظت هم چمتو کوي ، د کارولو دمخه د متغیر ارزښتونو لازمي پیل ته اړتیا لري ، په معیاري کتابتون کې خطاګانې په ښه توګه اداره کوي ، د ډیفالټ لخوا د بدلیدونکي حوالې او متغیرونو مفهوم پلي کوي ، د منطقي غلطیو کمولو لپاره قوي جامد ټایپینګ وړاندیز کوي.

د پیچونو نوې نسخه د پیچونو د لومړۍ، دویمې او دریمې نسخې د بحث په جریان کې د شویو تبصرو له منځه وړلو ته دوام ورکوي. په نوې نسخه کې:

  • د حوالې تالیف کونکي په توګه د Rust 1.58.0 مستحکم ریلیز کارولو لپاره لیږد رامینځته شوی. د پروژې لپاره د اړینو بدلونونو په منځ کې، کوم چې لا تر اوسه په اصلي Rust Toolkit کې شامل نه دي، د "-Zsymbol-mangling-version=v0" بیرغ (په Rust 1.59.0 کې تمه کیږي) او "شاید_uninit_extra" حالت (په Rust 1.60.0 کې تمه کیږي. .XNUMX) یادونه شوې.
  • د مناسب زنګ وسیلو شتون لپاره اتوماتیک چیکونه اضافه کړل او په سیسټم کې د زنګ ملاتړ ازموینې وړتیا پراخه کړه.
  • د زنګ کوډ څخه د وسیلې پیژندونکي میزونو ("IdArray" او "IdTable") ته د لاسرسي لپاره نوي خلاصون وړاندیز شوي.
  • د ټایمر پورې اړوند دندو ته د لاسرسي لپاره پرتونه اضافه شوي (د ساعت چوکاټ).
  • د پلیټ فارم چلوونکي اوس د ځانګړتیاو پلي کولو له لارې تعریف شوي.
  • د پلیټ فارم چلوونکو راجسټریشن ساده کولو لپاره یو نوی میکرو اضافه شوی ، او د نوي عمومي چلونکي ټیمپلیټ وړاندیز شوی.
  • د "dev__*" جوړښتونو لپاره میکرو اضافه شوي.
  • د IoMem ډول لپاره د "{لوستلو، لیکلو}*_ آرامۍ" میتودونه اضافه شوي .
  • د فایل عملیات ساده کولو لپاره د فایل اوپنر ملکیت لرې کړ.
  • د "ThisModule" پیرامیټر د ډرایور راجستر کولو په وخت کې تیر شوي دلیلونو کې اضافه شوي.
  • د زنګ په ژبه کې د کرنل ماډلونو جوړولو لپاره معیاري ټیمپلیټ وړاندیز شوی.

سرچینه: opennet.ru

Add a comment