An treas 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 roghainn treas pàirt a mholadh airson a bhith a’ leasachadh draibhearan inneal anns a’ chànan Rust airson luchd-leasachaidh kernel Linux beachdachadh. Thathas den bheachd gu bheil taic meirge deuchainneach, ach chaidh aontachadh mu thràth airson a thoirt a-steach don mheur linux-next. 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 an 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 agus an dàrna dreach de na pìosan. Na h-atharrachaidhean as follaisiche:

  • Chaidh eadar-ghluasad a dhèanamh gu bhith a’ cleachdadh an sgaoileadh seasmhach de Rust 1.57 mar an inneal-iomraidh agus chaidh ceangal ris an deasachadh seasmhach de chànan Rust 2021 a thoirt seachad. Roimhe sin, bha pìosan ceangailte ri meur beta Rust agus chleachd iad cuid de fheartan cànain a air an seòrsachadh mar neo-sheasmhach. Leig an gluasad gu sònrachadh Rust 2021 leinn obair a thòiseachadh gus cleachdadh feartan neo-sheasmhach ann am pìosan mar const_fn_transmute, const_panic, const_unavailable_unchecked agus core_panic agus try_reserve a sheachnadh.
  • Tha leasachadh an dreach alloc de leabharlann Rust a tha air a ghabhail a-steach anns na pìosan air leantainn, air atharrachadh gus cuir às do ghnìomhan riarachadh cuimhne ginealach a dh’ fhaodadh a bhith ann den stàit “clisgeadh” nuair a thachras mearachdan, leithid taobh a-muigh cuimhne. Bidh an dreach ùr a’ cur an gnìomh na roghainnean “no_rc” agus “no_sync” gus comas-gnìomh nach eilear a’ cleachdadh ann an còd kernel Rust a chuir dheth, a’ dèanamh an leabharlann nas modular. Tha obair a’ leantainn leis na prìomh luchd-leasachaidh alloc, ag amas air na h-atharrachaidhean a tha a dhìth airson an kernel a ghluasad chun phrìomh leabharlann. Chaidh an roghainn “no_fp_fmt_parse”, a tha riatanach airson an leabharlann obrachadh aig ìre kernel, a ghluasad gu leabharlann bonn Rust (cridhe).
  • Chaidh an còd a ghlanadh gus faighinn cuidhteas rabhaidhean cruinneachaidh a dh’ fhaodadh a bhith ann nuair a thogas tu an kernel ann am modh CONFIG_WERROR. Nuair a bhios tu a’ togail còd ann an Rust, tha modhan sgrùdaidh cruinneachaidh a bharrachd agus rabhaidhean lìnidh Clippy air an comasachadh.
  • Thathas a’ moladh geàrr-chunntasan a chleachdadh ann an còd Rust airson seqlocks (glasan sreath), fios air ais airson riaghladh cumhachd, Cuimhne I / O (readX / writeX), làimhseachadh brisidh agus snàithlean, GPIO, ruigsinneachd gu innealan, draibhearan agus teisteanasan.
  • Chaidh na h-innealan airson leasachadh dhràibhearan a leudachadh gus a bhith a’ toirt a-steach mutexes ath-ghluasad, bit iterators, ceangalaichean puing nas sìmplidhe, breithneachadh locht nas fheàrr, agus bun-structar neo-eisimeileach bus dàta.
  • Obair nas fheàrr le ceanglaichean a’ cleachdadh seòrsa Ref nas sìmplidhe, stèidhichte air an backend refcount_t, a chleachdas an kernel API den aon ainm airson iomraidhean a chunntadh. Chaidh taic airson na seòrsaichean Arc agus Rc a tha air an toirt seachad anns an leabharlann alloc àbhaisteach a thoirt air falbh agus chan eil e ri fhaighinn ann an còd a chaidh a chuir gu bàs aig ìre kernel (chaidh roghainnean ullachadh airson an leabharlann fhèin a chuireas à comas na seòrsaichean sin).
  • Tha na pìosan a’ toirt a-steach dreach den draibhear PL061 GPIO, air ath-sgrìobhadh ann an Rust. Is e feart sònraichte den draibhear gu bheil a bhuileachadh cha mhòr loidhne air loidhne ag ath-aithris an draibhear GPIO a tha ann an-dràsta sa chànan C. Do luchd-leasachaidh a tha airson eòlas fhaighinn air a bhith a 'cruthachadh dhraibhearan ann an Rust, chaidh coimeas loidhne-air-loidhne ullachadh a leigeas leotha tuigsinn dè na togalaichean anns a' chòd Rust an C air a thionndadh.
  • Tha prìomh bhun-còd Rust air gabhail ri rustc_codegen_gcc, backend rustc airson GCC a bhios a’ buileachadh cruinneachadh ro-làimh (AOT) a’ cleachdadh an leabharlann libgccjit. Le leasachadh ceart air an backend, leigidh e leat an còd Rust a tha an sàs anns an kernel a chruinneachadh a ’cleachdadh GCC.
  • A bharrachd air ARM, Google agus Microsoft, tha Red Hat air ùidh a nochdadh ann a bhith a’ cleachdadh cànan Rust anns an kernel Linux. Cuimhnichidh sinn gu bheil Google gu dìreach a’ toirt taic don phròiseact Rust for Linux, gu bheil e a’ leasachadh buileachadh ùr den inneal conaltraidh eadar-phròiseas Binder ann an Rust, agus gu bheil e a’ beachdachadh air comasachd grunn dhraibhearan ath-obrachadh ann an Rust. Tha Microsoft air tòiseachadh air draibhearan a chuir an gnìomh airson Hyper-V ann an Rust. Tha ARM ag obair gus taic Rust a leasachadh airson siostaman stèidhichte air ARM. Tha IBM air taic Rust a chuir an gnìomh anns an kernel airson siostaman PowerPC.

Source: fosgailtenet.ru

Cuir beachd ann