Frèam airson draibhearan tèarainte a sgrìobhadh airson an kernel Linux ann an Rust

Josh Triplett, a tha ag obair aig Intel agus a tha air a’ chomataidh a tha os cionn leasachadh Crates.io, a’ bruidhinn aig Co-labhairt Teicneòlas Open Source toirt a-steach buidheann-obrach ag amas air a’ chànan Rust a thoirt gu co-ionannachd ri cànan C ann an raon prògramadh shiostaman.

Ann am buidheann-obrach a tha an-dràsta ga chruthachadh, ullaichidh luchd-leasachaidh Rust, còmhla ri innleadairean bho Intel, mion-chomharrachadh a mhìnicheas na feartan a dh’ fheumar a chuir an gnìomh ann an Rust airson prògramadh shiostaman. Bidh prògramadh siostaim gu tric a’ feumachdainn làimhseachadh ìre ìosal, leithid a bhith a’ cur an gnìomh stiùireadh pròiseict sochair agus a’ faighinn fiosrachadh mionaideach mu staid a’ phròiseasar. De na feartan co-chosmhail a thathas a’ leasachadh mu thràth airson Rust, thathas a’ toirt fa-near taic do structaran gun ainm, aonaidhean, cuir a-steach cànan cruinneachaidh (am macro “asm!”) agus cruth àireamh puing-fleòdraidh BFLOAT16.

Tha Josh den bheachd gur ann le Rust a tha àm ri teachd prògramadh siostaim, agus tha cànan C ann am fìrinnean an latha an-diugh a’ tagradh an àite anns an robh Seanadh anns na bliadhnaichean a dh’ fhalbh. Meirge
chan e a-mhàin faochadh luchd-leasachaidh bho na duilgheadasan a tha dualach don chànan C a tha ag èirigh mar thoradh air obair aig ìre ìosal le cuimhne, ach tha e cuideachd a’ toirt cothrom a chleachdadh ann a bhith a’ leasachadh paradigms prògramadh an latha an-diugh.

còmhraidhean cuirmean
Thàinig Josh suas leis a ’bheachd a bhith a’ cur ris a ’chomas draibhearan a leasachadh anns an kernel Linux anns a’ chànan Rust, a dhèanadh e comasach draibhearan nas sàbhailte agus nas fheàrr a chruthachadh le glè bheag de oidhirp, saor bho dhuilgheadasan leithid ruigsinneachd cuimhne às deidh an saoradh, null comharran puingeachaidh agus tar-ruith bufair.

Chuir Greg Kroah-Hartman, a tha an urra ri cumail suas meur seasmhach an kernel Linux, an cèill gu bheil e deònach frèam a chuir ris airson a bhith a’ leasachadh dhraibhearan anns a’ chànan Rust dhan kernel ma tha fìor bhuannachdan aige thairis air C, mar eisimpleir, bheir e seachad tèarainteachd. ceangail thairis air Kernel API. A bharrachd air an sin, tha Greg a 'beachdachadh air an fhrèam seo a-mhàin mar roghainn, gun a bhith gnìomhach gu h-àbhaisteach, gus nach cuir e a-steach Rust mar eisimeileachd togail air an kernel.

Thionndaidh e a-mach gu bheil grunn sgiobaidhean ag obair a thaobh seo mu thràth. Mar eisimpleir, luchd-leasachaidh bhon chompanaidh "Fish in a Barrel" ullaichte inneal airson modalan a ghabhas luchdachadh a sgrìobhadh airson an kernel Linux anns a’ chànan Rust, a’ cleachdadh seata de shreathan eas-chruthach thairis air na h-eadar-aghaidh agus structaran kernel gus tèarainteachd àrdachadh. Bidh sreathan air an gineadh gu fèin-ghluasadach stèidhichte air na faidhlichean cinn kernel a th’ ann mar-thà a ’cleachdadh a’ ghoireas bingen. Tha clang air a chleachdadh airson sreathan a thogail. A bharrachd air interlayers, bidh na modalan cruinnichte a’ cleachdadh a’ phacaid staticlib.

Co-shìnte a ’leasachadh Chuir pròiseact eile fòcas air a bhith a’ leasachadh dhraibhearan airson siostaman freumhaichte agus innealan IoT, a bhios cuideachd a’ cleachdadh bindgen gus sreathan a ghineadh stèidhichte air faidhlichean cinn kernel. Tha am frèam a 'toirt cothrom dhut tèarainteachd dhràibhearan a leasachadh gun a bhith a' dèanamh atharrachaidhean air an kernel - an àite a bhith a 'cruthachadh ìrean iomallachd a bharrachd airson draibhearan anns a' chrann, thathar a 'moladh duilgheadasan a bhacadh aig an ìre cruinneachaidh, a' cleachdadh cànan Rust nas tèarainte. Thathas a’ gabhail ris gum faodadh an leithid de dhòigh-obrach a bhith ann an iarrtas bho luchd-saothrachaidh uidheamachd a tha a’ leasachadh draibhearan seilbhe ann an cabhaig gun a bhith a’ dèanamh sgrùdadh ceart.

Cha deach a h-uile gnìomh a tha san amharc a chuir an gnìomh fhathast, ach tha am frèam mar-thà gu math freagarrach airson obair agus chaidh a chleachdadh gus draibhear obrach a sgrìobhadh airson rianadair USB Ethernet LAN9512 a chaidh a thoirt seachad air bòrd Raspberry Pi 3. An draibhear smsc95xx a th ’ann, sgrìobhte le in C cànan. Tha e air a thoirt fa-near nach eil meud modal agus os cionn co-phàirtean runtime nuair a thathar a’ leasachadh draibhear ann an Rust beag, a leigeas leis an fhrèam a bhith air a chleachdadh airson innealan le goireasan cuibhrichte.

Source: fosgailtenet.ru

Cuir beachd ann