Versioni e re tu patch-eve për bërthamën Linux me mbështetje për gjuhën Rust

Miguel Ojeda, autori i projektit Rust-for-Linux, propozoi pĂ«r shqyrtim nga zhvilluesit e bĂ«rthamĂ«s Linux lĂ«shimin e komponentĂ«ve v5 pĂ«r zhvillimin e drejtorive tĂ« pajisjeve nĂ« gjuhĂ«n Rust. Kjo Ă«shtĂ« redaktimi i gjashtĂ« i patch-eve, duke marrĂ« parasysh variantin e parĂ« tĂ« publikuar pa numĂ«r versioni. MbĂ«shtetje pĂ«r Rust konsiderohet si eksperimentale, por tashmĂ« Ă«shtĂ« pĂ«rfshirĂ« nĂ« degĂ«n linux-next dhe Ă«shtĂ« mjaft e zhvilluar pĂ«r tĂ« filluar punĂ«n mbi krijimin e shtresave tĂ« abstraksionit mbi nĂ«n-sistemĂ«t e bĂ«rthamĂ«s, si dhe pĂ«r shkruarjen e drejtorive dhe moduleve. Zhvillimi financohet nga kompania Google dhe organizata ISRG (Internet Security Research Group), e cila Ă«shtĂ« themeluesi i projektit Let’s Encrypt dhe ndihmon nĂ« promovimin e HTTPS dhe zhvillimin e teknologjive pĂ«r tĂ« rritur sigurinĂ« e internetit.

Kujtojmë se ndryshimet e propozuara japin mundësinë për të përdorur Rust si gjuhën e dytë për zhvillimin e drejtorive dhe moduleve të bërthamës. Mbështetja për Rust paraqitet si një opsion, i cili nuk është aktiv me parazgjedhje dhe nuk çon në përfshirjen e Rust në listën e varësive të detyrueshme për ndërtimin e bërthamës. Përdorimi i Rust për zhvillimin e drejtorive do të lejojë krijimin e drejtorive të sigurta dhe më të kualitetshme me minimumin e mundimeve, duke eliminuar probleme si manipulimi me hapësirën e memories pas lirimit të saj, dereferencimi i pikave null dhe tejkalimi i kufijve të tamponit.

Trajtimi i sigurt i memories garantohet në Rust gjatë kompilimit përmes verifikimit të referencave, ndjekjes së pronësisë së objekteve dhe marrëveshjes së kohëzgjatjes së objekteve (zona e dukshmërisë), si dhe përmes vlerësimit të saktësisë së qasjes në memory gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtjen nga mbushjet e numrave të plotë, kërkon inicializimin e detyrueshëm të vlerave të variablave përpara përdorimit, trajton më mirë gabimet në bibliotekën standarde, zbaton konceptin e referencave dhe variablave të pazëvendësueshëm (immutable) si standard, dhe ofron tipizim të fortë statik për minimizimin e gabimeve logjike.

Në variantin e ri të patch-eve vazhdohet eliminimi i vërejtjeve që janë shprehur gjatë diskutimeve të redaktimeve të para, të dyta, të treta, të katërta dhe të pestë të patch-eve. Në versionin e ri:

  • Instrumenti Ă«shtĂ« pĂ«rditĂ«suar nĂ« lĂ«shimin Rust 1.59.0. Me versionin e ri tĂ« Rust-it Ă«shtĂ« sinkronizuar gjithashtu varianti i bibliotekĂ«s alloc, i liruar nga gjenerimet e mundshme tĂ« gjendjes "panic" nĂ« rast tĂ« gabimeve siç Ă«shtĂ« mungesa e memories. Stabilizuar mundĂ«sia e pĂ«rdorimit tĂ« futjeve assemblerike ("feature(global_asm)").
  • Shtuar mbĂ«shtetje pĂ«r krijimin e programeve host nĂ« gjuhĂ«n Rust, tĂ« pĂ«rdorura nĂ« procesin e kompilimit tĂ« bĂ«rthamĂ«s.
  • NĂ« vend tĂ« shpĂ«rndarjes sĂ« skedareve tĂ« krijuara paraprakisht me specifikimin e platformave tĂ« synuara, Ă«shtĂ« siguruar gjenerimi i tyre dinamik nĂ« bazĂ« tĂ« konfigurimit tĂ« bĂ«rthamĂ«s.
  • Shtuar parametri i bĂ«rthamĂ«s HAVE_RUST, i aktivizuar pĂ«r arkitekturat ku Rust mbĂ«shtetet.
  • Propozuar abstraksionet pĂ«r pĂ«rdorim nĂ« kodin nĂ« gjuhĂ«n Rust tĂ« gjeneratorit hardueror tĂ« numrave pseudo-rastor.
  • Lejuar pĂ«rdorimi i kodave tĂ« gabimeve pa prefix-in "Error::" (p.sh., "return Err(EINVAL)") pĂ«r t'u afruar me trajtimin e kodave tĂ« gabimeve nĂ« C.
  • Shtuar lloji "CString" pĂ«r stringjet e veta C. Bashkuar tipet Formatter dhe Buffer.
  • Shtuar tipazhet Bool dhe LockInfo.
  • Thjeshtuar implementimi i spin-lock-Ă«ve.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster