real-time virtualization experts intime real-time for windows
TRANSCRIPT
real-time virtualization experts
INtime
Real-time for Windows
INtime 3.0 Real-time for Windows 2real-time virtualization experts
Time-critical ApplicationsOn Windows Platforms What are your options? Loosely coupled RTOS…
Costly HW & SW solutions Limited & slow IPC options
INtime 3.0 Real-time for Windows 3real-time virtualization experts
Time-critical ApplicationsOn Windows Platforms What are your options? Loosely coupled RTOS…
Costly HW & SW solutions Limited & slow IPC options
Kernel-mode driver… Restricted extensibility Never intended for large apps Difficult to debug and test Real-time bugs crash Windows
INtime 3.0 Real-time for Windows 4real-time virtualization experts
Time-critical ApplicationsOn Windows Platforms What are your options? Loosely coupled RTOS…
Costly HW & SW solutions Limited & slow IPC options
Kernel-mode driver… Restricted extensibility Never intended for large apps Difficult to debug and test Real-time bugs crash Windows
…there is a better way
INtime 3.0 Real-time for Windows 5real-time virtualization experts
Tightly Coupled is the Superior Real-time Windows Solution Simpler inexpensive hardware Unified development tool set
Windows-like API for real-time Superior IPC options & tools Simplified integration
INtime 3.0 Real-time for Windows 6real-time virtualization experts
INtime Overview Two OS environments share a single hardware platform Integrated development with Microsoft Visual Studio INtime kernel is a full real-time operating system
(RTOS) Not a clever device driver
Windows applications have access to INtime objects Many IPC options between Windows and RT processes
Mailboxes, semaphores, shared memory, and TCP/IP Broad real-time I/O device support
Ethernet, TCP/IP, USB, SCSI, multi-channel serial CAN, Profibus, DeviceNet, GPIB, EtherCAT Delta Tau and MEI motion controllers
INtime 3.0 Real-time for Windows 7real-time virtualization experts
Windows Kernel
Windows OS
Normal Processes
Standard HAL
Virtual Machine Architecture
Start with standard Windows
Win32 API
INtime 3.0 Real-time for Windows 8real-time virtualization experts
Windows Kernel
Windows OSINtime
Real-time Kernel
Real-time Processes
Normal Processes
Standard HAL
Virtual Machine Architecture
Start with standard Windows
Partition memory and I/O resources
Add a full-featured real-time OS
Virtual machine isolates dual OSes
Win32 APIINtimeReal-time API
INtime 3.0 Real-time for Windows 9real-time virtualization experts
Windows Kernel
INtime Real-time Windows Application
Windows OSINtime
Real-time Kernel
Real-time Processes
Normal Processes
Standard HAL
Virtual Machine Architecture
Start with standard Windows
Partition memory and I/O resources
Add a full-featured real-time OS
Virtual machine isolates dual OSes
Bridge INtime and Windows with NTX
INtimeNTX API
NTX DLL and VM Interface
Win32 APIINtimeReal-time API
INtime 3.0 Real-time for Windows 10real-time virtualization experts
Proven History of Real-time for Windows Long history of reliable real-world use
Millions of world-wide installations RTOS market presence for over 25 years
iRMX III in 1980 iRMX for Windows in 1992 INtime 1.0 launched in 1997
Trusted Intel and Microsoft partner Embedded Microsoft partner since 1998 Microsoft Partner of the Year ‘04, ‘05, and ‘06 Intel Communications Alliance
Member of the Year in 2006
INtime 3.0 Real-time for Windows 11real-time virtualization experts
Performance and Reliability Hard real-time performance
Interrupt latency <4 µsec worst case (dual-core) System clock rates down to 50 µsec (dual-core)
Dependable inter-process (application) isolation User-mode application space (ring 3) for real-time apps No real-time performance penalty for ring 3 operation Priority inversion protection for real-time threads
Direct access to I/O and non-paged (physical) memory Real-time network stacks, drivers, and interfaces Distinct real-time safe C and C++ libraries Non-destructive real-time fault handling Minimal impact on Windows performance
INtime 3.0 Real-time for Windows 12real-time virtualization experts
System Performance Data
idle system busy system 2.8GHz P4D, Intel 955X, Asus P5WD2 motherboard (dual-processor module) mean std. dev. mean std. dev.
interrupt handler 3.7 µsec 0.2 µsec 3.7 µsec 0.3 µsec interrupt thread 9.2 µsec 0.3 µsec 9.7 µsec 1.0 µsec
idle system busy system 2.4GHz Celeron, Intel D865GVHZ motherboard (single-core CPU) mean std. dev. mean std. dev.
interrupt handler 6.8 µsec 0.8 µsec 17.7 µsec 4.4 µsec interrupt thread 12.1 µsec 1.2 µsec 29.0 µsec 6.7 µsec
idle system busy system 2.66GHz Xeon MP, Super X5DA8 motherboard (dual-socket motherboard) mean std. dev. mean std. dev.
interrupt handler 3.5 µsec 0.4 µsec 3.9 µsec 0.8 µsec interrupt thread 8.3 µsec 0.8 µsec 10.0 µsec 2.5 µsec
idle system busy system 2GHz Core Duo, Intel evaluation motherboard (dual-core CPU) mean std. dev. mean std. dev.
interrupt handler 3.3 µsec 0.2 µsec 3.3 µsec 0.2 µsec interrupt thread 8.8 µsec 0.3 µsec 9.1 µsec 0.5 µsec
INtime 3.0 Real-time for Windows 13real-time virtualization experts
INtime Real-time Applications Industrial Control Robotics Motion Control Medical Imaging Test & Measurement CNC Machining Material Handling Process Control Radar & Avionics Simulation
INtime 3.0 Real-time for Windows 14real-time virtualization experts
X-Ray Equipment
Major supplier of medical X-ray systems Mission critical application for real-time TenAsys technology used throughout
INtime & Windows control system console Remote INtime nodes running autonomously CANbus connects real-time INtime nodes
Philips Medical Eleva series: EasyDiagnost MultiDiagnost OmniDiagnost
INtime 3.0 Real-time for Windows 15real-time virtualization experts
X-Ray Equipment
“We use INtime for those areas of the system where movements are controlled and where radiation is controlled.”
“Those are two areas where we need the most reliable software.”
Sven KuehlSoftware Project Leader
INtime 3.0 Real-time for Windows 16real-time virtualization experts
Test and Measurement
World leader in power train engineering PUMA test bed Utilizes INtime remote nodes
High performance data acquisition system IEEE 1394 (real-time) backbone Up to 5 kHz continuous sampling rate
AVL real-time research paper “Thread-based analysis of embedded applications with
real-time and non real-time processing on a single platform”
Graz University of Technology http://www.iti.tu-graz.ac.at/download/publications/prisching03.pdf
INtime 3.0 Real-time for Windows 17real-time virtualization experts
Test and Measurement
“We already use Windows for visualization and database management. Why not use the same platform for critical real-time constraints?”
“Plus, this would mean no additional hardware system costs
for our customers.”Bernhard HochstrasserSoftware Development Engineer
INtime 3.0 Real-time for Windows 18real-time virtualization experts
Industrial Control
Largest supplier of Soft PLC systems Lowers cost to customers by using industrial grade
PC Exceeds performance of hard PLC systems
Steeplechase VLC is used in: Steel mills Automotive assembly Packaging Materials handling
INtime 3.0 Real-time for Windows 19real-time virtualization experts
Industrial Control
“The fact that the TenAsys product was a solid platform was very important. It had a history before we started looking at it.”
“TenAsys is proven technology.”Jeff FisherGlobal Product Manager
INtime 3.0 Real-time for Windows 20real-time virtualization experts
CNC Machining
World leading CNC tool vendor Two generations of machine tools on INtime since
2000 Servicing automotive, medical device, special tool
grinding, gear grinding, and aerospace markets High-precision and high-speed
5-axis direct drive systems 3 microns precision 12,000 RPM spindle 3D preview and display
INtime 3.0 Real-time for Windows 21real-time virtualization experts
CNC Machining
“We ported from QNX to INtime using a ‘shim’ to maximize preservation of existing control code.”
“That code was up and running relatively quickly and continues to work today.”
Gerard CullenCNC Software Developer
INtime 3.0 Real-time for Windows 22real-time virtualization experts
TenAsys Real-time Customers
INtime 3.0 Real-time for Windows 23real-time virtualization experts
INtime 3.0 Key Features Microsoft Visual Studio integration
Integrated real-time debugger NTX object for all .NET languages
Multi-core processor support Intel Core Duo CPUs All standard Windows SMP platforms
Breadth of real-time device drivers Real-time USB, Ethernet, and industrial I/O devices
Fault and spin managers Fault manager directs real-time faults to VS debugger Spin detector suspends threads that monopolize CPU
cycles Windows 2000, Windows XP, and Windows Vista
Windows XP Embedded and variants (POS, etc.) Windows 2003 Server
INtime 3.0 Real-time for Windows 24real-time virtualization experts
Why Choose INtime? Deterministic real-time control for Windows Reliable and secure run-time environment Integration with Visual Studio for development and debug Support for all standard Windows hardware platforms Management of real-time faults without machine lockups Connection via real-time TCP/IP, USB, and fieldbus Persistent application execution for fail-safe operation Practical use of hardware and software resources Field-proven kernel, libraries, drivers, and applications Trusted Microsoft and Intel embedded partner
real-time virtualization experts
Real-time for Windows
Details
INtime 3.0 Real-time for Windows 26real-time virtualization experts
Multi-Processor Support Operate on all Microsoft multi-processor HALs Validated on P3, P4, Xeon, and Core™ CPU
platforms Windows multi-processor SMP and multi-core
systems Intel Core™ and Hyper-Threading processors Multi-core operating modes:
Real-time performance (exclusive) mode INtime RTOS is dedicated to a single core Remaining CPU cores are dedicated to Windows
Windows performance (shared) mode INtime shares one CPU core with Windows Remaining CPU cores are dedicated to Windows
INtime 3.0 Real-time for Windows 27real-time virtualization experts
Multi-Core Processor Benefits Dedicate a single CPU core to real-time processes
Complete isolation of real-time interrupts Minimal impact on Windows performance Maximize performance of real-time processes
Or share CPU cycles between INtime and Windows Optimize Windows’ use of multiple CPU cores Maximize CPU cycles available to Windows
Both modes include enhancements to determinism Better isolation of real-time interrupts Significant decrease in real-time interrupt delays Independent real-time clock (more precise timer
ticks) Minimal interaction with Windows HAL
INtime 3.0 Real-time for Windows 28real-time virtualization experts
Visual Studio Integration Develop real-time code in Visual Studio
environment C/C++ and x86 assembly INtime Wizards generate
real-time code templates VS 2003 and VS 2005
Real-time source-level debugging No simulation step required Simultaneously debug real-time
and Windows applications Windows apps use NTX interface
Either .h files or .NET object Visual Studio solutions contain
INtime and Windows projects
INtime 3.0 Real-time for Windows 29real-time virtualization experts
Visual Studio Debugging Integrated real-time debugger
Use Visual Studio to debug real-time processes and threads
Not possible with device driver solutions Display and modify variables Breakpoints, single-step, etc.
INtime 3.0 Real-time for Windows 30real-time virtualization experts
Visual Studio Debugging Integrated real-time debugger
Use Visual Studio to debug real-time processes and threads
Not possible with device driver solutions Display and modify variables Breakpoints, single-step, etc.
Real-time process fault manager Fault in real-time thread:
suspends thread and process launches VS debug session or launches Spider debugger
Log trace on deployed systems
INtime 3.0 Real-time for Windows 31real-time virtualization experts
INtime Device Drivers Partial list of available real-time device drivers:
RS-232 serial, SCSI, VGA, USB serial, IEEE-488 (GPIB)
Intel, 3Com, NE2000, and Realtek Ethernet controllers
Hilscher CIF/COM fieldbus controllers Communication interfaces
DeviceNet, PROFIBUS, CANopen, ControlNet EtherCAT deterministic fieldbus Real-time TCP/IP and USB stacks
TCP/IP stack on real-time kernel No Windows overhead Standard sockets API
raw
Sockets API
NIC Driver
UDPTCP
INtime ProcessINtime Process
INtime Process
INtime Process
ICM PIPARP
INtime 3.0 Real-time for Windows 32real-time virtualization experts
Real-time Configuration Tools
Interrupt Device Configurator Simplifies assignment of
IRQ to real-time environment
Warns of conflicts re shared Windows interrupts
INtime configuration utility Windows control panel Configure remote nodes Manage interrupt
resources Memory extensions
Pre-allocate memory external to Windows
Reach > 4GBytes memory (using paging techniques)
INtime 3.0 Real-time for Windows 33real-time virtualization experts
INtex (INtime Explorer)Real-Time Object Browser
INtime 3.0 Real-time for Windows 34real-time virtualization experts
INScope (Software Scope)Performance Analysis Tool
Time stamp entry and exits of major API calls and interrupt handlers
Determine exact sequence and precise timing of real-time code execution
INtime 3.0 Real-time for Windows 35real-time virtualization experts
Scalable and Extendable Stand-alone RTOS solutions
INtime remote nodes on embedded hardware
Easily scale using XP Embedded tools Detailed SLD included
Highly extensible platform No system too complex
Motion Vision Discrete I/O
All with predictable and reliable results!
INtime 3.0 Real-time for Windows 36real-time virtualization experts
Reliable IsolationINtime Real-Time Processes
(multiple real-time segments)
DATA
CODE
STACK
HEAP
thread2 data
thread2 code
thread2 stack
thread2 heap
threads3-narranged as
above
Windows Segment(lowest priority real-time segment)
0000.0000
DATA
CODE
STACK
HEAP
thread2 data
thread2 code
thread2 stack
thread2 heap
threads3-narranged as
above
DATA
CODE
STACK
HEAP
thread2 data
thread2 code
thread2 stack
thread2 heap
threads3-narranged as
above
0000.0000
non-allocated areas(page fault if entered)
additional threadsallocated as above
Virtual Segment limit(GP fault if crossed)
ContainsWindows
kernel,drivers,memory,
applications,etc.
}
INtime 3.0 Real-time for Windows 37real-time virtualization experts
Virtualization Details CPU-enforced isolation between INtime and
Windows Two distinct, parallel, and isolated environments INtime processes and drivers run in user mode Windows encapsulated as lowest priority INtime task
Windows’ priorities and processes run unchanged “Everything Windows” is encapsulated:
kernel, drivers, I/O, page tables, memory management, interrupts, processes, threads, user interface, file system…
User-mode enforces reliable applications Full speed, no performance penalty Superior real-time debugging tools INtime user-mode includes:
Direct access to I/O and memory Memory protection for reliability Paging turned off to insure determinism
INtime 3.0 Real-time for Windows 38real-time virtualization experts
Continuous Operation Fault and spin managers prevent lockups
Fault manager directs real-time faults to GPF handler Spin detector suspends threads that monopolize CPU
cycle Unaffected processes continue to operate
STOP manager detects BSOD notifications Real-time threads continue, unimpeded by a blue screen
Continuous operation means INtime applications can: Operate without Windows, indefinitely Gracefully shutdown or restart Send a signal via an INtime communication interface
(e.g., serial or Ethernet) that attention is required
INtime 3.0 Real-time for Windows 39real-time virtualization experts
INtime Kernel Features (part 1) Multi-tasked, multi-threaded applications
Preemptive priority-based scheduling algorithm 255 real-time priority task levels Windows is lowest priority real-time task
Event-driven scheduling for interrupts and alarms Round-robin scheduling for equal priority threads Priority inheritance to avoid deadlocks
Periodic and one-shot timer events 50 µsec minimum interval (dual-core systems)
Interrupt service routines (ISR) and interrupt service threads (IST) Real-time interrupts always preempt Windows ISRs for very fast and simple interrupt processing ISTs for complex, full-featured interrupt processing
INtime 3.0 Real-time for Windows 40real-time virtualization experts
INtime Kernel Features (part 2) Memory management and data sharing
Shared memory and mailboxes (message passing) Static and dynamic memory pools and heaps
C library malloc() and free() functions C++ new and delete operators
Synchronization mechanisms Mailboxes (wait on messages) Semaphores (single or multi-count) Regions (a.k.a. critical regions or mutexes)
IPC between Windows and INtime (NTX) Mailboxes, semaphores, and shared memory IPC (NTX) managed by real-time kernel insures
reliability
INtime 3.0 Real-time for Windows 41real-time virtualization experts
INtime Kernel Features (part 3) Exception handling for:
Programming errors (invalid parameters) Invalid or insufficient resource errors (memory) Floating point errors (numeric processor) Hardware faults (page faults, segment faults…)
Multiple unique real-time APIs INtime native real-time API iRMX transition API for iRMX apps iWin32 transition API for Win32 apps
RSL (real-time shared libraries) Similar to Windows DLL, runs in user mode (ring 3) Ideal for implementing real-time device drivers
INtime 3.0 Real-time for Windows 42real-time virtualization experts
Proven Technology
“Intel® Virtualization Technology is a key component of our platform approach to enable new levels of performance and
features for a broad range of applications. TenAsys is utilizing this technology to help
bring those benefits to embedded application developers.”
Doug Davis, VP and General ManagerCommunications Infrastructure Group
Intel Corporation
INtime 3.0 Real-time for Windows 43real-time virtualization experts
TenAsys SoftwareQuietly Running the World Industrial Control & Robotics Air & Ground Traffic Control Medical Imaging Test & Measurement CNC Machining Material Handling Process Control Radar & Avionics Simulation Mail & Check Sorting