Process Model

July 8, 2026 · View on GitHub

What a process is in NØNOS, where processes live, how one is created and torn down, how the kernel enters and resumes it, and who supervises the whole set. A process is a control block, an address space, a capability token, and a place in the scheduler; these pages cover the process itself, while the scheduler covers how one is chosen to run.

PageWhat it covers
pcb.mdThe ProcessControlBlock in full, organised by concern: identity, scheduling, address space, the authority fields, the kernel-to-user transition state, files, signals, and the POSIX-shaped bookkeeping.
process-table.mdThe table of live processes, the per-CPU current process, PID allocation, the creation path, the initial control-block defaults, and threads versus processes.
lifecycle.mdThe process states, creation into Ready, running and blocking, and the two-phase exit: teardown to zombie, then reap.
context-switch.mdEntering a process for the first time, resuming a preempted user context, and resuming a kernel continuation, with the dispatch priority rule and the ring-3 entry.
supervisor.mdThe init process as the userspace supervisor with passive liveness, and the timer-driven kernel reaper that finalizes exited processes and reclaims their memory.

The authority a process holds is the capability model, installed by the verified-spawn gate; the memory its address space is built from is the memory subsystem; and the point at which a capsule's memory is scrubbed on exit is the ZeroState guarantee.

Sources

The code for this subsystem lives under src/process/ (the PCB, the table, the exit path, address-space lifecycle, and the scheduler), src/arch/x86_64/context/ (the context switch), and src/userspace/init/ (the supervisor). Every page is verified against those trees with file:line references.