An còigeamh deasachadh de phìosan airson an kernel Linux le taic don chànan Rust

Tha Miguel Ojeda, ùghdar a’ phròiseict Rust-for-Linux, air còigeamh dreach de cho-phàirtean a mholadh airson a bhith a’ leasachadh dhràibhearan inneal anns a’ chànan Rust airson beachdachadh le luchd-leasachaidh kernel Linux. Thathas den bheachd gu bheil taic meirge deuchainneach, ach tha e mu thràth air a ghabhail a-steach sa mheur linux-ath agus tha e air a leasachadh gu leòr gus tòiseachadh air obair air cruthachadh sreathan tarraing thairis air fo-shiostaman kernel, a bharrachd air a bhith a’ sgrìobhadh dhraibhearan agus mhodalan. Tha an leasachadh air a mhaoineachadh le Google agus an ISRG (Buidheann Sgrùdaidh Tèarainteachd Eadar-lìn), a stèidhich am pròiseact Let's Encrypt agus a bhrosnaicheas HTTPS agus leasachadh theicneòlasan gus tèarainteachd eadar-lìn a leasachadh.

Cuimhnich gu bheil na h-atharrachaidhean a tha san amharc ga dhèanamh comasach Rust a chleachdadh mar dhàrna cànan airson draibhearan agus modalan kernel a leasachadh. Tha taic meirge air a thaisbeanadh mar roghainn nach eil air a chomasachadh gu bunaiteach agus nach eil a’ ciallachadh gu bheil Rust air a ghabhail a-steach mar eisimeileachd togail riatanach airson an kernel. Le bhith a’ cleachdadh Rust airson leasachadh dhràibhearan leigidh sin leat draibhearan nas sàbhailte agus nas fheàrr a chruthachadh le glè bheag de dh’ oidhirp, saor bho dhuilgheadasan leithid ruigsinneachd cuimhne às deidh an saoradh, ro-aithrisean puing null, agus cus bufair.

Bidh Rust a’ sparradh sàbhailteachd cuimhne aig àm cruinneachaidh tro sgrùdadh iomraidh, sealbhachadh nithean agus lorg fad-beatha nithean (scopes), agus le bhith a’ measadh dè cho ceart ‘s a tha slighean cuimhne aig àm ruith. Bidh Rust cuideachd a’ toirt dìon an aghaidh tar-shruthan iomlan, ag iarraidh gun tèid luachan caochlaideach a thòiseachadh mus tèid an cleachdadh, gu bheil làimhseachadh mhearachdan nas fheàrr aige san leabharlann àbhaisteach, a’ cleachdadh bun-bheachd iomraidhean agus caochladairean neo-sheasmhach gu bunaiteach, agus a’ tabhann clò-sgrìobhadh làidir statach gus mearachdan loidsigeach a lughdachadh.

Tha an dreach ùr de na pìosan a’ leantainn air adhart a’ cur às do na beachdan a chaidh a dhèanamh tron ​​​​deasbad air a’ chiad, an dàrna, an treas agus an ceathramh deasachadh de na pìosan. Anns an dreach ùr:

  • Chaidh deuchainn co-phàirteach airson taic Rust a chuir ris an t-siostam amalachaidh leantainneach stèidhichte air bot 0DAY / LKP le taic Intel agus tha foillseachadh aithisgean deuchainn air tòiseachadh. Tha sinn ag ullachadh gus taic Rust fhilleadh a-steach do shiostam deuchainn fèin-ghluasadach KernelCI. Chaidh deuchainnean stèidhichte air GitHub CI a ghluasad gu cleachdadh soithichean.
  • Tha modalan kernel meirge air an saoradh bhon fheum air feartan crate “#! [no_std]” agus “#! [feart (…)]” a mhìneachadh.
  • Taic a bharrachd airson targaidean co-chruinneachaidh singilte (.o, .s, .ll agus .i).
  • Tha stiùiridhean còd a’ mìneachadh riaghailtean airson beachdan a sgaradh (“//”) agus còd clàraidh (“///”).
  • Chaidh an sgriobt is_rust_module.sh ath-obrachadh.
  • Taic a bharrachd airson prìomhairean sioncronaidh statach (caochladair co-roinnte cruinne) stèidhichte air buileachadh “CONFIG_CONSTRUCTORS”.
  • Tha riaghladh glasan air a dhèanamh nas sìmplidhe: tha Guard and GuardMut air an cur còmhla agus aon sheòrsa parameterized.
  • Tha e comasach crìochan a bharrachd a mhìneachadh nuair a bhios tu a’ clàradh innealan.
  • Chaidh an tarraing “RwSemaphore” a chur ris, a tha ag obair mar chòmhdach thairis air structar rw_semaphore C.
  • Gus mmap a chleachdadh, chaidh modal mm ùr agus tarraing VMA a chur ris (còmhdaich thairis air structar vm_area_struct).
  • Chaidh an draibhear GPIO PL061 atharrachadh gu bhith a’ cleachdadh am macro “dev_*!”.
  • Chaidh glanadh coitcheann den chòd a dhèanamh.

Source: fosgailtenet.ru

Cuir beachd ann