Josh Triplett, na nagtatrabaho sa Intel at nasa komite na nangangasiwa sa pagbuo ng Crates.io, nagsasalita sa Open Source Technology Summit
Sa isang nagtatrabahong grupo na nasa proseso ng paglikha, ang mga developer ng Rust, kasama ang mga inhinyero mula sa Intel, ay maghahanda ng mga detalye na tumutukoy sa functionality na kailangang ipatupad sa Rust para sa programming ng mga system. Ang system programming ay madalas na nangangailangan ng mababang antas ng pagmamanipula, tulad ng pagsasagawa ng mga privileged na tagubilin ng processor at pagkuha ng detalyadong impormasyon tungkol sa estado ng processor. Sa mga katulad na tampok na binuo na para sa Rust, ang suporta para sa hindi pinangalanang mga istruktura, unyon, pagsingit ng wika ng pagpupulong (ang "asm!" macro) at ang format ng numero ng floating point na BFLOAT16 ay nabanggit.
Naniniwala si Josh na ang kinabukasan ng system programming ay pag-aari ng Rust, at ang wikang C sa modernong realidad ay inaangkin ang lugar na noong mga nakaraang taon ay inookupahan ng Assembly. Kalawang
hindi lamang pinapawi ang mga developer mula sa mga problema na likas sa wikang C na lumitaw dahil sa mababang antas ng trabaho na may memorya, ngunit nagbibigay din ng pagkakataong gamitin ito sa pagbuo ng mga modernong paradigms ng programming.
Habang
Nakaisip si Josh ng ideya ng pagdaragdag ng kakayahang bumuo ng mga driver sa Linux kernel sa Rust na wika, na gagawing posible na lumikha ng mas ligtas at mas mahusay na mga driver na may kaunting pagsisikap, walang mga problema tulad ng pag-access sa memorya pagkatapos ng pagpapalaya, null pointer dereferences at buffer overruns.
Si Greg Kroah-Hartman, na responsable sa pagpapanatili ng matatag na sangay ng kernel ng Linux, ay nagpahayag ng kanyang kahandaang magdagdag ng isang balangkas para sa pagbuo ng mga driver sa Rust na wika sa kernel kung ito ay may tunay na mga pakinabang sa C, halimbawa, ito ay magbibigay ng ligtas. mga binding sa Kernel API. Bilang karagdagan, isinasaalang-alang lamang ni Greg ang balangkas na ito bilang isang opsyon, hindi aktibo bilang default, upang hindi maisama ang Rust bilang isang build dependency sa kernel.
Ito ay lumabas na maraming mga koponan ang nagtatrabaho sa direksyon na ito. Halimbawa, ang mga developer mula sa kumpanyang "Fish in a Barrel"
Kapareho
Hindi pa naipatupad ang lahat ng inilaan na pag-andar, ngunit ang balangkas ay angkop na para sa trabaho at ginamit upang magsulat ng gumaganang driver para sa LAN9512 USB Ethernet controller na ibinigay sa board ng Raspberry Pi 3. Ang umiiral na smsc95xx driver, na isinulat ni in C wika. Napansin na ang laki ng module at overhead mula sa mga bahagi ng runtime kapag bumubuo ng isang driver sa Rust ay hindi gaanong mahalaga, na nagpapahintulot sa balangkas na magamit para sa mga device na may limitadong mapagkukunan.
Pinagmulan: opennet.ru