Kerla: Rust-en idatzitako nukleo berria eta Linux ABIrekin bateragarria

Duela gutxi Kerla proiektuari buruzko informazioa kaleratu da, Rust hizkuntzan idatzitako sistema eragilearen nukleo gisa garatzen ari dena. Kodea Apache 2.0 eta MIT lizentzien arabera banatzen da. Proiektua Seiya Nuta garatzaile japoniarrak garatzen ari da, Resea mikrokernel sistema eragilea sortzeagatik ezaguna, C hizkuntzan idatzia.

Nukleo berriak hasiera batean du helburu bermatu ABI mailan Linux nukleoarekin bateragarritasuna, eta horrek Linux-erako eraiki gabeko bitarrak Kerlan oinarritutako ingurunean exekutatzeko aukera emango du.

Kerali buruz

Kerla sistema eragilearen nukleo monolitikoa da Rust-en hutsetik sortua. Gaur egungo garapen fasean, Kerla x86_64 arkitektura duten sistemetan bakarrik exekutatu daiteke eta idazketa, stat, mmap, pipe eta poll bezalako oinarrizko sistema-deiak ezartzen ditu, seinaleak, izenik gabeko kanalizazioak eta testuinguru-aldaketak onartzen ditu. Fork, wait4 eta execve bezalako deiak ematen dituzte prozesuak kontrolatzeko. Tty eta pseudo-terminaletarako (pty) laguntza dago. Initramfs fitxategi-sistemen artean (erroa FS muntatzeko erabiltzen direnak), tmpfs eta devfs onartzen dira oraindik.

TCP eta UDP socketetarako euskarria duen sare pila bat ere eskaintzen da, smoltcp liburutegian oinarrituta. Garatzaileak QEMU edo Firecracker VM-n funtzionatzen duen abio ingurune bat prestatu du virtio-net kontrolagailuarekin, eta dagoeneko SSH bidez konekta zaitezke.. Musl sistemaren liburutegi gisa erabiltzen da eta BusyBox erabiltzailearen utilitate gisa erabiltzen da. Docker-en oinarrituta, Kerla nukleoarekin zure initramfs abiarazte propioa sortzeko aukera ematen duen eraikitze-sistema bat prestatu da.

Orain arte, bere nukleo berriari buruzko xehetasun gutxi eman dira, baina Kerlaren ezaugarriei arreta gehien ematen diena Rust-en idatzita egotea da. Beraz, Rust-en idazteak abantailarik ba al du beste hizkuntzekiko edo lehendik dagoen kodearen aldean? Askok baietz erantzun zioten galdera honi, hizkuntzak ematen dituen memoria-segurtasunaren onurak azpimarratuz.

Exekuzio garaian memoria sarbideen zehaztasuna ebaluatzean ere ematen da. Zer gehiago, Mozillak uste du Rust-ek osoko gainezkatzeen aurkako babesa eskaintzen duelaErabili aurretik, aldagaien balioen hasierako derrigorrezkoa eskatzen du, erreferentziak eta aldagai aldaezinen kontzeptua hartzen du lehenespenez, idazketa estatiko sendoa eskaintzen du akats logikoak minimizatzeko eta sarrera prozesatzea errazten du ereduak bat etortzearen bidez.

Abantailen artean, kodearen kalitatea ebaluatzeko tresna integratuak nabarmentzen ditugu eta hardware errealean ez ezik, QEMUn ere exekutatu daitezkeen unitate-probak sortzea. Funtsean, Mozillak errazagoa du Rust araztea, konpilatzaileak akatsak baztertuko baititu. Hala ere, kalaek Herdoilarekin eragozpen batzuk adierazi zituzten.

“C ++-rekin gertatzen den bezala, ia ezinezkoa da Rust idiomatikoa idaztea txantiloiak erabili gabe, beraz, bitar puztuak eta konpilazio denbora motelak ditu. Konpilazio garaiko egiaztapen hauek guztiak ere kostua dute. Gainera, zerbait berridazten baduzu, kode-oinarri heldu zaharra galduko duzu, eta ez dago modurik antzeko kalitateko kode-oinarri bat arrazoizko denbora-tarte batean ekoizteko; askoz hobe da Rust-en programa berridaztea baino. Hobe da programa luzatzea Rust-en berridaztea baino ", dio software ingeniari batek.

Bere sortzailearen arabera, horregatik Linux garatzaileek, bereziki Linus Torvalds bera, kernel osoa Rust-en idazteko ideia baztertu zuten.

"Lan pixka bat esteka seguruak sortzeko, ondoren idatzi kode gehigarria Rust-en eta oraindik kode heldu horretaz gozatu dezakezu. (Hori da Linuxek egiten duena, Rust-en nukleo-modulu bat idazteko gaitasuna gehitzeko ahaleginak daude) ", gaineratu zuen. Linux-eko garatzaileek hiru urte inguru daramatzate Rust hizkuntza erabiliz kernel-modulu berri batzuk idazteko aukerak aztertzen. Honek »Rust for Linux« proiektua sortu zuen.

Azkenean, horri buruz gehiago jakiteko interesa baduzu, xehetasunak kontsultatu ditzakezu Hurrengo estekan.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.