Академический Документы
Профессиональный Документы
Культура Документы
Who we are
QNX at a Glance
QNX/(CUE-nix) > Provider of realtime operating system (RTOS) software, development tools, and services for embedded and mission critical applications Over 25 years of real-time embedded experience Millions of installations worldwide Global technology provider > Headquarters in Ottawa, Canada > Offices in Germany, France, UK, Japan, and the USA > Products distributed in over 100 countries Broad embedded ecosystem with vertical focus Known for leading technical innovation and excellent customer support
Global Coverage
Silicon Valley
Detroit
Ottawa
Boston Philadelphia
UK France
Germany Tokyo
Irvine
Dallas
Proven OS Platform
One reliable RTOS core Multiple critical environments
Carrier-grade networks
Cancer diagnostics
Financial transactions
In-car telematics
Military/airport security
QNX Strengths
Standards based OS
> POSIX permits application portability > Leverage Linux and Unix knowledge and developers without IP risks > OpenGL ES, Open VG, etc.
Reliable
> MMU and QNX Microkernel architecture permits reliable design > Reliability is key for customers that have products with 10+ -year intended lifespan
QNX Strengths
Scalable > Same OS used in Nuclear Control In-car Navigation High End Core Routers. > Leveraging a core platform of software and hardware through a product family is easy using the QNX Microkernel Architecture and other innovative technologies from QNX Clean IP > No viral GPL or other licensing restrictions. > Mitigates risk of IP infringement lawsuits > Maintains customer confidence in products
Summary
QNX provides an ultra-reliable product for embedded customers worldwide The QNX presence, via SPA Computers, in the Indian market is solid and we continue to strengthen our awareness in this geography QNX will continues to support and build upon the measured success that has been achieved to-date
QNX Neutrino RTOS: The Most Reliable Realtime Operating System Technical Overview
All modules share the same address space and are effectively one big program.
Application
User Interface
Serial Driver
Application
Monolithic Kernel
The kernel contains the OS kernel functionality and all drivers, so driver development is complex and debugging can be painful. Applications are processes in protected memory space, so the kernel is protected from applications and applications are protected from each other.
Kernel space
File-system
Monolithic Kernel
(NT / Unix / etc)
> MMU with partial protection > Applications are protected
Application
Application (re-startable)
Contained
TRUE Microkernel
(QNX Neutrino)
> MMU with full protection > Applications, drivers, and protocols are protected
Application (re-startable)
Contained
File-system
Micro Kernel
Device Drivers
(re-startable)
Contained
TCP/IP Stack
Thread A
IRQ x
Handler x
IRQ y (higher)
Handler y
Thread B scheduled
Inter-Process Communication
Processes communicate by sending messages
/dev/tcpip
/dev/ser1
Process Manager
Network Driver
Graphics Driver
Audio Driver
File System
Microkernel Application
Message-Passing Bus
Application
Scalability
Symmetric Multiprocessing
Route Manager
Thread A Thread B
File System
Thread C Thread D
Ethernet Driver
Thread E
Priority
Thread B
CPU
CPU
Future CPU
Cache
No application software changes needed Automatic thread (~) scheduling across all CPUs
Cache
Cache
Memory
Networking Stack
Message Queues
Microkernel
Message-Passing Bus
Application
Database
Microkernel
Application
High Availability
Critical Process Monitor (HAM) monitors components and sends notification of component failure Heartbeat services detect component hang Core file on crash can be created for debugging and analysis Recovery from crash can be:
> Controlled shutdown or system restart > Restart of only the failed subsystem (driver)
System Upgrades
IPL IPL
Flash Filesystem
> Fault Tolerant POSIX Compliant Filesystem > Once Filesystem is Loaded Everything Else Can be Loaded from the Filesystem, Even Drivers
System Upgrade
Process Manager
Network Driver
Graphics Driver
Client
Server V1.0
/dev/service
Server V1.1
New Client
/dev/service
New version of the server attaches to the same name New clients connect to new server Old server exits when all old clients are gone
QNX4
Wavemaker Talk
IDE Tools
C, C++ Code Developer Source Debugger
Application Builder
Code Coverage
> > > Use coverage data to validate test plan Multi-run coverage amalgamation Runtime launch integration into IDE
Source Debugger
> Concurrently debug multiple C and C++ applications
Application Builder
> > Create QNX Photon microGUI applications Drag and drop widgets
Shared-library aware > Memory Analysis Detect double free, non-initialized use Overrun/underrun and memory leaks Kill/freeze/debug/ignore on error > System Profiler Software logic analyzer Analyze events from instrumented kernel
Code Editors
Identify keywords, syntax, and matching brackets at a glance
Use the outline view to jump to any point in your source file
Set breakpoints before you compile Identify compile errors and warnings at a glance Track all errors and todos from a central task list
Simply double-click to build for any target Hover over any function to view its arguments and required headers. Hover over any variable to view its type
Source Debugger
Use the debug toolbar to start, stop, or restart processes, and to define breakpoints Track each thread independently or trace control from thread to thread Edit source directly from the debugger view
Click here to view breakpoints, variables, watch points, memory, registers, etc.
Code Coverage
Runtime launch integration into the IDE
View a graphical annotation of source whats been covered, what has not
System Builder
Display files in image and file system layout
Use the item browser to quickly select components for your target image
Application Profiler
Utilize call pairing to highlight your programs execution structure, then use the information to make your code more efficient Identify at a glance which functions need optimization
View results by total time, percentage of total time, call count, etc.
Memory Analysis
Identify the location and nature of any memory error View memory leaks and allocations as they occur
Inspect a call stack trace leading back to the origin of the error
Instrumented Kernel
The instrumented kernel logs events which are filtered and stored into buffers which are captured and analyzed.
System calls
Process/thread creation
Interrupts On/Off filters Static event filters User defined filters Events
Microkernel
State changes Event buffers E1 E2 E3 E4 E5 E6
System Profiler
Network Capture File
System Profiler
Zoom in on a time range, select processes of interest, and create custom views
Search for specific event types, and jump directly to any event View event details at a glance, including owner, type, and event data
Market Requirements
Customer Demands
Service Availability
OEM Requirement
System Reliability
OS Benefits
Nuclear Grade OS
Scalability
Architecture
Distributed/ Multi-processing
Service Velocity
Modularity
Hard Realtime
Deterministic Predictable
Scalability
With QNX Software our customers can eliminate significant development investment & costs of forklift upgrades
Support for Scaling
Performance Port count Features New services
Symmetric Multi-Processing
Scale to multiple processors Supports next generation integrated multi-core architectures
Development
Standards Compliance
Eclipse Compliant CDT
Seamless integration of 3rd party tools
POSIX Compliant
Large pool of supporting source code Portability
Deployment
Microkernel Architecture
Deploy new services dynamically without restarting Reduced cost/penalty in deploying fixes and upgrades
GNU Compiler SSH MPLS IKE RIPng ARP 802.11 Optical NAT SNMP v1/v2/v3 ATM IP Filtering RADIUS SCTP
Tools
Partner
Transparent Distributed Processing
Web Services VoIP Embedded Transaction Filesystem DOS Filesystem QNX Filesystem Network Filesystem Flash Filesystem QNX Neutrino RTOS USB Training
Critical Process Monitor IP Routing IPSec RIP v1/v2 DVMRP IPv4 Routing Stack VLAN PPP Instrumentation
Runtime
Symmetric Multiprocessing
Services
Networking Customers
STOKE
Networking Ecosystem
Primary focus for multi-core processors is the netcom market We have an unparalleled multi-core story QNX Multi-core Edition offers comprehensive support for multi-core processors Extremely successful product launch
> Over 500 people pre-registered for QNX Multi-core Webinar > Over 20 feature articles on QNX Multi-core Edition > Many speaking engagements done and going forward
Asymmetric Multiprocessing
Support existing software base, non-optimized uni-processor approach Mixed OS environment
Design Needs
Bound Multiprocessing
Migrate existing software base Mix existing applications with multicore optimized applications Transparent scaling beyond dual core
Adaptive Partitioning
Secure.
> Build secure compartments around your applications to protect them from external threats
Real Time.
> Build high performance real time systems > No CPU cycles are wasted
Guaranteed.
> Ensure availability by guaranteeing CPU cycles for critical system functions
Why is it Adaptive?
> Provides minimum resource guarantees, but free resources can be reallocated if not in use to accommodate spikes in demand > Patent-pending design ensures that no CPU cycles are wasted when processing power is required
Adaptive Partitioning
File System Networking Application
Device Driver
Application
Application
Adaptive partitioning extends the Neutrino micro-kernel to provide secure partitions and guaranteed CPU time
> A collection of processes and threads make up a partition > A partition is assigned a percentage of CPU time, averaged over a time window > Overlays on existing thread scheduling
Networking
Core Application
Add-On
CPU guarantees for partitions at full system load Dynamic allocation of CPU cycles when not fully loaded
Partitions Enforced
No idle time
0%
50%
100%
CPU Utilization
Disk
Graphics
Audio
Network
Serial
Application
Application
Application
Applications and Drivers Are processes which plug into a message bus Reside in their own memory-protected address space Cannot corrupt other software components or kernel Can be started, stopped and upgraded on the fly Failures in drivers do not require system restarts
Security Threats
Almost all embedded systems are becoming network connected > Untrusted network interfaces and threats > Untrusted, add on software If appropriate measures are not included by design, your products security and availability can be compromised Rogue software can launch denial of service (DOS) attack and starve core applications of CPU time > Need to ensure untrusted, add-on software can be contained to guard against attacks Distributed DOS attacks can busy your system with network processing QNX Neutrino Microkernel
File System
Device Drivers
Add-On
Add-On
Network Remote Monitoring Attacked Denial of Service Networking Attack Stack Contained
File System
Core Application
Add-On
20%
5%
50%
25%
QNX is Innovation
QNX is a Thought Leader in the Embedded Market QNX works closely with the embedded market to deliver industry leading technology
> QNX Neutrino is still the only high performance, commercial microkernel RTOS in the world > QNX Critical Process Monitor provides a comprehensive software HA framework > Adaptive Partitioning > Comprehensive multi-processing support > Distributed processing > Transaction File System
Independent Submersible Robot (ISR) is an automatic self-propelled vehicle carrying research instrumentation and able to:
Submerge at a specific oceanic location to large depths Move along a specified trajectory Perform intended tasks Independently return to the mother ship or coast station
Mission examples
Surveillance and exploratory missions at large depths and in rugged submarine topography Under-ice missions Fiber-optic cabling works Exploring water-filled tunnels Search and rescue operations Water environmental monitoring operations
On-board equipment
Environment measuring instruments Photo and video facilities Surveillance sonar Geophysical equipment (magnetometer, acoustic surface analyzer, gravimeter) Computer vision system Magnetometric and electromagnetic sensing units
The motion control system must ensure stable control of course, speed, depth (or height above bottom level). The navigation system must be capable of keeping up a required track, approaching a specified object, and determining the location with an accuracy of several meters. The computer vision system must ensure recognition of specified objects and their orientation. The behavior planning system must ensure the ISR's ability to keep up a specified track and to perform required maneuvering operations in the vicinity of a specified object.
Computer System
The on-board electronics, such as processors and controllers, are enclosed in firm containers that are made 15 cm in diameter to fit in the ISR's limited internal space. The ISR carries on board one to several processors combined in a LAN. On-board Ethernet Serial line RS-485.
On-board computers
Requirements:
Compact size Low power consumption Ability to work in duty-heavy surrounding conditions Independency Reliability and maintainability
Choice:
-104/104+ single-board computers Lippert Cool RoadRunner, Cool SpaceRunner, and Cool EcoRunner
Requirements: Minimal system overhead on CPU resources Distributed processing support LAN modifiability support System timers and priority mechanism support System reliability and predictability Simple implementation and wide applicability QNX 4.25 users historically Deployed new products withQNX 6 Development tools: Momentics GUI: Photon
Examples: -98
Was designed to work at depths of as much as 6,000m and in rugged submarine topography. Its control system consists of several computers intended for different tasks and combined in an Ethernet local area network. The LAN is operated by QNX OS.
Unmanned submarine vehicle designed to perform oceanographic measurements for an extended duration (e.g. multiple days).
The interaction between the submersible's on-board computer and the operator's computer is implemented via a radio-modem or acoustic modem, with the submersible's on-board computer working as a remote node of the QNX network.
Designed to perform surveillance and exploratory work on shelves at depths of as much as 200 meters, and to execute visual exploration of underwater parts of docks, bottom structures, sunk objects, large water-filled tunnels or containers, and underwater pipelines. Control system is distributed and consists of an on-board autopilot computer and the operator's remote control. The operator's remote control and the on-board computers are combined in a QNX-based network. The interprocessor data exchange is performed based on the QNX built-in message passing.
Summary
Institute of Marine Technology of the Far Eastern Branch of the Russian Academy of Sciences, Vladivostok, Russia and have used QNX since 1994. The QNX OS allows them to build robust and compact systems. No failures of QNX-based ISR control systems at all. The Institute is planning to deploy QNX for future products. Migration from QNX 4.25 to QNX 6.3 - advantage of MIPS, PowerPC, SH-4, XScale, and ARM architectures in building compact submersibles.
Cogent Helicopter Navigation System Delcan Urban Traffic Control System SAM Electronics Ocean Liners Navigate With QNX BCI In-vehicle Navigation System EBIM Chunnel-train Simulators JVC In-car infotainment device
Communications
WorldSpace Digital Satellite Broadcasting British Telecom Web-enabled Payphones MC Europe Digital Radio Broadcast System Visara Network Computers Wavetek Wandel Goltermann Cell-phone Test Equipment T-Netix Telephone Security and Monitoring Systems
Epson Web-based Thin Client International Gaming Technology Inter-Casino Gaming Machines Loewe Opta GmbH Multimedia Television Sets Teligent Web-Enabled Payphones ReQuest Multimedia CD Jukebox
Medical Devices
Burdick Electrocardiograph Stress Test Equipment Qualicon DNA Fingerprinting System Siemens Medical Solutions Angiography System IntraLase Corp. Laser Vision Correction System Physiometrix Anesthesia Monitor Biospace - Body Composition Analyzer InBody 4.0- helps treat obesity
Thank You