Fanontana faharoa amin'ny patch ho an'ny kernel Linux miaraka amin'ny fanohanana ny fiteny Rust

Miguel Ojeda, mpanoratra ny tetikasa Rust-for-Linux, dia nanolotra ny dikan-teny nohavaozina ho an'ny fampivoarana ny mpamily fitaovana amin'ny fiteny Rust mba hodinihin'ireo mpamorona kernel Linux. Ny fanohanana harafesina dia heverina ho andrana, saingy efa nifanarahana ny hampidirana azy ao amin'ny sampana linux manaraka. Ny dikan-teny vaovao dia manafoana ny fanehoan-kevitra natao nandritra ny fifanakalozan-kevitra momba ny dikan-teny voalohany amin'ny patch. Linus Torvalds dia efa nanatevin-daharana ny fifanakalozan-kevitra ary nanolotra soso-kevitra hanova ny lojika amin'ny fanodinana asa kely.

Tsarovy fa ireo fanovana naroso dia ahafahana mampiasa ny Rust ho fiteny faharoa amin'ny famolavolana mpamily sy maody kernel. Ny fanohanan'ny Rust dia aseho ho toy ny safidy tsy avela amin'ny alΓ lan'ny default ary tsy miteraka ny Rust ho tafiditra ho fiankinan-doha ilaina amin'ny kernel. Ny fampiasana Rust ho an'ny fampandrosoana ny mpamily dia ahafahanao mamorona mpamily azo antoka kokoa sy tsara kokoa miaraka amin'ny ezaka kely indrindra, tsy misy olana toy ny fidirana amin'ny fahatsiarovana aorian'ny fanafahana, ny tsy fahampian'ny pointer tsy misy dikany ary ny fihoaran'ny buffer.

Ny harafesina dia manery ny fiarovana ny fitadidiana amin'ny fotoana fanangonana amin'ny alΓ lan'ny fanamarinana reference, ny fananana zavatra ary ny fanaraha-maso mandritra ny androm-piainana (scopes), ary amin'ny fanombanana ny fahamarinan'ny fidirana amin'ny fitadidiana amin'ny fotoana fandehanana. Ny Rust koa dia manome fiarovana amin'ny fihoaran'ny integer, mitaky ny fanombohana ny soatoavina miovaova alohan'ny hampiasana azy, manana fikarakarana fahadisoana tsara kokoa ao amin'ny tranomboky mahazatra, mampiasa ny foto-kevitry ny fanondroana sy ny fari-pitsipika tsy azo ovaina amin'ny alΓ lan'ny default, ary manolotra sora-baventy matanjaka mba hampihenana ny lesoka lojika.

Ny fiovana misongadina indrindra amin'ny dikan-teny vaovao amin'ny patch:

  • Ny kaody famatsiana fahatsiarovana dia afaka amin'ny mety hiteraka toe-javatra "sahiran-tsaina" rehefa misy lesoka toy ny tsy fitadidiana. Misy variana amin'ny tranomboky Rust alloc, izay mamerina ny kaody hiatrehana ny tsy fahombiazana, fa ny tanjona farany dia ny hamindra ny endri-javatra rehetra ilaina amin'ny kernel mankany amin'ny andiany lehibe amin'ny alloc (efa voaomana sy nafindra amin'ny fenitra ny fanovana. Rust Library).
  • Raha tokony ho fananganana isan'alina ianao dia afaka mampiasa famoahana beta sy famoahana stable amin'ny compiler rustc mba hanangona kernel miaraka amin'ny fanohanana Rust. Amin'izao fotoana izao, ny rustc 1.54-beta1 dia ampiasaina ho mpanangona reference, fa aorian'ny famoahana ny 1.54 amin'ny faran'ny volana dia ho tohanana ho mpanangona reference.
  • Fanampiana fanampiny ho an'ny fitsapana fanoratana amin'ny fampiasana ny toetra "#[fitsapana]" mahazatra ho an'ny Rust sy ny fahafahana mampiasa doctests handrakitra fitsapana.
  • Fanampiana fanampiny ho an'ny maritrano ARM32 sy RISCV ho fanampin'ny x86_64 sy ARM64 izay tohana teo aloha.
  • Nohatsaraina ny fampiharana ny GCC Rust (GCC frontend for Rust) sy rustc_codegen_gcc (rustc backend for GCC), izay mandalo fitsapana fototra rehetra izao.
  • Misy ambaratongan'ny abstraction vaovao atolotra hampiasaina amin'ny programa Rust amin'ny mekanika kernel voasoratra ao amin'ny C, toy ny hazo mena-mainty, zavatra voaisa reference, famoronana descriptor rakitra, asa, rakitra, ary vectors I/O.
  • Ny singa fampivoarana mpamily dia nanatsara ny fanohanana ny module file_operations, ny module! macro, ny fisoratana anarana amin'ny macro, ary ny mpamily fototra (fanadihadiana sy esory).
  • Ny Binder izao dia manohana ny famaritana ny rakitra mandalo sy ny hook LSM.
  • Ohatra iray miasa kokoa amin'ny mpamily Rust no atolotra - bcm2835-rng ho an'ny mpanamboatra nomerao kisendrasendra amin'ny boards Raspberry Pi.

Fanampin'izany, ny tetikasan'ny orinasa sasany mifandraika amin'ny fampiasana Rust amin'ny kernel dia voalaza:

  • Microsoft dia naneho fahalianana amin'ny fandraisana anjara amin'ny asa hampidirana ny fanohanan'ny Rust amin'ny kernel Linux ary vonona ny hanome fampiharana mpamily ho an'ny Hyper-V amin'ny Rust amin'ny volana ho avy.
  • ARM dia miasa hanatsarana ny fanohanana Rust ho an'ny rafitra mifototra amin'ny ARM. Ny tetikasa Rust dia efa nanolotra fanovana izay hahatonga ny rafitra ARM 64-bit ho sehatra Tier 1.
  • Google dia manome fanohanana mivantana ny tetikasa Rust ho an'ny Linux, dia mamolavola fampiharana vaovao amin'ny rafi-pifandraisan'ny Binder interprocess ao amin'ny Rust, ary mieritreritra ny mety hamerenana ireo mpamily isan-karazany ao amin'ny Rust. Tamin'ny alΓ lan'ny ISRG (Internet Security Research Group), Google dia nanome famatsiam-bola ho an'ny asa mba hampidirana ny fanohanana Rust amin'ny kernel Linux.
  • IBM dia nametraka fanohanana kernel ho an'ny Rust ho an'ny rafitra PowerPC.
  • Ny laboratoara LSE (Systems Research Laboratory) dia namolavola mpamily SPI any Rust.

Source: opennet.ru

Add a comment