Tasks

A kernel task is defined by:

  • Its task type (i.e., a constant value defined by the kernel, unique for each task)
  • Its task descriptor, which is a structure as shown in the "Task Descriptor Construction" figure containing all the information about the task:
    • The messages handlers table
    • The states table
    • The number of instances of the task
    • The number of messages it can handle

The kernel keeps a pointer to each task descriptor, which is used to handle the scheduling of the messages transmitted from one task to another.

Figure: Task Descriptor Construction