(PowerPoint 125Kb)
Download
Report
Transcript (PowerPoint 125Kb)
The RTX Real-time
Subsystem for Windows NT
Bill Carpenter
Mark Roman
Nick Vasilatos
Myron Zimmerman
{carp, marcus, boxer, myron}@vci.com
Slide 1
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
Architecture
Interface
Performance
Slide 2
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What is it?
Architecture
Interface
Performance
Slide 3
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
An
execution environment for Windows NT
Provides necessary functionality for real-time
applications
Bounded response time
Larger thread priority space
Synchronization based on thread priority
Control of priority inversion
Slide 4
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
Device
Control without requiring detailed driver
knowledge
An Interface for above features
Slide 5
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
Architecture
Interface
Performance
Slide 6
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Architecture
Real-time
Subsystem is an extension to Windows NT
NT Kernel is unmodified
RTSS is loaded as a standard NT device driver
Uses NT Device Driver Interfaces and
special purpose interfaces added to the
Hardware Abstraction Layer (HAL)
RTSS
programs execute in the protected kernel
space
Slide 7
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
RTSS Driver
Windows NT
Executive,
Kernel
and Drivers
Communications,
Program loading,
Access to NT driver
services
RTSS execution
environment,
Communications
HAL with extensions for RTSS
Slide 8
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Architecture
HAL with
Clock services
extensions for RTSS
Faster rates
Synchronization with NT clock
Interrupt services
Isolation of RTSS and NT interrupts
Inter-environment interrupts
RTSS thread switch support
Inter-environment switching
Slide 9
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
RTSS Driver
Win32 Process
(exe)
user
kernel
RTSS Process
(Driver)
Win32 Real-time Interface Library
Win32 Real-time
Interface Support
RTSS Interface Layer
RTSS Servers
and Win32
Thread Proxies
Thread
Manager
Software Request
Servers
Slide 10
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Architecture
RTSS
NT context
Supports the Win32 Real-time Interface Library
Services the RTSS environment’s requests
for Memory, NT Resources
RTSS Process Creation
RTSS context
Slide 11
Driver
Thread Manager
Proxy Threads for Win32 Real-time calls
Real-time Interface for RTSS Environment
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
Architecture
Interface
Performance
Slide 12
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Interface
Real-time Application
Programming Interface
(RTAPI)
Two types
New calls
Similar to Win32
Slide 13
Looks like Win32 calls, e.g. returns a HANDLE type
RtAttachInterruptVector
Accesses the RTSS implementation of a familiar
Win32 object
RtCreateSemaphore
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Interface
Real-time Application
Programming Interface
(RTAPI)
Win32 Calls implemented in RTSS
CreateThread
Sleep
All
Slide 14
“Rt” interfaces are available in both environments
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Interface
RTSS
Objects
Available to Win32 programs for communication with
RTSS processes
Synchronization Objects
Semaphore
Mutex
Shared Memory Object
Common objects
Strictly local objects
Slide 15
Registry, File System objects
Threads, objects derived from threads
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
What
is it?
Architecture
Interface
Performance
Slide 16
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Performance
ksrtm
- measures kernel response time to clock
interrupts
Interrupt handler is special purpose clock handler registered
with the modified HAL
NT
load is from compiling emacs
System processor is a 200Mhz Pentium Pro
Slide 17
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Performance
Response Time (uses)
Slide 18
Min
Max
Ave
Med
ksrtm
5
21
6
6
ksrtm with load
6
37
7
7
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Performance
srtm
measures response time using an RTSS timer
object
Compares overhead of the RTSS timer to what is possible with
ksrtm’s special case interrupt handler
load is from compiling emacs
System
Slide 19
processor is a 200Mhz Pentium Pro
VenturCom
Usenix Windows NT Workshop -- August 1997
RTSS for Windows NT
Performance
Response Time (uses)
ksrtm
srtm
ksrtm with load
srtm with load
Slide 20
Min
Max
Ave
Med
5
21
6
6
11
27
12
12
6
37
7
7
11
81
15
15
VenturCom
Usenix Windows NT Workshop -- August 1997