Haiku Teams, Threads, Ports, and the Kernel Object Model
How Haiku represents processes and threads, communicates through ports, and exposes system state to native tools.
Haiku calls a process a team. A team owns an address space and resources and contains one or more schedulable threads. Native APIs expose team/thread identifiers and information used by debuggers and ProcessController.
Kernel ports are bounded message queues used for communication. Semaphores coordinate waiters; areas map memory that can be shared. These primitives underpin higher-level messaging but have distinct lifetime and blocking behavior.
Designs should not assume every application has one thread or that killing a window closes an entire team cleanly. Inspect thread states, waits, ports, and CPU time when diagnosing a hang. Message-oriented architecture makes responsiveness possible only if blocking work stays off event threads.
Sources: Haiku Kernel Kit, Haiku kernel overview