Skip to content
Haiku OSDeep Dive July 12, 2026 1 min readViews unavailable

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