Sabuwar sigar faci na Linux kernel tare da goyan bayan yaren Rust

Miguel Ojeda, marubucin aikin Rust-for-Linux, ya ba da shawarar sakin abubuwan v5 don haɓaka direbobin na'ura a cikin Yaren Rust don la'akari da masu haɓaka kernel na Linux. Wannan shine bugu na shida na faci, la'akari da sigar farko, wanda aka buga ba tare da lambar sigar ba. Ana ɗaukar goyon bayan tsatsa a matsayin gwaji, amma an riga an haɗa shi a cikin reshe na gaba na Linux kuma an haɓaka isasshe don fara aiki akan ƙirƙirar yadudduka na kernel subsystems, da kuma rubuta direbobi da kayayyaki. Google da ISRG (Rukunin Binciken Tsaro na Intanet) ne suka dauki nauyin wannan ci gaban, wanda shine wanda ya kafa aikin Mu Encrypt kuma yana haɓaka HTTPS da haɓaka fasahar inganta tsaro ta Intanet.

Ka tuna cewa canje-canjen da aka gabatar sun ba da damar yin amfani da Rust azaman harshe na biyu don haɓaka direbobi da samfuran kwaya. Ana gabatar da tallafin tsatsa azaman zaɓi wanda ba a kunna shi ta tsohuwa ba kuma baya haifar da shigar da tsatsa azaman dogaron ginawa da ake buƙata don kernel. Yin amfani da Rust don haɓaka direba zai ba ku damar ƙirƙirar mafi aminci kuma mafi kyawun direbobi tare da ƙaramin ƙoƙari, 'yanci daga matsaloli kamar samun damar ƙwaƙwalwar ajiya bayan 'yantarwa, ɓangarorin maƙasudin null, da buffer overruns.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu da tsawon rayuwa (ikon), haka kuma ta hanyar kimanta daidaitaccen damar ƙwaƙwalwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙaddamar da ƙima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai ƙarfi don rage kurakurai masu ma'ana.

Sabuwar sigar faci ta ci gaba da kawar da maganganun da aka yi yayin tattaunawar bugu na farko da na biyu da na uku da na hudu da na biyar na faci. A cikin sabon sigar:

  • An sabunta kayan aikin don sakin Rust 1.59.0. Hakanan ana daidaita bambance-bambancen ɗakin karatu na alloc tare da sabon sigar Tsatsa, yana kawar da yuwuwar ƙarni na yanayin “firgita” lokacin da kurakurai suka faru, kamar daga ƙwaƙwalwar ajiya. An daidaita ikon yin amfani da abubuwan saka masu tarawa ("feature(global_asm)").
  • Ƙara goyon baya don ƙirƙirar shirye-shiryen runduna a cikin Tsatsa waɗanda ake amfani da su yayin haɗar kwaya.
  • Maimakon isar da fayilolin ƙayyadaddun dandamali na manufa da aka riga aka ƙirƙira, ana ƙirƙira su da ƙarfi bisa tsarin kernel.
  • An ƙara ma'aunin kwaya HAVE_RUST don ba da dama ga gine-ginen da ke tallafawa Tsatsa.
  • Ana ba da shawarar abstractions don amfani a lambar tsatsa don janareta na lambar bazuwar hardware.
  • An ba da izinin amfani da lambobin kuskure ba tare da prefix na "Kuskure::" (misali, "Kuskuren dawowa(EINVAL)") don kimanta yadda ake sarrafa lambobin kuskure a cikin C.
  • An ƙara nau'in "CString" don igiyoyin C na al'ada. An haɗa nau'ikan Formatter da Buffer.
  • Ƙara nau'ikan Bool da LockInfo.
  • An sauƙaƙa aiwatar da makullin lanƙwasa.

source: budenet.ru

Add a comment