ืคืจื•ื™ืงื˜ Kerla ืžืคืชื— ืงืจื ืœ ืชื•ืื ืœื™ื ื•ืงืก ื‘ืฉืคืช Rust

ืคืจื•ื™ืงื˜ Kerla ืžืคืชื— ืœื™ื‘ืช ืžืขืจื›ืช ื”ืคืขืœื” ื”ื›ืชื•ื‘ื” ื‘ืฉืคืช Rust. ื”ืœื™ื‘ื” ื”ื—ื“ืฉื” ืžืชืžืงื“ืช ื‘ืชื—ื™ืœื” ื‘ืžืชืŸ ืชืื™ืžื•ืช ืœื’ืจืขื™ืŸ ื”ืœื™ื ื•ืงืก ื‘ืจืžืช ABI, ืžื” ืฉื™ืืคืฉืจ ืงื‘ืฆื™ ื”ืคืขืœื” ืœืœื ืฉื™ื ื•ื™ ืฉื”ื™ื“ื•ืจ ืขื‘ื•ืจ ืœื™ื ื•ืงืก ืœืคืขื•ืœ ื‘ืกื‘ื™ื‘ื” ืžื‘ื•ืกืกืช Kerla. ื”ืงื•ื“ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ื ื•ืช Apache 2.0 ื•-MIT. ื”ืคืจื•ื™ืงื˜ ืžืคื•ืชื— ืขืœ ื™ื“ื™ ื”ืžืคืชื—ืช ื”ื™ืคื ื™ืช Seiya Nuta, ื”ื™ื“ื•ืขื” ื‘ื™ืฆื™ืจืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ื”ืžื™ืงืจื•-ืงืจื ืœ Resea, ื”ื›ืชื•ื‘ื” ื‘ืฉืคืช C.

ื‘ืฉืœื‘ ื”ืคื™ืชื•ื— ื”ื ื•ื›ื—ื™ ืฉืœื”, Kerla ื™ื›ื•ืœื” ืœืคืขื•ืœ ืจืง ืขืœ ืžืขืจื›ื•ืช x86_64 ื•ืžื™ื™ืฉืžืช ืงืจื™ืื•ืช ืžืขืจื›ืช ื‘ืกื™ืกื™ื•ืช ื›ืžื• ื›ืชื™ื‘ื”, stat, mmap, pipe and poll, ืชื•ืžื›ืช ื‘ืื•ืชื•ืช, ืฆื™ื ื•ืจื•ืช ืœืœื ืฉื ื•ืžืชื’ื™ ื”ืงืฉืจ. ืฉื™ื—ื•ืช ื›ื’ื•ืŸ fork, wait4 ื•-execve ืžืกื•ืคืงื•ืช ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืชื”ืœื™ื›ื™ื. ื™ืฉ ืชืžื™ื›ื” ื‘-tty ื•ื‘ืคืกืื•ื“ื•-ื˜ืจืžื™ื ืœื™ื (pty). ืžืขืจื›ื•ืช ื”ืงื‘ืฆื™ื ื”ื ืชืžื›ื•ืช ื›ืขืช ื”ืŸ initramfs (ื”ืžืฉืžืฉื•ืช ืœื˜ืขื™ื ืช ืžืขืจื›ืช ืงื‘ืฆื™ ื”ืฉื•ืจืฉ), tmpfs ื•-devfs. ื ื™ืชื ืช ืขืจื™ืžืช ืจืฉืช ืขื ืชืžื™ื›ื” ื‘ืฉืงืขื™ TCP ื•-UDP, ื”ืžื™ื•ืฉืžืช ืขืœ ืกืžืš ืกืคืจื™ื™ืช smoltcp.

ื”ืžืคืชื— ื”ื›ื™ืŸ ืกื‘ื™ื‘ืช ืืชื—ื•ืœ ื”ืคื•ืขืœืช ื‘-QEMU ืื• ื‘ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช Firecracker ืขื ื”ื“ืจื™ื™ื‘ืจ ืฉืœ virtio-net, ืืœื™ื• ื›ื‘ืจ ื ื™ืชืŸ ืœื”ืชื—ื‘ืจ ื‘ืืžืฆืขื•ืช SSH. musl ืžืฉืžืฉ ื›ืกืคืจื™ื™ืช ืžืขืจื›ืช, ื•-BusyBox ืžืฉืžืฉ ื›ื›ืœื™ ืขื–ืจ ืœืžืฉืชืžืฉ.

ืคืจื•ื™ืงื˜ Kerla ืžืคืชื— ืงืจื ืœ ืชื•ืื ืœื™ื ื•ืงืก ื‘ืฉืคืช Rust

ื”ื•ื›ื ื” ืžืขืจื›ืช ื‘ื ื™ื™ื” ืžื‘ื•ืกืกืช Docker ื”ืžืืคืฉืจืช ืœืš ืœื™ืฆื•ืจ ืืชื—ื•ืœ initramfs ืžืฉืœืš ืขื ืœื™ื‘ืช Kerla. ื‘ื ืคืจื“, ืžืคืชื—ื™ื ืžืขื˜ืคืช ืชื•ื›ื ืช nsh ื”ื“ื•ืžื” ืœื“ื’ ื•ืขืจื™ืžืช ื”-GUI ืฉืœ Kazari ื”ืžื‘ื•ืกืกืช ืขืœ ืคืจื•ื˜ื•ืงื•ืœ Wayland.

ืคืจื•ื™ืงื˜ Kerla ืžืคืชื— ืงืจื ืœ ืชื•ืื ืœื™ื ื•ืงืก ื‘ืฉืคืช Rust

ืฉื™ืžื•ืฉ ื‘ืฉืคืช Rust ื‘ืคืจื•ื™ืงื˜ ืžืืคืฉืจ ืœื”ืคื—ื™ืช ืืช ืžืกืคืจ ื”ืฉื’ื™ืื•ืช ื‘ืงื•ื“ ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืชื›ื ื•ืช ื‘ื˜ื•ื—ื•ืช ื•ื”ื’ื‘ืจืช ื”ื™ืขื™ืœื•ืช ืฉืœ ื–ื™ื”ื•ื™ ื‘ืขื™ื•ืช ื‘ืขื‘ื•ื“ื” ืขื ื–ื™ื›ืจื•ืŸ. Rust ืื•ื›ืคืช ืืช ื‘ื˜ื™ื—ื•ืช ื”ื–ื™ื›ืจื•ืŸ ื‘ื–ืžืŸ ื”ื”ื™ื“ื•ืจ ื‘ืืžืฆืขื•ืช ื‘ื“ื™ืงืช ื”ืคื ื™ื•ืช, ื‘ืขืœื•ืช ืขืœ ืื•ื‘ื™ื™ืงื˜ ื•ืžืขืงื‘ ืื—ืจ ื—ื™ื™ ืื•ื‘ื™ื™ืงื˜ (ืกืงื•ืคื™ื), ื•ืขืœ ื™ื“ื™ ื”ืขืจื›ืช ื ื›ื•ื ื•ืช ื”ื’ื™ืฉื” ืœื–ื™ื›ืจื•ืŸ ื‘ื–ืžืŸ ืจื™ืฆื”. ื‘ื ื•ืกืฃ, Rust ืžืกืคืงืช ื”ื’ื ื” ืžืคื ื™ ื”ืฆืคืช ืžืกืคืจื™ื ืฉืœืžื™ื, ื“ื•ืจืฉืช ืืชื—ื•ืœ ืขืจื›ื™ ืžืฉืชื ื™ื ืœืคื ื™ ื”ืฉื™ืžื•ืฉ, ืื•ื›ืคืช ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ื”ืคื ื™ื•ืช ื•ืžืฉืชื ื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžืฆื™ืขื” ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื—ื–ืงื” ื›ื“ื™ ืœืžื–ืขืจ ืฉื’ื™ืื•ืช ืœื•ื’ื™ื•ืช ื•ืžืคืฉื˜ืช ืืช ื”ื˜ื™ืคื•ืœ ื‘ืขืจื›ื™ ืงืœื˜ ื‘ื–ื›ื•ืช ื”ืชืืžืช ื“ืคื•ืกื™ื. .

ืœืคื™ืชื•ื— ืฉืœ ืจื›ื™ื‘ื™ื ื‘ืจืžื” ื ืžื•ื›ื”, ื›ื’ื•ืŸ ืœื™ื‘ืช ืžืขืจื›ืช ื”ื”ืคืขืœื”, Rust ืžืกืคืงืช ืชืžื™ื›ื” ื‘ืžืฆื‘ื™ืขื™ื ื’ื•ืœืžื™ื™ื, ืืจื™ื–ืช ืžื‘ื ื”, ืชื•ืกืคื•ืช ืžื•ื˜ื‘ืขื•ืช ืฉืœ assembler ื•ื”ื˜ืžืขื” ืฉืœ ืงื‘ืฆื™ assembler. ื›ื“ื™ ืœืขื‘ื•ื“ ืžื‘ืœื™ ืœื”ื™ื•ืช ืงืฉื•ืจ ืœืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช, ืงื™ื™ืžื•ืช ื—ื‘ื™ืœื•ืช ืืจื’ื– ื ืคืจื“ื•ืช ืœื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ืขื ืžื—ืจื•ื–ื•ืช, ื•ืงื˜ื•ืจื™ื ื•ื“ื’ืœื™ ืกื™ื‘ื™ื•ืช. ื™ืชืจื•ืŸ ื ื•ืกืฃ ื”ื•ื ื”ื›ืœื™ื ื”ืžื•ื‘ื ื™ื ืœื”ืขืจื›ืช ืื™ื›ื•ืช ื”ืงื•ื“ (ืœื™ื ื˜ืจ, ืžื ืชื— ื—ืœื•ื“ื”) ื•ื™ืฆื™ืจืช ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื” ืฉื ื™ืชืŸ ืœื”ืคืขื™ืœ ืœื ืจืง ืขืœ ื—ื•ืžืจื” ืืžื™ืชื™ืช, ืืœื ื’ื ื‘-QEMU.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”