Kdaj bo Linuxovo jedro dvojezično v C-ju in Rustu

Matej Huš

13. dec 2021 ob 21:59:24

Da je Linuxovo jedro napisano v C-ju, je bil zelo dolgo eden izmed aksiomov računalništva, a se to utegne kmalu dopolniti. Že dlje časa potekajo prizadevanja, da bi v jedro vključili tudi Rust, kar podpira tudi Google. To seveda ne pomeni, da bi prepisali celotno jedro v Rust, bi pa v njem lahko nastajala nova koda. Razlogov za spremembo je kar nekaj, med njimi tudi boljše upravljanje pomnilnika, kar bi zmanjšalo verjetnost za vnos varnostnih ranljivosti iz tega naslova. Ocenjujejo, da je upravljanje s pomnilnikom razlog za približno dve tretjini varnostnih lukenj. Sedaj je Rust še korak bliže jedru.

Ena izmed pomembnih sprememb je uporaba stabilnega prevajalnika. Doslej so uporabljali beta verzije, odslej pa bo Rust on Linux uporabljal vsakokratno stabilno verzijo (trenutno Rust 1.57.0). Miguel Ojeda, vodja projekta Rust on Linux, pojasnjuje, da so s tem odstranili nekaj nestabilnih funkcij in povečali stabilnost kode. Starosta razvoja Linuxovega jedra Greg Kroah-Hartman dodaja, da bodo verjetno gonilniki ena izmed prvih komponent, ki bo napisana v Rustu. Gonilniki so odvisni od ostale kode v jedru, medtem ko od njihove kode drugih odvisnosti ni.

Rustu je naklonjen tudi oče Linuxa Linus Torvalds, ki se zavzema za počasen pristop k vključevanju Rusta. Pravi sicer, da ni nujno, da bo na koncu obveljal prav Rust, a ni dvoma, da C ne bo ostal edini programski jezik.

Če bo šlo vse po načrtih, pa bi lahko prihodnje leto videli prve vrstice kode v Rustu. Ojeda je minuli teden pripravil popravek, ki v jedro dodaja podporo za Rust.