A task exists in one of the following states:
· running - the current task
· runnable - the task is ready to run
· blocked - the task is waiting for a message, or a MUTEX, etc. Blocked tasks may also have a timeout value so that the task becomes unblocked even if such an event does not occur.
· sleep - the task is sleeping for X system ticks
· hibernate - the task is hibernating, waiting to be awaken by an interrupt or another task
· zombie - the process has been killed but the resources (i.e. process data structure and any tracked memory) have not yet been reclaimed by the system.