Realtime, Type 1 Hypervisor Virtualization Technology for Complex Mission-critical Embedded Systems
As the power of compute platforms (such as a system-on-chip, or, SoC) increases, designers have the luxury to add more functions on each SoC. These functions can be vastly different and combine safety-critical and non-safety critical systems. By combining different functional domains, manufacturers save cost (fewer hardware boards), copper wiring between these boards and power. The key challenge, however, for the designer is to isolate these functional domains such that if a single domain malfunctions it does not impact other domains. Such a design can be achieved using the right hypervisor technology.
QNX Hypervisor is a Type 1 realtime priority-based microkernel hypervisor built for managing virtual machines. The QNX® Hypervisor makes it easier to obtain and maintain safety certifications by separating safety-critical components from non-safety critical components in separate guest operating systems. The QNX Hypervisor boasts the ability to meet the precision requirement of an embedded zero-downtime production system.
Best-in class Safety-critical Isolation and Certification Virtualization
The protection of critical processes starts with the OS. The QNX Hypervisor has been architected to support operating system guests like the QNX OS that are well suited to safety-critical applications while also supporting those designed to deliver less critical but still desirable functions like graphical Human-Machine Interfaces (HMIs), device housekeeping, or cloud connectivity for IoT or remote device management.
The QNX Hypervisor facilitates safety certifications by separating safety-critical systems from non-critical systems in separate guest OSs. Safety certifications can be achieved on components selectively. Different parts of the system can then be updated independently without impacting certifications.
The Hypervisor for Safety is itself built from a safety-certified and security pedigree (it complies with IEC 61508 SIL 3 for industrial safety, and IEC 62304 for medical device software).
QNX Hypervisor follows a priority-based virtual CPU (vCPU) sharing model. Each vCPU has a priority and scheduling policy, ensuring that a higher priority guest OS will always preempt a lower priority guest OS when sharing a physical CPU (pCPU). Using adaptive partitioning enforces guaranteed CPU time for a set of vCPUs even when the system is completely busy and allows the system designer to build dependable systems without wasting hardware resources.
An application running in a virtualized environment has a performance overhead typically less than 2% when compared to the same application running in a native environment. This extremely small overhead illustrates the efficiency of the design and hardware optimization support of the QNX Hypervisor. Boot times for guests will vary but can be reduced to tens of milliseconds.
The QNX® Hypervisor is the latest in the QNX portfolio of products for safe and secure computing. It leverages technologies and capabilities to provide strong isolation for critical operations while supporting the trend towards hardware consolidation.
QNX Hypervisor software stack: shared devices, multiple guest OSs, integrated toolchain:
Hardware support for virtualization
The QNX Hypervisor makes full use of all virtualization capabilities offered by the hardware to perform complete memory, CPU core, page table, and interrupt isolation between virtual machines. This mechanism offers the ability to directly assign devices from the hardware into specific virtual machines, thus hiding those devices from all other virtual machines.
It’s necessary for the applications running in multiple virtual machines to work cooperatively in order to deliver the service of the embedded device. In this manner, the QNX Hypervisor supports shared memory access, shared file access, as well as TCP/IP/UDP networking between virtual machines.
Transparent distributed processing
The QNX Hypervisor uses patented, market-proven technology developed by BlackBerry QNX for distributed device sharing across guest OSs. Other forms of inter-guest communication are handled by shared memory or TCP/IP over virtual Ethernet.
QNX Momentics® integration
The QNX Hypervisor is integrated with the QNX Momentics Tool Suite so developers can see and capture system-wide events across all supported guest OSs as well as viewing and tracing virtualization-specific events within the Hypervisor itself. Individual virtual machines can be paused, analysed and continued.
The QNX Hypervisor supports the QNX Neutrino® OS, Linux, and Android operating systems, as well as other unmodified operating systems, RTOSs, and real-time executives. Contact your Blackberry QNX Sales Representative for the latest list of supported OSs.