Fersiwn newydd o glytiau ar gyfer y cnewyllyn Linux gyda chefnogaeth i'r iaith Rust

Mae Miguel Ojeda, awdur y prosiect Rust-for-Linux, wedi cynnig rhyddhau cydrannau v5 ar gyfer datblygu gyrrwr dyfais Rust i ddatblygwyr cnewyllyn Linux eu hystyried. Dyma chweched rhifyn y clytiau, gan gymryd i ystyriaeth y fersiwn cyntaf a gyhoeddwyd heb rif fersiwn. Ystyrir bod cefnogaeth rust yn arbrofol, ond mae eisoes wedi'i gynnwys yn y gangen linux-nesaf ac yn ddigon aeddfed i ddechrau gweithio ar greu haenau tynnu dros is-systemau cnewyllyn, yn ogystal ag ysgrifennu gyrwyr a modiwlau. Ariennir y datblygiad gan Google a'r ISRG (Internet Security Research Group), sef sylfaenydd y prosiect Let's Encrypt ac sy'n hyrwyddo HTTPS a datblygiad technolegau i gynyddu diogelwch y Rhyngrwyd.

Dwyn i gof bod y newidiadau arfaethedig yn ei gwneud hi'n bosibl defnyddio Rust fel ail iaith ar gyfer datblygu gyrwyr a modiwlau cnewyllyn. Cyflwynir cefnogaeth rust fel opsiwn nad yw'n cael ei alluogi yn ddiofyn ac nad yw'n arwain at gynnwys Rust ymhlith y dibyniaethau adeiladu gofynnol ar gyfer y cnewyllyn. Bydd defnyddio Rust i ddatblygu gyrwyr yn caniatΓ‘u ichi greu gyrwyr mwy diogel a gwell heb fawr o ymdrech, yn rhydd o broblemau fel cyrchu man cof ar Γ΄l iddo gael ei ryddhau, dadgyfeirio awgrymiadau nwl, a gor-redeg byffer.

Darperir diogelwch cof yn Rust ar amser llunio trwy wirio cyfeiriadau, cadw golwg ar berchnogaeth gwrthrych ac oes gwrthrych (cwmpas), yn ogystal Γ’ thrwy werthuso cywirdeb mynediad cof wrth weithredu cod. Mae Rust hefyd yn darparu amddiffyniad rhag gorlifiadau cyfanrif, yn gofyn am ymgychwyn gorfodol o werthoedd amrywiol cyn ei ddefnyddio, yn trin gwallau yn well yn y llyfrgell safonol, yn cymhwyso'r cysyniad o gyfeiriadau a newidynnau digyfnewid yn ddiofyn, yn cynnig teipio statig cryf i leihau gwallau rhesymegol.

Mae'r fersiwn newydd o'r clytiau yn parhau i ddileu'r sylwadau a wnaed yn ystod y drafodaeth ar y rhifyn cyntaf, yr ail, y trydydd, y pedwerydd a'r pumed rhifyn o'r clytiau. Yn y fersiwn newydd:

  • Mae'r pecyn cymorth wedi'i ddiweddaru i ryddhau Rust 1.59.0. Mae amrywiad o'r llyfrgell aloc hefyd wedi'i gysoni Γ’'r fersiwn newydd o Rust, gan gael gwared ar y genhedlaeth bosibl o gyflwr "panig" pan fydd gwallau'n digwydd, megis allan o'r cof. Mae'r gallu i ddefnyddio mewnosodiadau cydosod ("feature(global_asm)") wedi'i sefydlogi.
  • Cefnogaeth ychwanegol ar gyfer creu rhaglenni gwesteiwr Rust a ddefnyddir yn y broses llunio cnewyllyn.
  • Yn hytrach na chyflenwi ffeiliau manyleb platfform targed a gynhyrchir ymlaen llaw, cΓ’nt eu cynhyrchu'n ddeinamig yn seiliedig ar gyfluniad y cnewyllyn.
  • Paramedr cnewyllyn wedi'i ychwanegu HAVE_RUST i'w alluogi ar gyfer pensaernΓ―aeth sy'n cefnogi Rust.
  • Cynigir tyniadau i'w defnyddio yn y cod Rust o gynhyrchydd rhif ffug-hap caledwedd.
  • Caniateir defnyddio codau gwall heb y rhagddodiad "Gwall::" (er enghraifft, "return Err (EINVAL)") i frasamcanu trin codau gwall yn C.
  • Ychwanegwyd math "CString" ar gyfer llinynnau C brodorol. Mathau Fformatiwr a Byffer wedi'u Cyfuno.
  • Ychwanegwyd nodweddion Bool a LockInfo.
  • Gweithrediad symlach o sbin-locks.

Ffynhonnell: opennet.ru

Ychwanegu sylw