Is real-time applicable under Windows NT/2000? Brief

Download Report

Transcript Is real-time applicable under Windows NT/2000? Brief

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