O le poloketi Kerla o loʻo atiaʻe se fatu e fetaui ma Linux i le gagana Rust

O le poloketi Kerla o loʻo atiaʻe se fatu faʻaogaina o loʻo tusia i le gagana Rust. O le fatu fou o loʻo taulaʻi muamua i le tuʻuina atu o fesoʻotaʻiga ma le fatu Linux i le tulaga ABI, lea o le a faʻatagaina ai faila faila e le mafai ona faʻaogaina mo Linux e taʻavale i totonu o se siosiomaga Kerla. O le fa'ailoga o lo'o tufatufaina i lalo ole Apache 2.0 ma le MIT laisene. O le poloketi o loʻo atiaʻe e le tagata faʻapitoa Iapani Seiya Nuta, lauiloa mo le fatuina o le microkernel operating system Resea, tusia i le gagana C.

I le taimi nei o le atinaʻe, Kerla e mafai ona taʻavale i luga o le x86_64 faiga ma faʻaaogaina telefoni faʻavae e pei o le tusitusi, stat, mmap, paipa ma le palota, lagolago faʻailoga, paipa e le taʻua igoa ma suiga o mea. O vala'au e pei ole tui, fa'atali4, ma le fa'atonu e tu'uina atu e fa'atonutonu ai faiga. E iai le lagolago mo tty ma pseudo-terminal (pty). O faila faila o loʻo lagolagoina nei o initramfs (faʻaaogaina e faʻapipiʻi ai le faila faila), tmpfs ma devfs. O loʻo tuʻuina atu se faʻaputuga fesoʻotaʻiga ma lagolago mo TCP ma UDP sockets, faʻatinoina e faʻavae i luga o le faletusi smoltcp.

Ua saunia e le tagata atiaʻe se siʻosiʻomaga taʻavale e taʻavale i le QEMU poʻo le Firecracker virtual machine ma le avetaʻavale virtio-net, lea e mafai ona e faʻafesoʻotaʻi e ala i le SSH. musl o loʻo faʻaaogaina e fai ma faletusi, ma BusyBox o loʻo faʻaaogaina e avea ma mea faʻaoga.

O le poloketi Kerla o loʻo atiaʻe se fatu e fetaui ma Linux i le gagana Rust

Ua saunia se faiga faʻavae Docker e mafai ai ona e fatuina au lava initramfs faʻatasi ma le Kerla kernel. E ese mai, o le atigi polokalama nsh e tutusa ma iʻa ma le Kazari GUI stack e faʻavae i luga o le Wayland protocol o loʻo atiaʻe.

O le poloketi Kerla o loʻo atiaʻe se fatu e fetaui ma Linux i le gagana Rust

O le faʻaaogaina o le gagana Rust i se poloketi e mafai ai e oe ona faʻaitiitia le numera o mea sese i le code e ala i le faʻaogaina o polokalame saogalemu ma faʻateleina le lelei o le iloa o faʻafitauli pe a galue ma le mafaufau. E fa'amalosia e le 'ele le saogalemu o manatuaga i le taimi fa'aopoopo e ala i le siakiina o fa'amatalaga, le umiaina o mea faitino ma le su'esu'eina o mea i le olaga atoa (va'aiga), ma e ala i le iloiloina o le sa'o o mea e manatua i le taimi e ta'avale ai. E le gata i lea, o le Rust e maua ai le puipuiga mai le tele o numera, e manaʻomia ai le faʻauluina o tau fesuiaʻi aʻo leʻi faʻaaogaina, faʻamalosia le manatu o faʻamatalaga e le mafai ona suia ma fesuiaiga e ala i le le mafai, ofoina atu le malosi o le taina e faʻaitiitia ai mea sese, ma faʻafaigofie le taulimaina o tau faʻaoga. fa'afetai i mamanu fa'afetaui. .

Mo le atinaʻeina o vaega maualalo, e pei o le OS kernel, Rust e tuʻuina atu le lagolago mo faʻamatalaga mata, faʻapipiʻi fausaga, faʻapipiʻi faʻapipiʻi faʻapipiʻi, ma faʻapipiʻi faila faila. Ina ia galue e aunoa ma le nonoa i le faletusi masani, o loʻo i ai pusa pusa eseese mo le faʻatinoina o gaioiga faʻatasi ai ma manoa, vectors ma fuʻa. O le isi faʻamanuiaga o meafaigaluega faʻapipiʻiina mo le suʻesuʻeina o le tulaga o le code (linter, rust-analyzer) ma le fatuina o suʻega iunite e mafai ona faʻatautaia e le gata i meafaigaluega moni, ae faʻapea foi i le QEMU.

puna: opennet.ru

Faaopoopo i ai se faamatalaga