SlopOS
Architecture

Memory

Physical frames, VM spaces, process memory, and sharing

The memory system is split between trusted OSTD primitives and safe higher-level kernel policy.

Layers

LayerRole
Frame ownershipRef-counted physical frame ownership and metadata
User framesFrames that can be mapped into user address spaces
Page tablesMapping, unmapping, and page-table walking
VM spacesProcess address-space mutation
Kernel heapOSTD allocation surfaces for kernel data structures
Process memoryDemand paging, copy-on-write fork, ELF loading, memfd, stack regions
User buffersChecked user access and pinned buffers for I/O and SlopRing

Key behaviors

  • Anonymous process memory is mapped through mmap, brk, and demand paging.
  • Fork uses copy-on-write address spaces.
  • memfd_create and shared mappings back windowing buffers and IPC surfaces.
  • SlopRing fixed buffers are pinned once and referenced by later submissions.
  • Provided buffer rings let the kernel choose a receive buffer from a user-owned buffer group.

Framekernel constraints

Kernel code routes heap allocation through OSTD allocation wrappers. Large kernel objects should use OSTD in-place initialization so stack frames stay within the enforced budget.

The load-bearing verified memory invariants are:

Invariant areaProof status
Frame ref countsVerus proof
Slab slot lifetimesVerus proof
VM cursor map/unmap logicVerus proof
SlopRing cursor and layout logicVerus proof
Volatile user-frame accessors and weak-memory protocolAudited and Miri-covered

On this page