First Prototype of Unix-Like Kernel “Moss” with Linux Compatibility Published
After 8 months of development, the first prototype of the Unix-like kernel Moss, which is partially compatible with Linux, has been released. The code is written in Rust with assembly language inserts and is distributed under the MIT license. The project currently supports the Aarch64 architecture and has been tested on various boards including Raspberry Pi 4, Jetson Nano, AMD Kria, and imx8.
According to the developers, Moss can easily be ported to other architectures such as x86_64 and RISC-V due to a hardware support abstraction layer. The kernel can run in QEMU and currently has 51 Linux system calls, providing binary compatibility with Linux applications, enabling the running of Bash shell and most BusyBox utilities.
Main Features:
- Memory management system with support for CoW memory pages, page tables, asynchronous memory copy functions, and exception handling on both kernel and user space.
- Process management system with task scheduler, task migration via IPI, support for forking processes, and signal delivery to processes and threads.
- Asynchronously working VFS layer, Ramdisk block device, FAT32 driver, and devtmpfs device.
- Main functionality moved to libkernel library for architecture independence.
- HAL layer for hardware support and a test set with over 230 tests.
However, Moss currently lacks a network subsystem and only has a stripped-down file system driver that supports Fat32 in read-only mode. Priority tasks include continuing Linux system call implementation, creating a TCP/IP stack, adding load balancing support in the task scheduler, and developing a full-fledged file system driver for ext2/4.