Real-Time Performance (Windows Embedded CE 6.0)
1/6/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 Embedded CE 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 Embedded CE kernel contains functionality that improves its performance as a real-time OS.
The following list shows the kernel capabilities that Windows Embedded CE 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,000 processes.
See Also
Concepts
Kernel Overview
Real-Time Performance Functionality
Real-Time Performance Considerations
Real-Time Measurement Tools
Priority Inversion
Synchronization
Processes and Threads