SlopOS
Architecture

Overview

Current SlopOS subsystem map

SlopOS is a Rust kernel and userland organized around a small trusted core, safe kernel subsystems, and a userland async/runtime layer. These docs describe stable architecture and behavior rather than mirroring every source path.

High-level flow

Limine + OVMF
  -> early CPU, memory, interrupt, and service setup
  -> platform discovery and device initialization
  -> scheduler, memory manager, filesystem, network stack, syscall layer
  -> init, shell, compositor, terminal, and apps

Subsystems

SubsystemResponsibility
ABIShared structs, constants, syscall surface, SlopRing layout, window and network contracts
Trusted coreUnsafe machine interfaces, memory primitives, synchronization, task handles, user-copy
BootLimine handoff, descriptor tables, exceptions, SMP bring-up, boot ordering
Kernel servicesStable bridge between low-level trusted primitives and higher kernel subsystems
MemoryProcess address spaces, demand paging, COW, memfd, ELF loading, pinned user buffers
SchedulerTask lifecycle, SMP scheduling, sleeps, futexes, trap and IRQ handoff
SyscallsTyped dispatch, process, memory, filesystem, networking, signal, ring, UI, and test handlers
DriversACPI, APIC/IOAPIC, HPET, PCI, MSI/MSI-X, VirtIO, PS/2, serial, TTY
FilesystemVFS, ext2, ramfs, devfs, pipes, fd tables, polling
NetworkingVirtIO net, IPv4, ARP, ICMP, UDP, TCP, DNS, AF_UNIX sockets
SlopRingShared submission/completion ring, registered buffers, provided buffers, completion delivery
Runtimelibc layer, SlopRing wrapper, slopfut executor, process and signal futures
WindowingDisplay protocol, memfd-backed surfaces, compositor, raw window API, appkit widgets
TestsKernel and userland tests, KTAP serial output, host parser, JSONL reporting
VerificationOSTD trusted core, Verus proofs, KernMiri, framekernel discipline gates

Design lines

  • Kernel async is banned. The kernel blocks through synchronous wait queues; async is a userland edge built on SlopRing and slopfut.
  • IRQ and device work use APIC, IOAPIC, MSI/MSI-X, HPET, and VirtIO. PIT exists only as a legacy calibration fallback, not as the scheduler timer.
  • The ABI source is generated from the source repo, not from prose in these docs. Reference pages describe shape and semantics; exact numeric assignments belong in the ABI source.
  • Tests are ABI consumers: kernel tests, userland tests, KTAP output, and the host parser all exercise public contracts.

On this page