I-Kerla: i-kernel entsha ebhalwe ku-Rust futhi ehambisana ne-Linux ABI

Ulwazi lusanda kukhishwa mayelana nephrojekthi ye-Kerla, ethuthukiswayo njenge-kernel yesistimu yokusebenza ebhalwe ngolimi lwe-Rust. Ikhodi isatshalaliswa ngaphansi kwamalayisensi e-Apache 2.0 kanye ne-MIT. Le phrojekthi ithuthukiswa unjiniyela wase-Japan u-Seiya Nuta, owaziwa ngokudala isistimu yokusebenza ye-Resea microkernel, ebhalwe ngolimi lwe-C.

I-kernel entsha ihlose ekuqaleni qinisekisa ukuhambisana ne-Linux kernel ezingeni le-ABI, okuzovumela amabhanari angalungiswanga akhelwe i-Linux ukuthi asebenze endaweni esekwe ku-Kerla.

Mayelana neKeral

I-Kerla iyi-kernel yesistimu yokusebenza ye-monolithic idalwe kusukela ekuqaleni ku-Rust. Esigabeni samanje sentuthuko, u-Kerla ingasebenza kuphela kumasistimu ane-x86_64 architecture futhi isebenzisa amakholi wesistimu ayisisekelo njengokubhala, izibalo, i-mmap, ipayipi ne-poll, isekela amasiginali, amapayipi angashiwongo kanye nokushintsha kokuqukethwe. Izingcingo ezifana nemfoloko, wait4 kanye ne-execve zinikeza ukulawula izinqubo. Kukhona ukusekelwa kwe-tty kanye ne-pseudo-terminals (pty). Phakathi kwezinhlelo zefayela le-initramfs (ezisetshenziselwa ukukhweza impande ye-FS), ama-tmpfs nama-devfs asasekelwa.

Kunikezwe isitaki senethiwekhi esisekelwa amasokhethi e-TCP ne-UDP, ngokusekelwe kulabhulali ye-smoltcp. Umthuthukisi ulungise indawo yokuqalisa esebenza ku-QEMU noma i-Firecracker VM nge-virtio-net yomshayeli, osuvele uxhumeke kuyo nge-SSH.. I-Musl isetshenziswa njengomtapo wolwazi wesistimu futhi i-BusyBox isetshenziswa njengesisetshenziswa somsebenzisi. Ngokusekelwe ku-Docker, kulungiselelwe uhlelo lokwakha olukuvumela ukuthi uzenzele eyakho ibhuthi ye-initramfs nge-Kerla kernel.

Kuze kube manje, imbalwa imininingwane enikeziwe mayelana ne-kernel yayo entsha, kodwa okudonsela ukunaka kakhulu izici ze-Kerla ukuthi ibhalwe ngo-Rust. Ngakho-ke ingabe ukuyibhala ngeRust kunezinzuzo ngaphezu kwezinye izilimi noma ngaphezulu kwekhodi ekhona? Abaningi baphendule ngoyebo kulo mbuzo, begcizelela izinzuzo zokuvikeleka kwenkumbulo ezihlinzekwa ngolimi.

Ihlinzekwa futhi lapho kuhlolwa ukunemba kokufinyelela kwememori ngesikhathi sokusebenza. Yini enye, i-Mozilla ikholelwa ukuthi i-Rust inikeza isivikelo ekuchichimeni okuphelele, idinga ukuqaliswa okuyisibopho kwamanani ahlukile ngaphambi kokusetshenziswa, yamukela umqondo wezithenjwa nokuguquguquka okungaguquleki ngokuzenzakalelayo, inikeza ukuthayipha okuqinile okuqinile ukuze kuncishiswe amaphutha anengqondo, futhi yenze kube lula ukucubungula okokufaka ngokufanisa amaphethini.

Phakathi kwezinzuzo, sigqamisa amathuluzi ahlanganisiwe okuhlola ikhwalithi yekhodi nokudala ukuhlolwa kweyunithi okungase kwenziwe hhayi kuphela kwihadiwe yangempela, kodwa naku-QEMU. Ngokuyisisekelo, i-Mozilla ithola i-Rust kulula ukuyilungisa, njengoba umhlanganisi uzonqaba amaphutha. Kodwa-ke, ama-cove akhombe ezinye izithiyo ngeRust.

“Njengaku-C ++, cishe akunakwenzeka ukubhala i-idiomatic Rust ngaphandle kokusebenzisa izifanekiso, ngakho-ke inamabhinari akhukhumele kanye nezikhathi zokuhlanganisa ezihamba kancane. Konke lokhu kuhlolwa kwesikhathi sokuhlanganisa nakho kuza ngezindleko. Futhi, uma ubhala kabusha okuthile, ulahlekelwa i-codebase endala evuthiwe, futhi ayikho indlela ongakhiqiza ngayo i-codebase yekhwalithi efanayo ngesikhathi esifanele; kungcono kakhulu ukwelula, kunokuba ubhale kabusha, uhlelo ku-Rust. Kungcono ukunweba uhlelo kunokulubhala kabusha ku-Rust, ”kusho unjiniyela wesoftware.

Ngokusho komdali wayo, kungenxa yalesi sizathu ukuthi abathuthukisi be-Linux, ikakhulukazi uLinus Torvalds ngokwakhe, bawunqabile umqondo wokubhala kabusha yonke i-kernel ku-Rust.

“Yenza umsebenzi othile ukuze udale izixhumanisi ezivikelekile, bese ubhala ikhodi eyengeziwe kokuthi Rust futhi usengajabulela leyo khodi evuthiwe. (Yilokho okwenziwa yiLinux, kunemizamo yokwengeza ikhono lokubhala imojuli ye-kernel kuRust), ”engeza. Abathuthukisi be-Linux bebehlola amathuba okubhala amamojula athile e-kernel amasha besebenzisa ulimi lwe-Rust cishe iminyaka emithathu. Lokhu kudale iphrojekthi ethi "Rust for Linux".

Ekugcineni, uma unentshisekelo yokwazi kabanzi ngakho, ungaxhumana nemininingwane Kulesi sixhumanisi esilandelayo.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.