Kerla: një kernel i ri i shkruar në Rust dhe i pajtueshëm me Linux ABI

Informacioni u publikua së fundmi në lidhje me projektin Kerla, i cili po zhvillohet si një kernel sistemi operativ i shkruar në gjuhën Rust. Kodi shpërndahet nën licencat Apache 2.0 dhe MIT. Projekti po zhvillohet nga zhvilluesi japonez Seiya Nuta, i njohur për krijimin e sistemit operativ të mikrokernelit Resea, i shkruar në gjuhën C.

Kerneli i ri synon fillimisht të sigurojë përputhshmëri me kernelin Linux në nivelin ABI, i cili do të lejojë binarët e pamodifikuar të ndërtuara për Linux të ekzekutohen në një mjedis të bazuar në Kerla.

Rreth Keralit

Kerla është një kernel monolit i sistemit operativ krijuar nga e para në Rust. Në fazën aktuale të zhvillimit, Kerla mund të ekzekutohet vetëm në sisteme me arkitekturë x86_64 dhe zbaton thirrjet bazë të sistemit si shkrim, stat, mmap, tub dhe sondazh, mbështet sinjale, tuba pa emër dhe ndërprerës të kontekstit. Thirrjet si fork, wait4 dhe execve ofrojnë për të kontrolluar proceset. Ekziston mbështetje për tty dhe pseudo-terminalet (pty). Ndër sistemet e skedarëve initramfs (që përdoren për montimin e rrënjës FS), tmpfs dhe devfs janë ende të mbështetur.

Ofrohet gjithashtu një grup rrjeti me mbështetje për prizat TCP dhe UDP, Bazuar në bibliotekën smoltcp. Zhvilluesi ka përgatitur një mjedis boot që funksionon në QEMU ose Firecracker VM me drejtuesin virtio-net, me të cilin tashmë mund të lidheni përmes SSH. Musl përdoret si një bibliotekë sistemi dhe BusyBox përdoret si një mjet përdoruesi. Bazuar në Docker, është përgatitur një sistem ndërtimi që ju lejon të krijoni boot-in tuaj initramfs me kernelin Kerla.

Deri më tani janë dhënë pak detaje në lidhje me kernelin e ri të tij, por ajo që tërheq më shumë vëmendjen te veçoritë e Kerla-s është fakti se ai është i shkruar në Rust. Pra, a ka ndonjë avantazh shkrimi i tij në Rust ndaj gjuhëve të tjera ose ndaj kodit ekzistues? Shumë iu përgjigjën po kësaj pyetjeje, duke theksuar përfitimet e sigurisë së kujtesës që ofron gjuha.

Ofrohet gjithashtu kur vlerësohet saktësia e akseseve të memories në kohën e ekzekutimit. Cfare ka me shume, Mozilla beson se Rust ofron mbrojtje kundër tejmbushjeve të numrave të plotë, kërkon inicializimin e detyrueshëm të vlerave të variablave përpara përdorimit, adopton konceptin e referencave dhe variablave të pandryshueshme si parazgjedhje, ofron shtypje të fortë statike për të minimizuar gabimet logjike dhe thjeshton përpunimin e hyrjes përmes përputhjes së modeleve.

Ndër avantazhet, ne veçojmë mjetet e integruara për të vlerësuar cilësinë e kodit dhe krijimi i testeve të njësisë që mund të ekzekutohen jo vetëm në pajisje reale, por edhe në QEMU. Në thelb, Mozilla e ka më të lehtë Rust për të korrigjuar gabimet, pasi përpiluesi do të refuzojë gabimet. Megjithatë, limanet treguan disa të meta me Rust.

"Ashtu si me C ++, është pothuajse e pamundur të shkruhet Rust idiomatik pa përdorur shabllone, kështu që ka binare të fryra dhe kohë të ngadalta përpilimi. Të gjitha këto kontrolle në kohën e përpilimit kanë gjithashtu një kosto. Gjithashtu, nëse rishkruani diçka, ju humbni bazën e vjetër të kodit të maturuar dhe nuk ka asnjë mënyrë që të prodhoni një bazë kodesh me cilësi të ngjashme në një kohë të arsyeshme; është shumë më mirë të zgjerohet, në vend që të rishkruhet, programi në Rust. Është më mirë ta zgjerosh programin sesa ta rishkruash në Rust,” thotë një inxhinier softuerësh.

Sipas krijuesit të tij, është për këtë arsye që zhvilluesit e Linux, në veçanti vetë Linus Torvalds, ata hodhën poshtë idenë e rishkrimit të të gjithë bërthamës në Rust.

“Bëni disa punë për të krijuar lidhje të sigurta, më pas shkruani kodin shtesë në Rust dhe mund ta shijoni akoma atë kod të pjekur. (Kjo është ajo që bën Linux, ka përpjekje për të shtuar aftësinë për të shkruar një modul kernel në Rust), "shtoi ai. Zhvilluesit e Linux kanë eksploruar mundësitë e shkrimit të disa moduleve të reja të kernelit duke përdorur gjuhën Rust për rreth tre vjet. Kjo shkaktoi projektin "Rust for Linux".

Së fundmi, nëse jeni të interesuar të dini më shumë rreth kësaj, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.