Real-Time Performance (Windows Embedded CE 6.0)
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.