A real-time operating system (RTOS) enables a real-time system to run applications that require precise timing or high reliability. Rather than distributing processor resources evenly between running tasks, an RTOS can guarantee precise timing and high reliability because it manages the execution of tasks based on the priority assigned to each task.
An RTOS provides an alternative to the scheduling strategy used to run tasks in general purpose operating systems. A general purpose OS, like Windows for a PC, automatically distributes available processor time between all running tasks and resolves conflicts to optimize multitasking. Because the time one task needs to execute depends on how the competing tasks are scheduled, a general purpose OS cannot guarantee that any one task executes within precise timing constraints.
Like a general purpose OS, an RTOS also supports multitasking for tasks with the same relative priority. However, in an RTOS, when a task has a high relative priority, the task preempts lower priority tasks and runs without interruption. Because an RTOS protects the high-priority task from interruption, it can guarantee that the high-priority task executes within precise time constraints.