Pas pas 8 muajsh zhvillim, u publikua prototipi i parë i bërthamës së ngjashme me Unix, Moss, i cili është pjesërisht i kompatibilshëm me Linux. Kodi është shkruar në gjuhën Rust me përfshirje assembleri dhe shpërndahet nën licencën MIT. Aktualisht, projekti mbështet vetëm arkitekturën Aarch64, mund të ekzekutohet në QEMU dhe është testuar në platformat Raspberry Pi 4, Jetson Nano, AMD Kria dhe imx8. Sipas zhvilluesve, bërthama mund të portojë lehtësisht për arkitektura të tjera, si x86_64 dhe RISC-V, falë një shtrese për abstrahimin e mbështetjes së harduerit.
Në këtë fazë të zhvillimit, Moss implementon 51 thirrje sistemore të Linux dhe siguron përputhje binare me aplikacionet për Linux, e mjaftueshme për të ekzekutuar shell-in Bash dhe shumicën e utiliteteve nga paketa BusyBox. Një veçori e arkitekturës Moss është përdorimi i modelit async/await për të siguruar ekzekutimin asinkron të komponentëve të bërthamës, duke eliminuar klasat kryesore të bllokimeve të ndërsjellta. Të gjitha thirrjet sistemore jo triviale janë implementuar si funksione që ekzekutohen asinkronisht.
Funksionalitetet kryesore:
- Sistemi i menaxhimit të memories me mbështetje për faqet e memories në mënyrën CoW (Copy-on-Write), tabelat e faqes së memories, funksionet asinkrone të kopjimit të memories midis bërthamat dhe hapësirës së përdoruesit, dhe trajtimin e përjashtimeve (page fault) nga ana e bërthamat dhe hapësirës së përdoruesit.
- Sistemi i menaxhimit të proceseve me planifikuesin e detyrave dhe mbështetje për migrimin e detyrave përmes IPI (inter-processor interrupt). Mbështetje për forkimin e proceseve përmes thirrjes clone(). Mundësitë për dërgimin e sinjaleve dë proceseve dhe tread-eve.
- Një shtresë asinkrone e punës VFS (Virtual File System), pajisje blloku Ramdisk, drejtuesi FAT32 dhe pajisja devtmpfs.
- Shkëputja e funksionalitetit kryesor në bibliotekën libkernel, të pa lidhur me arkitekturën e harduerit.
- Shtresa HAL (Hardware Abstraction Layer) për të siguruar mbështetje për harduerin.
- Një grup testesh, i përbërë nga mbi 230 teste.
Nga kufizimet e rëndësishme, vërehet mungesa e nën sistemit rrjetor dhe ekzistenca e një drejtuesi të reduktuar të sistemit të skedarëve, që mbështet sistemin e skedarëve Fat32 në mënyrën vetëm për lexim. Ndër detyrat prioritare përfshihet vazhdimi i realizimit të thirrjeve sistemore të Linux, krijimi i stack-ut TCP/IP, mbështetje për balancimin e ngarkesës në planifikuesin e detyrave dhe ofrimi i një drejtuesi të plotë për sistemin e skedarëve (ext2/4).
Burimi: opennet.ru
