Mbështetja Rust për kernelin Linux përballet me kritika nga Torvalds

Linus Torvalds rishikoi arnimet që zbatuan aftësinë për të krijuar drejtues në gjuhën Rust për kernelin Linux dhe bëri disa komente kritike.

Ankesat më të mëdha u shkaktuan nga mundësia e mundshme e panikut () në situata gabimi, për shembull, në një situatë me memorie të ulët, kur operacionet e alokimit dinamik të memories, përfshirë brenda kernelit, mund të dështojnë. Torvalds deklaroi se një qasje e tillë në kernel është thelbësisht e papranueshme dhe, nëse kjo pikë nuk kuptohet, ai mund të anulojë plotësisht çdo kod që përpiqet të përdorë një qasje të tillë. Nga ana tjetër, zhvilluesi i patch-it u pajtua me këtë problem dhe e konsideron atë të zgjidhshëm.

Një problem tjetër ishin përpjekjet për të përdorur tipe floating point ose 128-bit, të cilat nuk janë të pranueshme për mjedise të tilla si kerneli Linux. Ky doli të ishte një problem më serioz, pasi për momentin biblioteka kryesore Rust është e pandashme dhe përfaqëson një pikë të madhe - nuk ka asnjë mënyrë për të kërkuar vetëm disa nga veçoritë, duke parandaluar përdorimin e një ose një tjetër funksionaliteti problematik. Zgjidhja e problemit mund të kërkojë ndryshime në përpiluesin e ndryshkut dhe bibliotekat, megjithëse për momentin ekipi nuk ka ende një strategji se si të zbatojë modularizimin e bibliotekave të gjuhëve.

Për më tepër, Torvalds vuri në dukje se shembulli i dhënë i shoferit ishte i padobishëm dhe na këshilloi të përdorim si shembull një shofer që zgjidh një nga problemet reale.

Përditësimi: Google ka njoftuar pjesëmarrjen e saj në iniciativën për të shtyrë mbështetjen e Rust në kernelin Linux dhe ka ofruar arsye teknike për prezantimin e Rust për të luftuar problemet që lindin nga gabimet e kujtesës. Google beson se Rust është gati të bashkohet me C si gjuhë për zhvillimin e komponentëve të kernelit Linux. Artikulli ofron gjithashtu shembuj të përdorimit të gjuhës Rust për të zhvilluar drejtuesit e kernelit, në kontekstin e përdorimit të tyre në platformën Android (Rust njihet si një gjuhë e mbështetur zyrtarisht për zhvillimin e Android).

Vihet re se Google ka përgatitur një prototip fillestar të një drejtuesi të shkruar në Rust për mekanizmin e komunikimit ndërprocesor Binder, i cili do të lejojë një krahasim të detajuar të performancës dhe sigurisë së zbatimeve të Binder në C dhe Rust. Në formën e tij aktuale, puna nuk është ende e plotë, por pothuajse për të gjitha abstraksionet bazë të funksionalitetit të kernelit që kërkohen për funksionimin e Binder, janë përgatitur shtresa për përdorimin e këtyre abstraksioneve në kodin Rust.

Burimi: opennet.ru

Shto një koment