Kerla: novo jezgro napisano u Rustu i kompatibilno sa Linux ABI

Nedavno je objavljena informacija o projektu Kerla, koji se razvija kao jezgro operativnog sistema napisano na jeziku Rust. Kod se distribuira pod licencama Apache 2.0 i MIT. Projekat razvija japanski programer Seiya Nuta, poznat po kreiranju mikrokernel operativnog sistema Resea, napisanog na jeziku C.

Prvo jezgro ima za cilj obezbediti kompatibilnost sa Linux kernelom na ABI nivou, koji će omogućiti neizmenjene binarne datoteke napravljene za Linux da rade u okruženju zasnovanom na Kerla.

O Keralu

Kerla je monolitno jezgro operativnog sistema kreiran od nule u Rustu. U trenutnoj fazi razvoja, Kerla može se pokrenuti samo na sistemima sa arhitekturom x86_64 i implementira osnovne sistemske pozive kao što su write, stat, mmap, pipe i poll, podržava signale, neimenovane cevi i prekidače konteksta. Pozivi kao što su fork, wait4 i execve omogućavaju kontrolu procesa. Postoji podrška za tty i pseudo-terminale (pty). Među initramfs sistemima datoteka (koji se koriste za montiranje osnovnog FS-a), tmpfs i devfs su i dalje podržani.

Mrežni stek sa podrškom za TCP i UDP utičnice je takođe obezbeđen, na osnovu smoltcp biblioteke. Programer je pripremio okruženje za pokretanje koje radi u QEMU ili Firecracker VM sa kontrolerom virtio-net, na koji se već možete povezati preko SSH-a. Musl se koristi kao sistemska biblioteka, a BusyBox se koristi kao korisnički uslužni program. Zasnovano na Docker-u, pripremljen je sistem izgradnje koji vam omogućava da kreirate sopstveni initramfs boot sa Kerla kernelom.

Do sada je dato nekoliko detalja o njegovom novom kernelu, ali ono što najviše privlači pažnju Kerlinim karakteristikama je činjenica da je napisan na Rustu. Dakle, da li pisanje na Rustu ima neke prednosti u odnosu na druge jezike ili u odnosu na postojeći kod? Mnogi su odgovorili potvrdno na ovo pitanje, naglašavajući prednosti bezbednosti memorije koje jezik pruža.

Takođe je obezbeđeno kada se procenjuje tačnost pristupa memoriji u vreme izvršavanja. Поврх тога, Mozilla veruje da Rust nudi zaštitu od prekoračenja celog broja, zahteva obaveznu inicijalizaciju vrednosti promenljivih pre upotrebe, podrazumevano usvaja koncept referenci i nepromenljivih promenljivih, nudi snažno statičko kucanje da bi se minimizirale logičke greške i pojednostavljuje obradu unosa kroz uparivanje obrazaca.

Među prednostima izdvajamo integrisane alate za procenu kvaliteta koda i kreiranje jediničnih testova koji se mogu pokrenuti ne samo na stvarnom hardveru, već i na QEMU. U suštini, Mozilla smatra da je Rust lakši za otklanjanje grešaka, jer će kompajler odbaciti greške. Međutim, uvale su ukazivale na neke nedostatke sa Rustom.

„Kao i kod C ++, gotovo je nemoguće napisati idiomatski Rust bez upotrebe šablona, ​​tako da ima naduvene binarne datoteke i sporo vreme kompajliranja. Sve ove provere u vreme kompajliranja takođe imaju cenu. Takođe, ako nešto prepišete, gubite staru zrelu kodnu bazu i ne postoji način da napravite bazu koda sličnog kvaliteta u razumnom vremenskom periodu; mnogo je bolje proširiti, nego ponovo pisati, program u Rustu. Bolje je proširiti program umesto da ga prepisujete u Rust-u “, kaže softverski inženjer.

Prema njegovom kreatoru, upravo iz tog razloga Linux programeri, posebno sam Linus Torvalds, odbacili su ideju o prepisivanju celog kernela u Rust.

„Poradite na stvaranju sigurnih veza, a zatim napišite dodatni kod u Rustu i još uvek možete uživati ​​u tom zrelom kodu. (To radi Linux, postoje napori da se doda mogućnost pisanja modula kernela u Rust-u), “dodao je on. Linux programeri istražuju mogućnosti pisanja određenih novih modula kernela koristeći Rust jezik oko tri godine. Ovo je dovelo do projekta »Rust for Linux«.

На крају, ако сте заинтересовани да сазнате више о томе, можете се обратити детаљима У следећем линку.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.