100 likes | 241 Views
Is real-time applicable under Windows NT/2000? ──Brief summary of related possibility and methods. Presented by Ji LI. WHAT IS A REAL-TIME SYSTEM?. A Real-Time System responds in a timely predictable way to unpredictable external stimuli arrivals.
E N D
Is real-time applicable under Windows NT/2000?──Brief summary of related possibility and methods Presented by Ji LI
WHAT IS A REAL-TIME SYSTEM? • A Real-Time System responds in a timely predictable way to unpredictable external stimuli arrivals. • Meeting deadlines. After an event occurred an action has to be taken within a predetermined time limit. • Simultaneity or simultaneous processing: When more than one event happens simultaneously, all deadlines for all these events should be met
Classification • Hard realtime systems (e.g., a nuclear power plant control system) have deadlines that the system must meet to avoid catastrophic failures such as loss of equipment or life. • Soft realtime systems (e.g., a car's fuel-economy optimization system) have deadlines that the system can miss, but have timeliness as a desirable trait.
NECESSARY OS REQUIREMENTS FOR AN RTOS (real-time operating system) • an RTOS has to be multithreaded and preemptible. • the notion of thread priority has to exist • the OS has to support predictable thread synchronization mechanisms • system of priority inheritance has to exist • OS Behavior should be known
DOES WINDOWS NT/2000 FULFIL THESE REQUIREMENTS? • Windows NT is multi-threaded and preemptible • Problem: only a small number of priority levels are allowed in Windows NT • Priority inversion • Windows API32 itself is not well designed for real-time • Interrupt Management • Memory management
Timmermans’ points: • Windows NT is not a good platform originally to support Real-Time applications: • the number of available priorities in the real-time class is too low for real-time applications; • the problem of priority inversion is not solved in the OS (for the real-time class process); • for embedded applications, the memory footprint is too big and the license too expensive; • device drivers can take a lot of time in DPC and no pre-emption by other DPC is possible.
Different approaches to use NT technology inside a Real-Time System: • use NT as it is • implement a Win32 API on top of a RTOS; make coexist on one processor NT and a RTOS (or part of it) • use an architecture with more than one processor where NT runs on one (or more) .
Other series of experiments had been done by Feldman (1993), Jones (1999) and Ramamritham(1998). Among these tests combining Timmerman’s work, there are I/O interference, time taken for process/thread system calls, interrupt handling. The general latency is around several milliseconds; the worst-case latency is around 10-100 milliseconds.
Ultimate conclusion: • Although hardly implemented as hard real-time applications the Windows NT could be used in millisecond level soft real-time applications.