This document describes the process management subsystem of the Kyronix kernel. It is the child of Kernel and parent of process management component documents.
Component Source Description
Process Table proc/proc.cProcess allocation, lifecycle, scheduling
Scheduler proc/sched.SContext switch (assembly)
SMP proc/smp.cCPU enumeration, AP boot
Signals proc/signal.cPOSIX signal delivery
Jails proc/jail.cSandbox/container isolation
ELF Loader exec/elf.c64-bit ELF parsing and loading
Process Exec exec/process.cExec, stack setup, userspace entry
State Value Description
PROC_UNUSED0 Slot is free
PROC_RUNNING1 Currently executing on a CPU
PROC_READY2 Eligible to run, waiting for time slice
PROC_WAITING3 Blocked (I/O, signal, etc.)
PROC_ZOMBIE4 Exited, not yet reaped
PROC_DYING5 In the process of exiting
PROC_STOPPED6 Job-control stopped
Fixed array of 64 slots (PROC_MAX)
Spinlock-protected allocation
PID = slot index + 1 (PID 0 reserved for idle)
Bitmask Description
g_ready_maskProcesses in READY state (eligible for scheduling)
g_used_maskAll allocated process slots
g_timer_maskProcesses with active timers
Last reviewed: 2026-07-22