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 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.