Katriyèm edisyon patch pou nwayo Linux ak sipò pou lang Rust la

Miguel Ojeda, otè pwojè Rust-for-Linux, te pwopoze yon katriyèm vèsyon konpozan pou devlope chofè aparèy nan lang Rust pou konsiderasyon devlopè nwayo Linux yo. Yo konsidere sipò Rust kòm eksperimantal, men li deja dakò pou enkli nan branch linux-next la epi li ase matirite pou kòmanse travay sou kreye kouch abstrè sou subsistèm nwayo, osi byen ke ekri chofè ak modil. Devlopman an finanse pa Google ak ISRG (Gwoup Rechèch Sekirite Entènèt la), ki se fondatè pwojè Let's Encrypt ak ankouraje HTTPS ak devlopman teknoloji pou amelyore sekirite entènèt la.

Sonje byen, chanjman yo pwopoze yo fè li posib pou itilize Rust kòm yon dezyèm lang pou devlope chofè ak modil nwayo. Yo prezante sipò Rust kòm yon opsyon ki pa aktive pa default epi ki pa lakòz yo enkli Rust kòm yon depandans konstriksyon obligatwa pou nwayo a. Sèvi ak Rust pou devlopman chofè pral pèmèt ou kreye chofè ki pi an sekirite ak pi bon ak efò minim, san pwoblèm tankou aksè memwa apre yo fin libere, dereferans pointeur nil, ak depase tanpon.

Sekirite memwa yo bay nan Rust nan moman konpile atravè tcheke referans, kenbe tras nan pwopriyetè objè a ak tout lavi objè a (dimansyon), osi byen ke nan evalyasyon kòrèk aksè nan memwa pandan ekzekisyon kòd. Rust tou bay pwoteksyon kont debòde nonb antye relatif, mande pou inisyalizasyon obligatwa nan valè varyab anvan ou itilize, okipe erè pi byen nan bibliyotèk estanda a, aplike konsèp nan referans imuiabl ak varyab pa default, ofri fò sezisman estatik pou minimize erè lojik.

Nouvo vèsyon patch yo kontinye elimine kòmantè yo te fè pandan diskisyon premye, dezyèm ak twazyèm edisyon patch yo. Nan nouvo vèsyon an:

  • Tranzisyon an pou itilize lage ki estab nan Rust 1.58.0 kòm konpilateur referans la te fèt. Pami chanjman ki nesesè pou pwojè a, ki poko enkli nan bwat zouti prensipal Rust, drapo "-Zsymbol-mangling-version=v0" (espere nan Rust 1.59.0) ak mòd "maybe_uninit_extra" (espere nan Rust 1.60.0). .XNUMX) yo note. .
  • Te ajoute chèk otomatik pou disponiblite zouti Rust apwopriye ak elaji kapasite pou teste sipò Rust nan sistèm lan.
  • Nouvo abstraksyon yo te pwopoze pou jwenn aksè nan tab idantifyan aparèy ("IdArray" ak "IdTable") nan kòd Rust.
  • Te ajoute kouch pou jwenn aksè nan fonksyon ki gen rapò ak revèy (fond revèy).
  • Pilòt platfòm yo defini kounye a atravè aplikasyon karakteristik.
  • Yo te ajoute yon nouvo makro pou senplifye enskripsyon chofè platfòm yo, epi yo te pwopoze yon nouvo modèl chofè jenerik.
  • Te ajoute makro pou estrikti "dev_*".
  • Te ajoute metòd "{read,write}*_relaxed" pou kalite IoMem.
  • Retire pwopriyete FileOpener pou senplifye operasyon dosye yo.
  • Yo te ajoute paramèt "ThisModule" nan agiman yo te pase lè yo te anrejistre yon chofè.
  • Yo pwopoze yon modèl estanda pou kreye modil nwayo nan lang Rust.

Sous: opennet.ru

Add nouvo kòmantè