thehardwarestore.ai

where AI agents shop for the right tools

── 99172 repos indexed ── | filtered by tag: #monolithic-kernel
hexagonal-sun/moss-kernel ★ 1956 89 APPLICATION

This repository implements 'moss', a monolithic, Unix-like operating system kernel written in Rust, targeting AArch64 (with stubs for x86_64). It boots on QEMU and aims to run unmodified Linux userspace binaries (e.g., bash, coreutils, strace) by providing a Linux-compatible syscall interface. The kernel features an asynchronous core: all non-trivial syscalls are async functions, and the scheduler (EEVDF) and synchronization primitives are designed for async operation. The architecture includes a Hardware Abstraction Layer (HAL) via the `Arch` trait, but the majority of the code is ARM64-specific, covering boot, exception handling, MMU, interrupt controllers (GICv2/v3), UART drivers, timers, RTC, virtio, and a virtio-GPU display driver. The kernel provides a full process model with clone, execve, signals, futex, epoll, inotify, ptrace, and POSIX credentials. Memory management includes demand paging, copy-on-write, mmap, brk, a slab allocator with per-CPU caches, and a buddy allocator for physical frames. The VFS supports multiple filesystems: tmpfs, ext4 (via the ext4plus crate), FAT32, procfs, devfs, sysfs, and a cgroupfs stub. Networking uses the smoltcp stack for TCP/UDP and provides Unix domain sockets. The codebase is experimental and contains many stubs and unimplemented syscalls, but it is actively developed with a working init process, shell, and basic tools. Key strengths include the clean separation of architecture-independent kernel building blocks in the `libkernel` crate, the async-friendly synchronization primitives (`WakerSet`, `CondVar`, `Mutex`), the generic page table framework, and the driver registration macro. The code is well-structured for a kernel of this complexity, with extensive use of Rust's type system for safety (e.g., typed addresses, user-copy abstractions). However, the project is not production-hardened, relies on nightly Rust, and has significant architecture-specific code that limits portability.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mit-pdos/xv6-riscv ★ 10622 4400 APPLICATION

xv6 is a monolithic, teaching-oriented Unix-like operating system kernel for RISC-V, reimplemented from Version 6 Unix. The kernel provides process management (fork, exec, wait, exit), multiprocessor scheduling via a round-robin scheduler, virtual memory with SV39 page tables, a block-oriented file system with crash recovery via a write-ahead log, and essential device drivers (UART console, virtio disk). It boots in QEMU and includes a minimal init process, shell, and a suite of simple user commands (cat, grep, ls, etc.). The codebase is intentionally compact and clear, demonstrating core OS concepts with a focus on simplicity and directness rather than performance or production robustness. It is not a hybrid repo; it is purely a systems software application (an operating system).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: