(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