The Kernel

Info about the kernel for ULTRA OS

It is not a final decision yet but we have preselected the open source kernel named “Merlin” from Paolo Zaino.

Core Design Features

Memory Safety & Language

  • Written almost entirely in Rust (no_std)
  • Memory-safe execution model
  • Designed to prevent common security vulnerabilities

Architecture & Modularity

  • Hybrid microkernel approach (can also be built as pure microkernel)
  • Modular, subsystem-oriented design
  • Well-defined kernel responsibilities with minimal shared state
  • Modules can load in either kernel-space or user-space

Multi-threading & Multi-core Support

  • Native multi-threading capabilities
  • Multi-core aware with switchable threading models
  • Lockless mechanisms for low latency
  • ReadWrite Locks, traditional Mutexes, and recursive Mutexes
  • Arena-per-core allocators

Platform Support

  • Extremely portable – supports ARM32, ARM64, RISC-V, PPC32/64, MIPS32/64, SPARC32/64
  • Can be built with or without MMU support
    Scales from microcontrollers to many-core servers
  • Boots on real hardware (Raspberry Pi) and QEMU

Memory Management

  • Multi-layer memory allocators including arena-based allocators
  • Scalable and switchable memory allocator systems
  • Dynamic areas and RMA (Relocatable Modules Area)

Key Technical Components

  • Hardware Abstraction Layer (HAL)
  • Written in no_std Rust and ARM Assembly
  • Supports AArch32 and AArch64 targets

Legacy Compatibility

  • Emulation layer (legacy_abi32) for RISC OS SWI calls and Vectors
  • Thin ARM26/ARM32 instruction interpreter
  • Sandboxed execution for legacy modules
  • Subsystem-based isolation

Virtual Display Unit (VDU)

  • Pluggable renderer architecture (front-end/back-end separation)
  • Supports null framebuffer, text-only, and planned GPU acceleration
  • Compatible with touchscreen interfaces

Communication

  • Public and private ABIs
  • Zero-copy IPC between Public ABI and Private ABI
  • Message-based communication between subsystems

Additional Features

Distribution & Development

  • Builds as a ROM image for easy flashing to FlashROM
  • Tiny footprint (~157 KB for ARMv5, ~223 KB for Pi 3)
  • Full source-level debugging support (CLI and VSCode)
  • Complete Cargo documentation per target

Security (Planned)

  • Secure Boot support (in development)
  • Sandboxed legacy modules
  • Security model for user-space modules
  • ARMv9-A Realm Management Extension (RME) integration planned

Performance

  • GUI-centric, responsive computing with minimal overhead
  • Low-latency performance focus
  • Highly optimized code using built-ins and tuned paths
  • Efficient networking stack (planned)

The kernel is designed to be lightweight, scalable, secure, and suitable for everything from IoT devices and embedded systems to desktops and many-core servers.