Десета верзија закрпа за кернел Linux са подршком за Rust језик

Мигел Охеда, аутор пројекта Rust-for-Linux, предложено за разматрање програмерима језгра Linux Издање v10 компоненти за развој драјвера уређаја Rust. Ово је једанаесто издање закрпе, узимајући у обзир прву верзију објављену без броја верзије. Укључивање подршке за Rust је одобрио Линус Торвалдс за укључивање у језгро. Linux 6.1, осим ако се не појаве непредвиђени проблеми. Развој финансирају Google и ISRG (Internet Security Research Group), оснивач пројекта Let's Encrypt, који промовише HTTPS и развој технологија за побољшање безбедности на интернету.

Као и претходна закрпа, издање v10 је сведено на најнужнији минимум, довољан за изградњу једноставног модула језгра написаног у Русту. Разлике у односу на претходну верзију састоје се од мањих измена, замене sizeof са ARRAY_SIZE у kallsyms.c и прилагођавања закрпа језгру v6.0-rc7. Очекује се да ће минимална закрпа, чија је величина смањена са 40 на 13 линија кода, поједноставити усвајање подршке за Руст у главно језгро. Након што се обезбеди минимална подршка, планирано је постепено проширивање постојеће функционалности, мигрирајући друге промене из Rust-for-гранке.Linux.

Предложене измене омогућавају коришћење Руста као другог језика за развој драјвера и модула кернела. Подршка за Руст је представљена као опција која није подразумевано омогућена и не доводи до тога да Руст буде укључен као обавезна зависност изградње за кернел. Коришћење Руст-а за развој драјвера ће вам омогућити да креирате сигурније и боље драјвере уз минималан напор, без проблема као што су приступ меморији након ослобађања, нулте референце показивача и прекорачење бафера.

Руковање безбедно за меморију обезбеђено је у Русту у време компајлирања кроз проверу референци, праћење власништва над објектом и животног века објекта (обим), као и кроз процену исправности приступа меморији током извршавања кода. Руст такође пружа заштиту од прекорачења целог броја, захтева обавезну иницијализацију вредности променљивих пре употребе, боље обрађује грешке у стандардној библиотеци, подразумевано примењује концепт непроменљивих референци и променљивих, нуди снажно статичко куцање како би се минимизирале логичке грешке.

Извор: опеннет.ру

Купите поуздан хостинг за сајтове са ДДоС заштитом, ВПС ВДС сервере 🔥 Купите поуздан веб хостинг са DDoS заштитом, VPS VDS сервере | ProHoster