A real-time operating system (RTOS) is a class of operating system intended for real-time applications. Such applications include embedded (programmable thermostats, household appliance controllers, mobile telephones), industrial robots, spacecraft, industrial control (e.g. SCADA), and scientific research equipment.
A RTOS facilitates the creation of a real-time system, but does not guarantee the finished product will be real-time; this requires correct development of the software. A RTOS does not necessarily have high throughput; rather, a RTOS provides facilities which, if used properly, guarantee deadlines can be met generally ("soft real-time") or deterministically ("hard real-time"). A RTOS will typically use specialized scheduling algorithms in order to provide the real-time developer with the tools necessary to produce deterministic behavior in the final system. A RTOS is valued more for how quickly and/or predictably it can respond to a particular event than for the given amount of work it can perform over time. Key factors in an RTOS are therefore minimal interrupt and thread switching latency.