Creat chun tiománaithe slán a scríobh don eithne Linux i Rust

Josh Triplett, a oibríonn ag Intel agus atá ar an gcoiste a mhaoirsíonn forbairt Crates.io, ag labhairt ag Cruinniú Mullaigh Teicneolaíochta Foinse Oscailte tugadh isteach grúpa oibre a raibh sé mar aidhm aige an teanga Rust a thabhairt cothrom le teanga C i réimse ríomhchlárú na gcóras.

I ngrúpa oibre atá á gcruthú, ullmhóidh forbróirí Rust, in éineacht le hinnealtóirí ó Intel, sonraíochtaí a shaineoidh an fheidhmiúlacht is gá a chur i bhfeidhm i Rust le haghaidh ríomhchlárú córais. Is minic a éilíonn ríomhchlárú córais ionramháil ar leibhéal íseal, mar shampla treoracha próiseálaithe pribhléideach a fhorghníomhú agus faisnéis mhionsonraithe a fháil faoi staid an phróiseálaí. As na gnéithe cosúla atá á bhforbairt cheana féin le haghaidh Rust, tugtar faoi deara tacaíocht do struchtúir gan ainm, ceardchumainn, ionsátaí teanga tionóil (an macra “asm!”) agus formáid uimhir snámhphointe BFLOAT16.

Creideann Josh go mbaineann todhchaí na ríomhchláraithe córais le Rust, agus tá an teanga C i réaltachtaí nua-aimseartha ag éileamh na háite a bhí i seilbh Tionóil le blianta beaga anuas. Meirge
ní hamháin go gcuireann sé faoiseamh ar fhorbróirí ó na fadhbanna bunúsacha sa teanga C a thagann chun cinn mar gheall ar obair ísealleibhéil le cuimhne, ach tugann sé deis freisin é a úsáid i bhforbairt paraidímí ríomhchlárúcháin nua-aimseartha.

Le linn díospóireachtaí léirithe
Tháinig Josh suas leis an smaoineamh an cumas chun tiománaithe a fhorbairt san eithne Linux sa teanga Rust a chur leis, rud a d'fhágfadh go bhféadfaí tiománaithe níos sábháilte agus níos fearr a chruthú le hiarracht íosta, saor ó fhadhbanna cosúil le rochtain cuimhne tar éis iad a shaoradh, null. tagairtí pointeora agus róchaiteachas maolánach.

Chuir Greg Kroah-Hartman, atá freagrach as an brainse cobhsaí den eithne Linux in iúl, go bhfuil sé ullamh creat a chur leis chun tiománaithe a fhorbairt sa teanga Rust a chur leis an eithne má tá fíorbhuntáistí aige thar C, mar shampla, soláthróidh sé slán. ceangail thar API Eithne. Ina theannta sin, ní mheasann Greg an creat seo ach mar rogha, nach bhfuil gníomhach de réir réamhshocraithe, ionas nach n-áirítear Rust mar spleáchas tógála ar an eithne.

Iompaigh sé amach go bhfuil roinnt foirne ag obair cheana féin sa treo seo. Mar shampla, forbróirí ón gcuideachta "Fish in a Barrel" ullmhaithe foireann uirlisí chun modúil in-lódáilte a scríobh don eithne Linux sa teanga Rust, ag baint úsáide as sraith sraitheanna teibí thar na struchtúir comhéadain agus eithne chun slándáil a mhéadú. Gintear sraitheanna go huathoibríoch bunaithe ar na comhaid ceanntásca eithne atá ann cheana ag baint úsáide as an bhfóntas bingin. Úsáidtear clang chun sraitheanna a thógáil. Chomh maith le hidirleaganacha, úsáideann na modúil cóimeáilte an pacáiste staticlib.

Comhthreomhar ag forbairt Dhírigh tionscadal eile ar thiománaithe a fhorbairt le haghaidh córais leabaithe agus feistí IoT, a úsáideann bindgen freisin chun sraitheanna a ghiniúint bunaithe ar chomhaid ceanntásca eithne. Ceadaíonn an creat duit slándáil tiománaithe a fheabhsú gan athruithe a dhéanamh ar an eithne - in ionad leibhéil leithlisithe breise a chruthú do thiománaithe san eithne, tá sé beartaithe fadhbanna a bhlocáil ag an gcéim tiomsaithe, ag baint úsáide as an teanga Rust níos sláine. Glactar leis go bhféadfadh go mbeadh éileamh ar a leithéid de chur chuige ó mhonaróirí trealaimh a fhorbraíonn tiománaithe dílseánaigh faoi dheifir gan iniúchadh ceart a dhéanamh.

Níl an fheidhmiúlacht go léir atá beartaithe curtha i bhfeidhm go fóill, ach tá an creat oiriúnach go leor le haghaidh oibre cheana féin agus úsáideadh é chun tiománaí oibre a scríobh don rialtóir USB Ethernet LAN9512 a sholáthraítear ar an mbord Raspberry Pi 3. Tá an tiománaí smsc95xx atá ann cheana féin, scríofa ag i. C teanga. Tugtar faoi deara go bhfuil méid an mhodúil agus an forchostais ó chomhpháirteanna am rite nuair a bhíonn tiománaí á bhforbairt i Rust neamhshuntasach, rud a fhágann gur féidir an creat a úsáid le haghaidh feistí le hacmhainní teoranta.

Foinse: oscailtenet.ru

Add a comment