Лінус Торвальдс не выключыў магчымасць інтэграцыі падтрымкі Rust у ядро ​​Linux 5.20

На праходзілай у гэтыя дні канферэнцыі Open-Source Summit 2022 у секцыі адказаў на пытанні Лінус Торвальдс згадаў аб магчымасці хуткай інтэграцыі ў ядро ​​Linux кампанентаў для распрацоўкі драйвераў прылад на мове Rust. Не выключаецца, што патчы з падтрымкай Rust будуць прыняты ў найблізкім акне прыёму змен, які фармуе склад ядра 5.20, вызначанага на канец верасня.

Запыт на ўключэнне змен у ядро ​​яшчэ не быў адпраўлены Торвальдсу, але набор патчаў мінуў дадатковае рэцэнзаванне, пазбаўлены ад асноўных заўваг, ужо досыць даўно тэстуецца ў галінцы linux-next і даведзены да стану, прыдатнага для стварэння пластоў абстракцыі над падсістэмамі ядра, напісанні драйвераў і модуляў. Падтрымка Rust падаецца як опцыя, не актыўная па змаўчанні і не якая прыводзіць да ўключэння Rust у лік абавязковых зборачных залежнасцяў да ядра.

Прапанаваныя змены даюць магчымасць выкарыстоўваць Rust у якасці другой мовы для распрацоўкі драйвераў і модуляў ядра. Выкарыстанне Rust для распрацоўкі драйвераў дазволіць з мінімальнымі намаганнямі ствараць бяспечныя і больш якасныя драйверы, пазбаўленыя ад такіх праблем як зварот да вобласці памяці пасля яе вызвалення, разнайменаванне нулявых паказальнікаў і вынахад за межы буфера.

Бяспечная праца з памяццю забяспечваецца ў Rust падчас кампіляцыі праз праверку спасылак, адсочванне валодання аб'ектамі і ўлік часу жыцця аб'ектаў (вобласці бачнасці), а таксама праз адзнаку карэктнасці доступу да памяці падчас выканання кода. Rust таксама дае сродкі для абароны ад цэлалікіх перапаўненняў, патрабуе абавязковай ініцыялізацыі значэнняў зменных перад выкарыстаннем, лепш апрацоўвае памылкі ў стандартнай бібліятэцы, ужывае канцэпцыю нязменнасці (immutable) спасылак і зменных па змаўчанні, прапануе моцную статычную тыпізацыю для мінімізацыі лагічных памылак.

Крыніца: opennet.ru

Дадаць каментар