Интеграцијата на Rust во Linux имаше високо ниво на прифаќање од заедницата и програмерите
Со доаѓањето на првиот RC на Linux 6.1 има вградено многу важни промени во верзијата 6.1, но една од промените што привлече најголемо внимание ќе има и најмалку краткорочен ефект врз корисниците на кернелот: воведување на поддршка за Rust.
Линус Торвалдс вети на последниот Самит со отворен код што би го поттикнало вклучувањето на Rust за Linux на кернелот верзија 6.1 и од која почетната рамка Rust е споена во главното Linux Git дрво.
Овој нов почетната шифра од 12 линија обезбедува само основна инфраструктура и многу основна интеграција, додека идните барања за повлекување ќе додадат повеќе потсистемски апстракции, разни драјвери напишани во Rust и многу повеќе, плус компилацијата на кернелот на Linux со поддршка за Rust останува опционална.
Во порака до заедницата на кернелот, Торвалдс рече:
„Дрвото има неодамнешна основа, но во основа е на Linux - следната година и половина. Ажурирано врз основа на повратни информации од Самитот за одржување на кернелот. Мигел е главниот одржувач и помагам кога е потребно. Нашиот план е дрвото да премине кон стандардната практика да не се менуваат базите штом ќе заврши оваа почетна рунда инфраструктура. Содржината е апсолутен минимум за да се дозволи Rust-кодот да се интегрира во кернелот, со многу повеќе интерфејси (и драјвери: NVMe, 9p, GPU M1) на пат“.
Како таков, ниту еден систем со кернел 6.1 нема да работи Rust код, она што го обезбедува оваа промена тоа е можност за развивачите на јадрото да можат да „играат“ со јазикот во контекст на кернелот и почувствувајте како се одвива развојот на Rust. Најверојатниот заклучок за повеќето програмери е дека сè уште нема доволно Rust во јадрото за да се направи нешто вредно.
Работата на Rust за кернелот Линукс трае веќе неколку години и резултираше со многу поддржувачки код и некои интересни двигатели за гледање. Во тек се и други иницијативи, вклучувајќи пишување графички драјвер на Apple на јазикот Rust.
За првичната фузија со главното јадро, Линус Торвалдs јасно стави до знаење да се вклучат што е можно помалку функции. Затоа, овие драјвери и нивниот код за поддршка се отстранети и мора да чекаат идното објавување на јадрото. Она што е присутно е поддршката потребна за да се изгради модул што може да се вчита во кернелот, како и мал примерок модул.
Rust за Linux има за цел да воведе нов системски програмски јазик во кернелот. Rust има клучна особина што го прави многу интересно да се смета како втор јазик на јадрото: гарантира дека нема да се појави недефинирано однесување (се додека небезбедниот код е разумен).
Ова го вклучува отсуството на грешки како што се користење после бесплатно, двојно ослободување, трки со податоци итн. По 31 година, втор јазик ќе биде прифатен за развој на јадрото. Поврзани дискусии се вртат околу можноста за отфрлање на C во корист на јазикот Руст.
За да се изгради компатибилност со Rust потребни се специфични верзии на компајлерот Rust и алатката bindgen, конкретно, Rust 1.62.0 и bindgen 0.56.0. Ако целниот систем има понови верзии, процесот на поставување ќе издаде предупредувања, но сепак ќе продолжи. Понезгодно за секој што се обидува да изгради со синџирот на алатки Rust обезбеден од нивниот продавач, процесот на градење исто така има потреба од стандардниот извор на библиотеката Rust за да може да изгради сопствена верзија на основните кутии и да ги распредели.
Откако ќе се направи ова, системот за конфигурација на кернелот ќе се согласи да ја постави опцијата CONFIG_RUST; дополнителна опција ќе го изгради примерниот модул.
Конечно, ако сте заинтересирани да знаете повеќе за тоа, можете да се консултирате со деталите На следниот линк.
Биди прв да коментираш