Ny tetikasa Kerla dia mamolavola kernel mifanaraka amin'ny Linux amin'ny fiteny Rust

Ny tetikasa Kerla dia mamolavola kernel rafitra miasa voasoratra amin'ny fiteny Rust. Ny kernel vaovao dia nifantoka voalohany tamin'ny fanomezana fampifanarahana amin'ny kernel Linux amin'ny ambaratonga ABI, izay ahafahan'ny rakitra azo tanterahana tsy ovaina natambatra ho an'ny Linux mba hihazakazaka ao amin'ny tontolo mifototra amin'ny Kerla. Ny kaody dia zaraina eo ambanin'ny lisansa Apache 2.0 sy MIT. Ny tetikasa dia novolavolain'ny mpamorona Japoney Seiya Nuta, fantatra amin'ny famoronana ny rafitra fiasan'ny microkernel Resea, nosoratana tamin'ny fiteny C.

Amin'ny dingana fampandrosoana amin'izao fotoana izao, Kerla dia tsy afaka mandeha afa-tsy amin'ny rafitra x86_64 ary mametraka antso an-tariby fototra toy ny fanoratana, stat, mmap, fantsona ary fitsapan-kevitra, manohana famantarana, fantsona tsy fantatra anarana ary switch context. Ny antso toy ny fork, wait4, ary execve dia omena mba hifehezana ny dingana. Misy fanohanana ny tty sy pseudo-terminal (pty). Ny rafitra fisie tohana amin'izao fotoana izao dia initramfs (ampiasaina amin'ny fametrahana ny rafitra fichier root), tmpfs ary devfs. Ny tambazotran-tambajotra misy fanohanana ny TCP sy ny socket UDP dia omena, mifototra amin'ny tranomboky smoltcp.

Ny mpamorona dia nanomana tontolo boot izay mandeha amin'ny QEMU na ao amin'ny milina virtoaly Firecracker miaraka amin'ny mpamily virtio-net, izay efa azonao mifandray amin'ny SSH. musl dia ampiasaina ho tranomboky rafitra, ary BusyBox dia ampiasaina ho fitaovana ampiasain'ny mpampiasa.

Ny tetikasa Kerla dia mamolavola kernel mifanaraka amin'ny Linux amin'ny fiteny Rust

Ny rafitra fananganana miorina amin'ny Docker dia nomanina izay ahafahanao mamorona initramfs boot anao manokana miaraka amin'ny kernel Kerla. Misaraka, ny shell software nsh mitovy amin'ny trondro sy ny stack Kazari GUI mifototra amin'ny protocol Wayland dia novolavolaina.

Ny tetikasa Kerla dia mamolavola kernel mifanaraka amin'ny Linux amin'ny fiteny Rust

Ny fampiasana ny fiteny Rust amin'ny tetikasa iray dia ahafahanao mampihena ny isan'ny lesoka ao amin'ny code amin'ny fampiasana teknika fandaharana azo antoka ary mampitombo ny fahombiazan'ny famantarana ny olana rehefa miasa amin'ny fitadidiana. Ny harafesina dia manery ny fiarovana ny fitadidiana amin'ny fotoana fanangonana amin'ny alΓ lan'ny fanamarinana reference, ny fananana zavatra ary ny fanaraha-maso mandritra ny androm-piainana (scopes), ary amin'ny fanombanana ny fahamarinan'ny fidirana amin'ny fitadidiana amin'ny fotoana fandehanana. Ankoatr'izay, ny Rust dia manome fiarovana amin'ny fihoaran'ny integer, mitaky soatoavina miovaova hatomboka alohan'ny hampiasana azy, mampihatra ny foto-kevitry ny references sy variables tsy azo ovaina amin'ny alΓ lan'ny default, manolotra sora-baventy matanjaka mba hampihenana ny fahadisoana lojika, ary manamora ny fitantanana ny soatoavina fampidirana. misaotra amin'ny fampifanarahana ny lamina..

Ho an'ny fampivoarana ireo singa ambany, toy ny kernel OS, ny Rust dia manome fanohanana ho an'ny fanondro manta, famonosana rafitra, fampidirana inline assembler, ary fametahana rakitra assembler. Mba hiasa nefa tsy mifamatotra amin'ny tranomboky mahazatra, dia misy fonosana vata misaraka ho an'ny asa miaraka amin'ny tady, vectors ary sainam-bitika. Ny tombony iray hafa dia ny fitaovana naorina amin'ny fanombanana ny kalitaon'ny code (linter, rust-analyzer) sy ny famoronana fitsapana unit izay azo atao tsy amin'ny fitaovana tena izy, fa amin'ny QEMU ihany koa.

Source: opennet.ru

Add a comment