Thursday, August 13, 2009

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: