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