Cooperative scheduling is a style of scheduling in which the OS never interrupts a running process to initiate a context switch from one process to another. Processes must voluntarily yield control periodically or when logically blocked on a resource.
Preemptive Scheduling
Preemptive Scheduling is a multitasking strategy which permits the preemption of tasks. Preemption is the act of interrupting a task currently running on the CPU, usually to execute a higher-priority task, with the intention of resuming the interrupted task at a later time.
Time Slicing
Time Slicing is an RTOS scheduling method that distributes CPU cycles to multiple threads in a weighted manner.
Round-Robin Scheduling
Round-Robin Scheduling is a method used by an RTOS to run threads in a circular fashion, letting each thread run until it becomes “blocked,” or relinquishes its turn.
Context Switch
A context switch is the process of storing the state of a process, thread, or processor operating mode so that it can be restored at a later point to resume execution.
Priority Inversion
Priority inversion is a scenario in scheduling in which a high priority task is indirectly preempted by a lower priority task effectively inverting the relative priorities of the two tasks.
Priority Inheritance
Priority Inheritance is a mechanism employed by an RTOS to prevent deadlock in a case of priority inversion.