Process and threads

A thread is the smallest unit of execution in Phoenix-RTOS . Kernel supports two types of threads - kernel threads existing only within the kernel and user level threads exists only within a process. A single process may contain multiple threads. Each thread contains the small kernel stack used when thread is executing in the kernel mode. User threads additionally contain the user stack located in the process address space and used when thread is executing in the user mode.

Processes and threads on MMU architecture

Process and thread model on MMU architecture has been presented on figure below.

Processes and threads on MMU architectures

Processes and threads on non-MMU architecture

Process and thread model on non-MMU architectures has been presented below.

Processes and threads on non-MMU architectures