Mae cefnogaeth rust ar gyfer cnewyllyn Linux yn wynebu beirniadaeth gan Torvalds

Adolygodd Linus Torvalds y clytiau a weithredodd y gallu i greu gyrwyr yn yr iaith Rust ar gyfer y cnewyllyn Linux, a gwnaeth rai sylwadau beirniadol.

Achoswyd y cwynion mwyaf gan y posibilrwydd o banig() mewn sefyllfaoedd gwall, er enghraifft, mewn sefyllfa o gof isel, pan allai gweithrediadau dyrannu cof deinamig, gan gynnwys o fewn y cnewyllyn, fethu. Dywedodd Torvalds fod dull o'r fath yn y cnewyllyn yn sylfaenol annerbyniol ac, os na ddeellir y pwynt hwn, gall NAKed yn llwyr unrhyw god sy'n ceisio defnyddio dull o'r fath. Ar y llaw arall, cytunodd datblygwr y clwt â'r broblem hon ac mae'n ystyried y gellir ei datrys.

Problem arall oedd ymdrechion i ddefnyddio pwynt arnawf neu fathau 128-bit, nad ydynt yn dderbyniol ar gyfer amgylcheddau fel y cnewyllyn Linux. Trodd hyn yn broblem fwy difrifol, oherwydd ar hyn o bryd mae'r llyfrgell craidd Rust yn anwahanadwy ac yn cynrychioli un blob mawr - nid oes unrhyw ffordd i ofyn am rai o'r nodweddion yn unig, gan atal y defnydd o ymarferoldeb problemus neu'r llall. Efallai y bydd angen newid y casglwr rhwd a'r llyfrgelloedd i ddatrys y broblem, er ar hyn o bryd nid oes gan y tîm strategaeth eto ar gyfer gweithredu modiwlareiddio'r llyfrgelloedd iaith.

Yn ogystal, nododd Torvalds fod yr enghraifft gyrrwr a ddarparwyd yn ddiwerth a chynghorodd ni i ddefnyddio fel enghraifft ryw yrrwr sy'n datrys un o'r problemau gwirioneddol.

Diweddariad: Mae Google wedi cyhoeddi ei gyfranogiad yn y fenter i wthio cefnogaeth Rust i'r cnewyllyn Linux ac wedi darparu rhesymau technegol dros gyflwyno Rust i frwydro yn erbyn problemau sy'n deillio o wallau cof. Mae Google yn credu bod Rust yn barod i ymuno â C fel yr iaith ar gyfer datblygu cydrannau cnewyllyn Linux. Mae'r erthygl hefyd yn darparu enghreifftiau o ddefnyddio'r iaith Rust i ddatblygu gyrwyr cnewyllyn, yng nghyd-destun eu defnydd yn y platfform Android (cydnabyddir Rust fel iaith a gefnogir yn swyddogol ar gyfer datblygu Android).

Nodir bod Google wedi paratoi prototeip cychwynnol o yrrwr a ysgrifennwyd yn Rust ar gyfer y mecanwaith cyfathrebu rhyngbroses Binder, a fydd yn caniatáu cymhariaeth fanwl o berfformiad a diogelwch gweithrediadau Binder yn C a Rust. Yn ei ffurf bresennol, nid yw'r gwaith wedi'i gwblhau eto, ond ar gyfer bron yr holl dyniadau sylfaenol o'r ymarferoldeb cnewyllyn sy'n ofynnol i Binder weithio, mae haenau wedi'u paratoi ar gyfer defnyddio'r tyniadau hyn mewn cod Rust.

Ffynhonnell: opennet.ru

Ychwanegu sylw