Windows Real-time Extension Technical Presentation V 1.0

Slides:



Advertisements
Similar presentations
Microsoft ® Official Course First Look Clinic Overview of Windows 8 By Ragowo Riantory, S.Kom, MCP.
Advertisements

MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
Chapter 13 Embedded Systems
Lesson 7: Creating and Configuring Virtual Machine Settings
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
© 2010 VMware Inc. All rights reserved VMware ESX and ESXi Module 3.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Wind River VxWorks Presentation
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
RTEMS overview W. Eric Norum Introduction RTEMS is a tool designed specifically for real-time embedded systems The RTEMS product is an executive.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Challenges in Porting & Abstraction. Getting Locked-In Applications are developed with a particular platform in mind The software is locked to the current.
Hands-On Virtual Computing
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Introduction to Operating Systems Concepts
Computer System Structures
Chapter 13: I/O Systems.
Operating System Overview
VMware ESX and ESXi Module 3.
Using Ada-C/C++ Changer as a Converter Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and.
Operating System & Application Software
REAL-TIME OPERATING SYSTEMS
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Current Generation Hypervisor Type 1 Type 2.
Memory Protection: Kernel and User Address Spaces
Chapter 1: A Tour of Computer Systems
CS 6560: Operating Systems Design
Topics Covered What is Real Time Operating System (RTOS)
6.0 INTRODUCTION TO REAL-TIME OPERATING SYSTEMS (RTOS/RTK)
Lesson Objectives Aims Key Words
Lecture Topics: 11/1 Processes Process Management
The Client/Server Database Environment
Introduction to Computers
Real-time Software Design
Windows EtherCAT® Real-Time Platform
Chapter 3: Windows7 Part 1.
Chapter 3: Windows7 Part 2.
CSCI 315 Operating Systems Design
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
QNX Technology Overview
HC Hyper-V Module GUI Portal VPS Templates Web Console
I/O Systems I/O Hardware Application I/O Interface
Chapter 3: Windows7 Part 2.
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
CS4101 嵌入式系統概論 RTOS Prof. Chung-Ta King Department of Computer Science
Time Gathering Systems Secure Data Collection for IBM System i Server
CS 501: Software Engineering Fall 1999
Lecture Topics: 11/1 General Operating System Concepts Processes
Windows Virtual PC / Hyper-V
February 5, 2004 Adrienne Noble
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Outline Operating System Organization Operating System Examples
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Overview of System Development for Windows CE.NET
Memory Protection: Kernel and User Address Spaces
Module 12: I/O Systems I/O hardwared Application I/O Interface
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Windows Real-time Extension Technical Presentation V 1.0

RT-Win Components Real-time environment (RTENV) to run real-time applications Hardware environment (CPU cores, RAM, PCI devices, …) Software environment (threads, semaphores, scheduler) Communication (Windows <-> real-time environment ) Development and Debugging tools to create/debug RT applications VS Project Wizard Development Console: System Manager

Real-time Environment Software

The Real-Time Environment Windows 7/8 (32/64 Bit) User Interface + Non real-time applications Real-Time Environment real-time applications Windows: All applications are non deterministic. Real-time part runs on separate real-time environment. Visual Studio is used for development/Debugging of Windows and Real-time part 4

How to add a RTENV to Windows? RTENV = real-time scheduler + timer + run-time environment Option 1: Embedded approach Run the RTENV within Windows context (memory area) Re-use (non time-critical) parts of Windows, e.g. memory management (malloc etc.)  not available anymore after BSOD No memory isolation from Windows  RTENV may corrupt Windows and vice versa! Option 2: Isolated approach Use a full-featured standalone RTENV (including memory management) Full isolation between Windows and RTENV  RTENV cannot corrupt Windows and vice versa! Used by acontis! Was ist eigentlich ein Hypervisor? Ganz einfach: ein Hypervisor ist ein Teil einer Virtualisierungs-Software, die es erlaubt, mehrere Betriebssysteme auf einem Host-Betriebssystem gleichzeitig ablaufen zu lassen. Dabei werden Hypervisoren grundsätzlich in 2 Kategorien unterteilt. Ein Typ 1 Hypervisor läuft direkt auf dem Host und beinhaltet sämtliche Treiber, die benötigt werden, um die darunterliegende Hardware anzusteuern Ein Beispiel aus der IT-Welt hierfür ist VMware ESX Im Gegensatz dazu setzt ein Typ 2 Hypervisor ein Host Betriebssystem voraus und verwendet dann dessen Treiber, um die darunterliegende Hardware anzusteuern Ein Beispiel aus der IT-Welt hierfür ist Microsoft Hyper-V mit Windows Server 2008 als Basis für das Host OS (von MS als Parent bezeichnet). Auch für Echtzeit-Hypervisoren sind diese beiden Ansätze denkbar. Alle acontis Produkte fallen in die Kategorie Hypervisor Typ 2. Der offensichtliche Vorteil eines Typ 2 HVs ist, dass sämtliche Treiber des Host OS und auch sonstige Dienste des Host OS zur Verfügung stehen. Die Pflege eines Typ 1 HVs ist viel aufwändiger, da dieser ständig an neue PC Hardware angepasst werden muss.

The On Time RTOS-32 real-time operating system RTENV = The On Time RTOS-32 real-time operating system The fastest x86 RTOS on the market! Product of On Time Informatik in Germany Quality and reliability through thousands of existing customer applications EC-Win includes On Time RTOS-32 license! Scalable Solutions can be built Level 1: Embedded Controller without GUI: use native RTOS-32 Level 2: Embedded Controller with GUI: use native RTOS-32 and PEG library Level 3: High End Controller with powerful Windows 7 GUI: use EC-Win/RT-Win

On Time RTOS-32 features Hard real-time performance (extremely short latencies). Optimized for x86 architecture and highest performance Inter-Task Communication Semaphores: counting, binary, event, resource and mutex semaphores, Critical Sections Mailboxes (queues or FIFO buffers). Priority messages can be sent Message passing (synchronous message exchange) Deterministic and fast real-time Scheduler Interrupt handlers can be written in C/C++ language

On Time RTOS-32 features Development and Debugging using Visual Studio (VS2005 … VS2012/VS2013) Win32 compatible API (e.g. almost all Win32 thread API) Useful for porting of existing Windows applications Symmetric Multicore support: use multiple CPU cores for the real-time Supplemental Modules CPU load analysis Performance profiler

On Time RTOS-32 real-time performance Outstanding Real-time performance! 1.4 GHz Pentium IV Operation 0.07 usec Round-Robin task switch 0.20 usec Semaphore task switch 0.18 usec Semaphore Signal 0.10 usec Semaphore Wait 0.39 usec Task activation (Signal, Wait) 0.12 usec Store data in a mailbox Retrieve data from a mailbox 0.34 usec Task-to-task communication 0.38 usec Task-to-mailbox-to-task communication

Configuration and Development Management Console System Manager Tool Configuration and Development Management Console

System Manager Tool: Management Console One GUI for all major development tasks System Configuration RAM size for real-time part Devices to be used by real-time Etc. Launch Panel start/stop the real-time part … Select and run pre-compiled demos Visual Studio Integration create VS projects based on demo applications 11

System Manager: Workspaces Manage different projects within different workspaces Store all settings Hardware configuration Software configuration Memory areas and files Configuration files Application Store source code 12

Visual Studio Integration Software Development Visual Studio Integration

System Manager: Visual Studio Integration Automatically create new projects based on existing demos Copy files into workspace Create VS solution Add required compiler and linker settings Add all files needed Only 2 steps to debug 1.) Build 2.) start debugging 14

Microsoft Visual Studio Support Support for Visual Studio 2005 up to VS 2013 Application Wizard Automatically create new real-time application template All required settings, header and library paths set properly Example applications: simply add all files, compile and start debug session No difference compared to debugging a Windows application Directly start debugging after linking application Automatically loading application into real-time environment Application running in debugger keeps full real-time behavior! 15

Debug Console Standard Output Device (printf)

Real-time Environment Hardware

Hardware Partitioning RTENV needs to be 100% independent from Windows RTENV needs its own part of the PC hardware to be deterministic: CPU, Memory, Devices Non Real-time Application RTENV Node 1 Real-time Application RTENV Node 2 Real-time Application VGA Other Devices HDD Memory Partition 1 Core 1 Core 2 3 4 Devices Node 1 Devices Node 2 Memory Partition 2 Memory Partition for Windows

System Manager Tool: Hardware Partitioning CPU Assignment Select number of CPUs to be used by Windows Select CPU(s) to be used by the RTOS 19

System Manager Tool: Hardware Partitioning RAM Assignment Set RAM size for the RTOS, will be allocated at early boot stage Memory is invisible for Windows (and vice versa)! 20

System Manager Tool: Hardware Partitioning Device Assignment Select Device currently controlled by Windows Assign Device to RTOS 21

System Manager Tool: Hardware Partitioning Device ready to use for the RTOS 22

Data and information exchange between Windows and the RTOS Communication Data and information exchange between Windows and the RTOS

Low level communication: Shared Memory Areas + Events Direct access via Pointers to memory Configurable via System Manager tool Events: notification if new data available

Communication: Virtual Network Used for application debugging Visual Studio Connection to the real-time Debug Monitor Optional Package: TCP/IP stack Useful for scalable solutions e.g. same application to communicate with external Windows tools Access to Hard Disk via network share

Data Exchange: File Access via Memory Files stored in memory instead of hard disk Much faster access Independent from Windows Useful for real-time configuration and log files Can be accessed via ANSI functions (fopen, fread, …)

Enhanced Communication features Named message queues Send/receive messages Generic Socket API (Real-time sockets) Select TCP or Shared Memory as transport layer (transparent for application) Same application can run locally using Shared Memory or remote using TCP Remote TCP Gateway (for Real-time sockets) Routing of TCP onto Shared Memory Connect EC-Engineer, EC-Lyser with local IP address (no extra IP address needed) Arbitrary File Access (without TCP/IP) – available by end of Q2/2014 Access (read/write/create/delete) any files stored on the hard disk No Virtual TCP/IP connection between Windows and RTENV required

Real-time analyzation and optimization Real-time on Windows Real-time analyzation and optimization

System Manager: Run real-time analyzer application Required to verify if the PC is able to provide real-time behavior 29

System Manager: Run real-time analyzer application Measurement results Timer: interrupt level latency Timer: jitter (cyclic period) CPU clock: throttling active? Timer: task level latency On non-optimized PCs real-time often cannot be guaranteed! 30

System Manager: PC real-time optimization Typical optimization steps Disable CPU Power Management Apply C1E Patch BIOS settings (see hints on acontis website) VGA Driver issue? 31

System Manager: Run real-time analyzer application Measurement results Timer: interrupt level latency Timer: jitter (cyclic period) CPU clock: throttling active? Timer: task level latency After applying one or multiple optimizations  most PCs will be able to run real-time applications! 32

Quality Assurance

Quality Assurance: acontis Test Laboratory Test lab to test products before a new version gets released More than 50 different PC’s some supplied by customers as reference systems A wide range of Intel and AMD processors AMD: Athlon, Duron, Fusion etc. Intel: Celeron/Pentium, Core i5/7, XEON, Atom etc. Different chipsets Intel, Nvidia, VIA, SiS etc. Automated test scripts (e.g. ½ million start/stop cycles in one single test)

New KUKA Roboter Controller: TUV certified Safety inside! TUV certified safety PLC Based on latest acontis real-time technology EtherCAT master from acontis as well Robot controller and Safety PLC within one single controller PC 15.000 controllers per year  Quality proven technology! 1) Voltaire