Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
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