Kerla verkefnið þróar Linux-samhæfðan kjarna í Rust

Kerla verkefnið er að þróa stýrikerfiskjarna sem er skrifaður í Rust. Nýi kjarninn er hannaður frá grunni til að vera samhæfður við Linux kjarnann á ABI stigi, sem gerir óbreyttum keyrslum sem eru byggðar fyrir Linux kleift að keyra í Kerla-undirstaða umhverfi. Kóðanum er dreift undir Apache 2.0 og MIT leyfi. Verkefnið er þróað af japanska verktaki Seiya Nuta, þekktur fyrir að búa til Resea örkjarna stýrikerfið skrifað í C.

Á núverandi þróunarstigi getur Kerla aðeins keyrt á x86_64 kerfum og útfært grunnkerfissímtöl eins og skrifa, stat, mmap, pipe og poll, styður merki, ónefnda pípur og samhengisrofa. Fyrir vinnslustjórnun eru símtöl eins og fork, wait4 og execve veitt. Það er stuðningur við tty og gervi-útstöðvar (pty). Af skráarkerfum eru initramfs (notað til að tengja rót FS), tmpfs og devfs enn studd. Netstafla er með stuðningi fyrir TCP og UDP innstungur, útfærður á grundvelli smoltcp bókasafnsins.

Framkvæmdaraðilinn hefur útbúið ræsanlegt umhverfi sem keyrir í QEMU eða í Firecracker sýndarvélinni með virtio-net reklum, sem þú getur nú þegar tengst í gegnum SSH. Musl er notað sem kerfissafn og BusyBox er notað sem notendatól.

Kerla verkefnið þróar Linux-samhæfðan kjarna í Rust

Byggt á Docker hefur verið útbúið byggingarkerfi sem gerir þér kleift að búa til þínar eigin ræsi-initramfs með Kerla kjarnanum. Verið er að þróa sérstaklega fiskilíka nsh skel og Kazari GUI stafla sem byggir á Wayland siðareglum.

Kerla verkefnið þróar Linux-samhæfðan kjarna í Rust

Notkun Rust tungumálsins í verkefni dregur úr fjölda galla í kóðanum með því að beita öruggri kóðunartækni og bæta skilvirkni við að greina vandamál þegar unnið er með minni. Minnisöryggi er veitt í Rust á tíma samantektar með tilvísunarathugun, með því að halda utan um eignarhald og endingartíma hluta (umfang), sem og með mati á réttmæti minnisaðgangs við keyrslu kóða. Að auki veitir Ryð vernd gegn heiltöluflæði, krefst skyldubundinnar frumstillingar breytugilda fyrir notkun, beitir hugmyndinni um óbreytanlegar tilvísanir og breytur sjálfgefið, býður upp á sterka truflanir innsláttar til að lágmarka rökfræðilegar villur og einfaldar vinnslu inntaksgilda í gegnum mynstursamsvörun. . . .

Fyrir þróun lágstigs íhluta, eins og OS kjarnans, veitir Rust stuðning við hráa ábendingar, uppbyggingarpökkun, samsetningarinnsetningar og samsetningarskrár. Til að vinna án þess að vera bundin við stöðluðu bókasafnið eru aðskildir rimlakakkar til að framkvæma aðgerðir á strengi, vektora og bitafána. Meðal kostanna eru einnig innbyggð verkfæri til að meta kóða gæði (linter, ryð-greiningartæki) og búa til einingapróf sem hægt er að keyra ekki aðeins á raunverulegum vélbúnaði, heldur einnig í QEMU.

Heimild: opennet.ru

Bæta við athugasemd