Kei te whakawhanake te kaupapa Kerla i te kakano hototahi ki Linux i te reo Rust

Kei te whakawhanake te kaupapa Kerla i te kakano punaha whakahaere kua tuhia ki te reo Rust. Ko te kakano hou i te tuatahi ka aro ki te whakarato hototahi ki te kakano Linux i te taumata ABI, ka taea e nga konae whakahaere kore whakarereke kua whakahiatohia mo Linux kia rere i roto i te taiao Kerla. Ka tohatohahia te waehere i raro i nga raihana Apache 2.0 me MIT. Kei te whakawhanakehia te kaupapa e te kaiwhakawhanake Hapanihi a Seiya Nuta, e mohiotia ana mo te hanga i te punaha whakahaere microkernel Resea, i tuhia ki te reo C.

I tana wahanga whanaketanga o naianei, ka taea anake e Kerla te whakahaere i runga i nga punaha x86_64 me te whakamahi i nga waea punaha taketake penei i te tuhi, tatauranga, mmap, paipa me te pooti, ​​e tautoko ana i nga tohu, nga paipa kore ingoa me nga huringa horopaki. Ko nga waea penei i te marau, tatari4, me te execve ka tukuna hei whakahaere i nga tukanga. He tautoko mo tty me pseudo-terminals (pty). Ko nga punaha konae e tautokohia ana i tenei wa ko initramfs (whakamahia ki te whakairi i te punaha konae pakiaka), tmpfs me devfs. Ka whakaratohia he puranga whatunga me te tautoko mo nga turanga TCP me te UDP, ka whakatinanahia i runga i te whare pukapuka smoltcp.

Kua whakaritea e te kaiwhakawhanake he taiao whawhai e rere ana i te QEMU, i te miihini mariko Firecracker ranei me te taraiwa virtio-net, ka taea e koe te hono atu ma te SSH. Ka whakamahia te musl hei whare pukapuka punaha, ka whakamahia a BusyBox hei taputapu kaiwhakamahi.

Kei te whakawhanake te kaupapa Kerla i te kakano hototahi ki Linux i te reo Rust

Kua whakaritea he punaha hanga-a Docker e taea ai e koe te hanga i a koe ake boot initramfs me te Kerla kernel. Ka wehea, kei te whakawhanakehia te anga rorohiko nsh e rite ana ki te ika me te taapu Kazari GUI i runga i te kawa Wayland.

Kei te whakawhanake te kaupapa Kerla i te kakano hototahi ki Linux i te reo Rust

Ma te whakamahi i te reo Rust i roto i tetahi kaupapa ka taea e koe te whakaiti i te maha o nga hapa i roto i te waehere ma te whakamahi i nga tikanga whakamaarama haumaru me te whakanui ake i te pai o te tautuhi i nga raruraru i te wa e mahi ana me te mahara. Ka whakamanahia e te waikura te haumaru maumahara i te wa whakahiato ma te arowhai tohutoro, te mana taonga me te tirotiro mo te oranga o te ahanoa (nga waahanga), me te arotake i te tika o nga urunga mahara i te wa whakahaere. I tua atu, ka tiakina e Rust ki nga puhaketanga integer, me timata nga uara rereke i mua i te whakamahi, ka whakamanahia te ariā o nga tohutoro kore e taea te whakarereke me nga taurangi ma te taunoa, te tuku i te patopato pateko kaha hei whakaiti i nga hapa arorau, me te ngawari ki te whakahaere i nga uara whakauru. mihi ki te whakataurite tauira. .

Mo te whanaketanga o nga waahanga taumata-iti, penei i te kakano OS, ka tautoko a Rust mo nga tohu mata, te whakakakahu anga, te whakauru i te raarangi whakahiato, me te whakauru i nga konae whakahiato. Ki te mahi me te kore e herea ki te whare pukapuka paerewa, he kete motuhake mo te mahi me nga aho, vectors me nga haki moka. Ko tetahi atu painga ko nga taputapu hanga-i roto mo te aromatawai i te kounga o te waehere (linter, rust-analyzer) me te hanga i nga whakamatautau wae ka taea te whakahaere i runga i nga taputapu tuuturu, engari i roto i te QEMU.

Source: opennet.ru

Tāpiri i te kōrero