Real-Time Performance
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
Concepts
Kernel Overview
Real-Time Performance Functionality
Real-Time Performance Considerations
Real-Time Measurement Tools
Priority Inversion
Synchronization
Kernel Overview
Processes and Threads