Rammi til að skrifa örugga rekla fyrir Linux kjarnann í Rust

Josh Triplett, sem starfar hjá Intel og er í nefndinni sem hefur umsjón með þróun Crates.io, og talar á Open Source Technology Summit kynnt vinnuhópur sem hefur það að markmiði að færa Rust-málið til jafns við C-málið á sviði kerfisforritunar.

Í vinnuhópi sem er í vinnslu munu Rust forritarar, ásamt verkfræðingum frá Intel, útbúa forskriftir sem skilgreina virknina sem þarf að innleiða í Rust fyrir kerfisforritun. Kerfisforritun krefst oft meðhöndlunar á lágu stigi, svo sem að framkvæma leiðbeiningar um forréttindi örgjörva og fá nákvæmar upplýsingar um stöðu örgjörvans. Af svipuðum eiginleikum sem þegar er verið að þróa fyrir Rust, er bent á stuðning við ónefnd mannvirki, verkalýðsfélög, samsetningartungumálainnskot („asm!” fjölvi) og BFLOAT16 flottölusniðið.

Josh telur að framtíð kerfisforritunar tilheyri Rust, og C-málið í nútíma veruleika gerir tilkall til þess sess sem þingið tók á undanförnum árum. Ryð
leysir ekki aðeins forritara undan þeim vandamálum sem felast í C tungumálinu sem koma upp vegna vinnu á lágu stigi með minni, heldur gefur einnig tækifæri til að nota það í þróun nútíma forritunarfyrirmynda.

Á meðan umræður sýningar
Josh kom með þá hugmynd að bæta við möguleikanum á að þróa rekla í Linux kjarnanum á Rust tungumálinu, sem myndi gera það mögulegt að búa til öruggari og betri rekla með lágmarks fyrirhöfn, laus við vandamál eins og aðgang að minni eftir losun, null benditilvísanir og biðminni umframkeyrslu.

Greg Kroah-Hartman, sem er ábyrgur fyrir því að viðhalda stöðugri grein Linux kjarnans, lýsti sig reiðubúinn til að bæta ramma til að þróa rekla á Rust tungumálinu við kjarnann ef það hefur raunverulega kosti umfram C, til dæmis mun það veita örugga bindingar yfir Kernel API. Að auki lítur Greg á þennan ramma aðeins sem valmöguleika, ekki virkan sjálfgefið, svo að Rust sé ekki með sem byggingarháð kjarnanum.

Það kom í ljós að nokkur teymi vinna nú þegar í þessa átt. Til dæmis, verktaki frá fyrirtækinu „Fish in a Barrel“ undirbúinn verkfærakista til að skrifa hlaðanlegar einingar fyrir Linux kjarnann á Rust tungumálinu, með því að nota sett af óhlutbundnum lögum yfir viðmót og kjarnabyggingu til að auka öryggi. Lög eru sjálfkrafa mynduð út frá núverandi kjarnahausskrám með því að nota tólið bindgen. Clang er notað til að byggja upp lög. Auk millilaga nota samansettu einingarnar staticlib pakkann.

Samhliða er að þróast Annað verkefni einbeitti sér að því að þróa rekla fyrir innbyggð kerfi og IoT tæki, sem einnig notar bindgen til að búa til lög byggð á kjarnahausskrám. Ramminn gerir þér kleift að bæta öryggi ökumanns án þess að gera breytingar á kjarnanum - í stað þess að búa til viðbótar einangrunarstig fyrir ökumenn í kjarnanum, er lagt til að loka fyrir vandamál á samantektarstigi með því að nota öruggara Rust tungumál. Gert er ráð fyrir að slík nálgun kunni að vera eftirsótt af búnaðarframleiðendum sem þróa eigin rekla í flýti án þess að gera viðeigandi úttekt.

Ekki er búið að innleiða alla fyrirhugaða virkni, en ramminn er nú þegar mjög hentugur fyrir vinnu og var notaður til að skrifa starfandi rekla fyrir LAN9512 USB Ethernet stýringuna sem fylgir Raspberry Pi 3 borðinu. C tungumál. Það er tekið fram að einingastærð og kostnaður frá keyrsluhlutum þegar verið er að þróa rekla í Rust eru óveruleg, sem gerir kleift að nota rammann fyrir tæki með takmarkað fjármagn.

Heimild: opennet.ru

Bæta við athugasemd