Preemption

REXIS uses a preemptive priority-based multitasking kernel. It is preemptive, because periodically the kernel takes control of the CPU and the scheduler selects a task from the list of all eligible-to-run tasks, and then makes it run next using a technique called context-switching. The opposite of a preemptive kernel would be a cooperative kernel, where a task has to explicitly gives up control before another task can run.

A preemptive kernel is far more flexible, especially for real-time considerations, since a task does not need to explicitly yield control. The cost of using a preemptive kernel is the overhead of preemption and scheduling.