Kerla: naujas branduolys, parašytas Rust ir suderinamas su Linux ABI

Neseniai buvo paskelbta informacija apie Kerla projektą, kuris yra kuriamas kaip operacinės sistemos branduolys, parašytas Rust kalba. Kodas platinamas pagal Apache 2.0 ir MIT licencijas. Projektą kuria japonų kūrėjas Seiya Nuta, žinomas sukūręs mikrobranduolių operacinę sistemą Resea, parašytą C kalba.

Naujasis branduolys iš pradžių yra skirtas užtikrinti suderinamumą su Linux branduoliu ABI lygiu, kuri leis nemodifikuotus dvejetainius failus, sukurtus Linux, paleisti Kerla aplinkoje.

Apie Keralą

Kerla yra monolitinė operacinės sistemos branduolys sukurtas nuo nulio Rust. Dabartiniame vystymosi etape Kerla galima paleisti tik sistemose su x86_64 architektūra ir įgyvendina pagrindinius sistemos iškvietimus, tokius kaip rašymas, stat, mmap, vamzdis ir apklausa, palaiko signalus, neįvardytus vamzdžius ir konteksto jungiklius. Skambučiai, tokie kaip fork, wait4 ir execve, leidžia valdyti procesus. Yra tty ir pseudo terminalų (pty) palaikymas. Tarp initramfs failų sistemų (naudojamų šakniniam FS prijungti), tmpfs ir devfs vis dar palaikomi.

Taip pat pateikiamas tinklo krūvas, palaikantis TCP ir UDP lizdus, Remiantis smoltcp biblioteka. Kūrėjas paruošė QEMU arba Firecracker VM veikiančią įkrovos aplinką su tvarkykle virtio-net, prie kurios jau galima prisijungti per SSH. Musl naudojama kaip sistemos biblioteka, o BusyBox – kaip vartotojo priemonė. Remiantis „Docker“, buvo parengta kūrimo sistema, leidžianti sukurti savo „initramfs“ įkrovą naudojant „Kerla“ branduolį.

Iki šiol apie naująjį branduolį buvo pateikta nedaug informacijos, tačiau labiausiai į Kerla ypatybes atkreipia dėmesį tai, kad jis parašytas Rust. Taigi ar rašymas Rust turi pranašumų prieš kitas kalbas ar esamą kodą? Daugelis į šį klausimą atsakė teigiamai, pabrėždami kalbos teikiamą atminties saugumo naudą.

Jis taip pat pateikiamas vertinant atminties prieigos tikslumą vykdymo metu. Kas daugiau, „Mozilla“ mano, kad „Rust“ siūlo apsaugą nuo sveikųjų skaičių perpildymo, reikalauja privalomo kintamųjų reikšmių inicijavimo prieš naudojimą, pagal numatytuosius nustatymus priima nuorodų ir nekintamų kintamųjų koncepciją, siūlo tvirtą statinį spausdinimą, kad sumažintų logines klaidas, ir supaprastina įvesties apdorojimą derinant šablonus.

Tarp privalumų išskiriame integruotus įrankius kodo kokybei įvertinti ir sukurti vienetų testus, kurie gali būti vykdomi ne tik su realia aparatūra, bet ir su QEMU. Iš esmės „Mozilla“ lengviau derinti Rust, nes kompiliatorius atmes klaidas. Tačiau įlankos nurodė kai kuriuos Rust trūkumus.

„Kaip ir naudojant C ++, beveik neįmanoma parašyti idiotiško Rust nenaudojant šablonų, todėl jis turi išpūstus dvejetainius failus ir lėtą kompiliavimo laiką. Visi šie kompiliavimo laiko patikrinimai taip pat kainuoja. Be to, jei ką nors perrašote, prarandate seną brandžią kodų bazę ir niekaip negalite sukurti panašios kokybės kodų bazės per protingą laiką; daug geriau pratęsti, o ne perrašyti programą Rust. Geriau programą išplėsti, o ne perrašyti į Rust “, - sako programinės įrangos inžinierius.

Pasak jos kūrėjo, būtent dėl ​​šios priežasties „Linux“ kūrėjai, ypač pats Linusas Torvaldsas, jie atmetė idėją perrašyti visą branduolį Rust.

„Padarykite šiek tiek darbo, kad sukurtumėte saugias nuorodas, tada parašykite papildomą kodą į Rust ir vis tiek galėsite mėgautis tuo brandžiu kodu. (Tai yra tai, ką daro „Linux“, yra pastangų pridėti galimybę rašyti branduolio modulį „Rust“) “, - pridūrė jis. „Linux“ kūrėjai maždaug trejus metus tiria galimybes rašyti tam tikrus naujus branduolio modulius naudojant Rust kalbą. Tai paskatino projektą „Rust for Linux“.

Galiausiai, jei norite sužinoti apie tai daugiau, galite sužinoti išsamią informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.