Real Time Scheduling
A multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers), industrial robots, spacecraft, industrial control (see SCADA), and scientific research equipment.
A RTOS facilitates the creation of a real-time system, but does not guarantee the final result will be real-time; this requires correct development of the software. An RTOS does not necessarily have high throughput; rather, an RTOS provides facilities which, if used properly, guarantee deadlines can be met generally or deterministically (known as soft or hard real-time, respectively). An 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. An RTOS is valued more for how quickly and/or predictably it can respond to a particular event than for the amount of work it can perform over a given period of time. Key factors in an RTOS are therefore a minimal interrupt latency and a minimal thread switching latency.
An early example of a large-scale real-time operating system was Transaction Processing Facility developed by American Airlines and IBM for the Sabre Airline Reservations System.
Real-Time Review
- Real time is not just “real fast”
Real time means that correctness of result depends on both functional correctness and time that the result is delivered - Soft real time
Utility degrades with distance from deadline - Hard real time
System fails if deadline window is missed - Firm real time
Result has no utility outside deadline window, but system can withstand a few missed results
Type of Real-Time Scheduling
- Dynamic vs. Static
Dynamic schedule computed at run-time based on tasks really executing
Static schedule done at compile time for all possible tasks - Preemptive permits one task to preempt another one of lower priority
No comments:
Post a Comment