Morero oa Kerla o nts'etsapele kernel e lumellanang le Linux ka puo ea Rust

Morero oa Kerla o ntse o hlahisa kernel ea sistimi e ngotsoeng ka puo ea Rust. Kernel e ncha qalong e tsepamisitse maikutlo ho fana ka tšebelisano le Linux kernel boemong ba ABI, e tla lumella lifaele tse sa sebetseng tse hlophisitsoeng tse hlophisitsoeng bakeng sa Linux ho sebetsa tikolohong e thehiloeng Kerla. Khoutu e ajoa tlasa laesense ea Apache 2.0 le MIT. Morero o ntse o ntlafatsoa ke moqapi oa Japane Seiya Nuta, ea tsejoang ka ho theha tsamaiso ea microkernel Resea, e ngotsoeng ka puo ea C.

Boemong ba hona joale ba nts'etsopele, Kerla e ka sebetsa feela ka litsamaiso tsa x86_64 mme e sebelisa mehala ea mantlha ea sistimi joalo ka ho ngola, stat, mmap, pipe le poll, e ts'ehetsa mats'oao, liphaephe tse sa boleloang ka mabitso le li-switches tsa maemo. Mehala e kang fork, wait4, le execve e fanoa ho laola lits'ebetso. Ho na le tšehetso bakeng sa tty le pseudo-terminals (pty). Litsamaiso tsa faele tse tšehetsoeng hajoale ke initramfs (e sebelisetsoang ho kenya sistimi ea faele ea metso), tmpfs le devfs. Ho fanoa ka stack ea marang-rang e nang le ts'ehetso ea li-sockets tsa TCP le UDP, e sebelisoang ho latela laebrari ea smoltcp.

Moqapi o lokiselitse tikoloho ea boot e sebetsang QEMU kapa mochine oa motlakase oa Firecracker o nang le mokhanni oa virtio-net, oo u seng u ntse u ka ikopanya le oona ka SSH. musl e sebelisoa e le laebrari ea tsamaiso, 'me BusyBox e sebelisoa e le lisebelisoa tsa mosebedisi.

Morero oa Kerla o nts'etsapele kernel e lumellanang le Linux ka puo ea Rust

Sistimi ea kaho e thehiloeng ho Docker e se e lokisitsoe e u lumellang hore u iketsetse li-boot initramfs ka kernel ea Kerla. Ka karohano, khetla ea software ea nsh e ts'oanang le litlhapi le stack ea Kazari GUI e thehiloeng ho protocol ea Wayland e ntse e ntlafatsoa.

Morero oa Kerla o nts'etsapele kernel e lumellanang le Linux ka puo ea Rust

Ho sebelisa puo ea Rust morerong ho u lumella ho fokotsa palo ea liphoso khoutu ka ho sebelisa mekhoa e bolokehileng ea mananeo le ho eketsa bokhoni ba ho khetholla mathata ha u sebetsa ka mohopolo. Rust e tiisa ts'ireletseho ea memori ka nako ea ho bokella ka ho hlahloba litšupiso, beng ba ntho le ho latela lintlha tsa bophelo bohle (li-scopes), le ka ho lekola ho nepahala ha phihlello ea memori nakong ea nako. Rust e boetse e fana ka ts'ireletso khahlano le phallo e felletseng, e hloka hore litekanyetso tse fapaneng li qalisoe pele li sebelisoa, li tiisa mohopolo oa litšupiso tse sa fetoheng le tse feto-fetohang ka mokhoa o ikhethileng, e fana ka typing e matla ho fokotsa liphoso tse utloahalang, 'me e nolofatsa ho sebetsana le litekanyetso tsa ho kenya letsoho ka mohlala. ho tšoana..

Bakeng sa nts'etsopele ea likarolo tse maemong a tlase, joalo ka OS kernel, Rust e fana ka ts'ehetso bakeng sa litsupa tse tala, ho paka sebopeho, ho kenya li-inline tsa assembler, le ho kenya lifaele tse kopaneng. Ho sebetsa ntle le ho tlamelloa laebraring e tloaelehileng, ho na le liphutheloana tse arohaneng tsa crate bakeng sa ho etsa ts'ebetso ka likhoele, li-vector le lifolakha tse nyane. Molemo o mong ke lisebelisoa tse hahiloeng bakeng sa ho hlahloba boleng ba khoutu (linter, rust-analyzer) le ho etsa liteko tsa lisebelisoa tse ke keng tsa etsoa feela ka hardware ea sebele, empa hape le QEMU.

Source: opennet.ru

Eketsa ka tlhaloso