Real-Time Performance

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

A real-time system requires the cooperation of hardware, OS, and applications. The real-time OS is just one element of the real-time system. In a real-time OS, the longest non-preemptable element is bounded.

Real-time performance is defined for the Windows Mobile OS as follows:

  • Guaranteed upper bound on high-priority thread scheduling. Only for the highest-priority thread among all the scheduled threads.
  • Guaranteed upper bound on delay in running high-priority interrupt service routines (ISRs). The kernel has a few places where interrupts are turned off for a short, bounded time.
  • Fine control over the scheduler and how it schedules threads.

A real-time application is an application that is designed to manage time-critical systems, such as manufacturing process controls, high-speed data acquisition devices, or telecommunications switching equipment. The unique characteristic of a real-time application is that it not only provides the correct response, but also responds within a specified period. The Windows Mobile kernel contains functionality that improves its performance as a real-time OS.

The following list shows the kernel capabilities that Windows Mobile supports as a real-time OS:

  • Support for handling priority inversion with priority inheritance.
  • Support for nested interrupts to ensure that high-priority events are not delayed.
  • Support for 1-millisecond system tick timing.
  • Advanced thread timing and scheduling.
  • Support for synchronization objects such as semaphores, mutexes, critical sections.
  • Support for up to 32 different processes and 256 thread priority levels.

See Also

Concepts

Kernel Overview
Real-Time Performance Functionality
Real-Time Performance Considerations
Real-Time Measurement Tools
Priority Inversion
Synchronization
Kernel Overview
Processes and Threads