Aikin Kerla yana haɓaka kernel mai dacewa da Linux a cikin yaren Rust

Aikin Kerla yana haɓaka kernel ɗin tsarin aiki da aka rubuta cikin yaren Rust. Sabuwar kernel da farko an mayar da hankali ne akan samar da dacewa tare da kernel na Linux a matakin ABI, wanda zai ba da damar fayilolin aiwatarwa waɗanda ba a haɗa su ba don Linux suyi aiki a cikin yanayin tushen Kerla. Ana rarraba lambar a ƙarƙashin lasisin Apache 2.0 da MIT. Seiya Nuta mai haɓakawa na Japan ne ke haɓaka aikin, wanda aka sani don ƙirƙirar tsarin aikin microkernel Resea, wanda aka rubuta cikin yaren C.

A matakin ci gaba na yanzu, Kerla na iya aiki ne kawai akan tsarin x86_64 kuma yana aiwatar da tsarin kira na asali kamar rubutu, ƙididdiga, mmap, bututu da jefa ƙuri'a, yana goyan bayan sigina, bututun da ba a bayyana sunansa ba da mahallin mahallin. Ana ba da kira kamar cokali mai yatsu, wait4, da execve don sarrafa matakai. Akwai tallafi ga tty da pseudo-terminals (pty). Tsarukan fayilolin da ake tallafawa a halin yanzu sune intramfs (an yi amfani da su don hawan tsarin fayil ɗin tushen), tmpfs da devfs. An samar da tarin cibiyar sadarwa tare da goyan bayan TCP da UDP, wanda aka aiwatar bisa laburare na smoltcp.

Mai haɓakawa ya shirya yanayin taya wanda ke gudana a cikin QEMU ko a cikin injin kama-da-wane na Firecracker tare da direban virtio-net, wanda zaku iya haɗawa ta hanyar SSH. Ana amfani da musl azaman ɗakin karatu na tsarin, kuma ana amfani da BusyBox azaman abubuwan amfani.

Aikin Kerla yana haɓaka kernel mai dacewa da Linux a cikin yaren Rust

An shirya tsarin ginin Docker wanda ke ba ku damar ƙirƙirar initramfs ɗin boot ɗin ku tare da Kerla kernel. Na dabam, harsashin software na nsh mai kama da kifi da tarin Kazari GUI dangane da ka'idar Wayland ana haɓakawa.

Aikin Kerla yana haɓaka kernel mai dacewa da Linux a cikin yaren Rust

Yin amfani da yaren Rust a cikin aikin yana ba ku damar rage yawan kurakurai a cikin lambar ta amfani da dabarun shirye-shirye masu aminci da haɓaka haɓakar gano matsaloli yayin aiki tare da ƙwaƙwalwa. Tsatsa yana tilasta amincin ƙwaƙwalwar ajiya a lokacin tattara lokaci ta hanyar duba tunani, mallakar abu da bin diddigin abu na rayuwa (matsala), da kuma kimanta daidaitaccen damar ƙwaƙwalwar ajiya a lokacin aiki. Bugu da ƙari, Rust yana ba da kariya daga zubar da ƙima, yana buƙatar ƙididdige ƙididdiga masu canzawa kafin amfani da su, yana tilasta manufar nassoshi da masu canji ta hanyar tsohuwa, yana ba da ingantaccen buga rubutu don rage kuskuren ma'ana, kuma yana sauƙaƙa sarrafa ƙimar shigarwa. godiya ga tsarin daidaitawa..

Don haɓaka ƙananan abubuwan haɗin gwiwa, irin su kwaya na OS, Rust yana ba da tallafi ga masu nuni, tattara tsarin, abubuwan shigar da layi, da haɗa fayilolin masu tarawa. Don yin aiki ba tare da an ɗaure su da daidaitaccen ɗakin karatu ba, akwai fakiti daban-daban don yin ayyuka tare da kirtani, vectors da tutoci. Wani fa'ida shine kayan aikin da aka gina don tantance ingancin lambar (linter, tsatsa-analyzer) da ƙirƙirar gwaje-gwajen naúrar waɗanda za'a iya gudanar da su ba kawai akan kayan aiki na gaske ba, har ma a cikin QEMU.

source: budenet.ru

Add a comment