Wind River Hypervisor: Small, Scalable, Type 1 Embedded Virtualization
Wind River Hypervisor is an embedded hypervisor that brings a new level of flexibility to the development of embedded devices. It opens up new opportunities for cost savings through hardware consolidation; it allows developers to leverage multiple operating systems in a single device so they can expand and enhance device functionality; it facilitates the adoption of multi-core processors by increasing reliability and reducing risk; and it provides the new software configuration options required to architect next-generation embedded devices.
An integral part of Wind River's multi-core software solution, Wind River Hypervisor focuses on core real-time values:
- High performance
- Small footprint
- Real-time and deterministic
- Low latency
- High reliability
- Support of 32-bit and 64-bit guest operating systems
- Multiple device access models, including direct (pass-through) and virtualized access modes
For developers who are building highly differentiated embedded devices, Wind River Hypervisor offers compelling new capabilities. Now you can build more functionality into smaller form factors, build more scalable and reliable multi-core systems, and consolidate with confidence—with all the efficiencies of a unified development environment and a single-vendor solution.
Benefits of Embedded Virtualization
Consolidation: Systems that require multiple processors are expensive and inefficient in terms of hardware costs and power consumption. With Wind River Hypervisor, you can consolidate existing systems to a single or multi-core solution, allowing more features and functions to be packed into smaller form factors, saving component costs while increasing efficiency and decreasing power requirements.
Innovation and differentiation: It can be difficult to create highly differentiated devices when development is constrained to one operating system. Wind River Hypervisor allows multiple operating systems to coexist and cooperate on the same device, enabling developers to introduce a new operating system or newer OS versions while leveraging existing software assets
Efficient adoption of multi-core: Multi-core processors promise increased performance and reduced power consumption. But adapting software developed for single processors to run on multi-core processors can be a daunting task. Using Wind River Hypervisor in a supervised asymmetrical multiprocessing (AMP) configuration makes systems easier to configure, reduces complexity by increasing protection between cores, and provides a more scalable and reliable solution.
Performance: The high-core-count multi-core processors that silicon vendors are providing require optimized approaches to deliver the best performance. Adoption of embedded virtualization allows device manufacturers to design a single solution that easily scales from low-core-count CPUs to high-core-count systems as processing needs dictate. The performance-to-power ratio for multi-core processors is an attractive option for device developers. Multi-core and power management technologies have vastly improved the battery life of handheld devices while performance capabilities have increased dramatically.
Separation/safe and secure partitioning: In safety-critical systems, the safety-certified and noncertified components of the system traditionally must be physically separate, usually requiring multiple individual systems to achieve such separation. Embedded virtualization allows system designers to isolate the safety-certified components and applications from the components that do not require safety certification while still operating on a single certified hardware platform utilizing a certifiable embedded hypervisor.
Migration: Embedded virtualization and multi-core CPUs offer the opportunity to move existing application stacks to new platforms without the efforts necessary to port single-core applications to multi-core CPUs. Vendors can adopt new CPUs and hardware devices while reusing existing, proven code as is. The same application image can be used for different generations of hardware, or different product lines. Using Wind River Hypervisor in a supervised AMP configuration makes systems easier to configure, reduces complexity by increasing protection between cores, and provides a more scalable and reliable solution.
Wind River Hypervisor Features
Wind River Hypervisor Configuration and Virtual Devices
Virtual board interface: Provides application programming interfaces (APIs) to port operating systems, or applications that do not require an operating system.
Protection: Enables devices to be assigned to virtual boards; provides device and memory protection between virtual boards
Configuration: Uses convenient GUI-based system configuration; configuration changes do not require rebuilding guest operating systems or applications
Debugging and development: Provides integrated debugging and development (with Wind River Workbench) of complete virtualized embedded platforms, from board support package (BSP) design to symbolic debugging of multiple guest OS applications; provides the ability to debug multiple virtual boards via one physical Ethernet connection as well as agent-based debug of VxWorks and Wind River Linux applications; and provides multiplexed virtual serial ports through Workbench, enabling the consolidation of guest OS serial port output to be synchronized
Core scheduling: Provides a priority-based scheduler per core; partitioned and custom schedulers can be supported
Communication and networking: Provides internal Ethernet switches that support multiple internal Ethernet networks, as needed. These networks can be isolated from one another, or individually connected to external networks, and support standard Layer 2 protocols. Also provides multi-core/multi-OS inter-process communication (MIPC), a message-passing protocol designed for high-speed communication between cores or virtual boards; uses a socket-like API and shared memory as a fast, efficient ("zero-copy") communication medium between operating systems
Virtual devices: Provides virtualized access to devices such as serial ports and network cards with varying levels of device virtualization, depending on need (direct, shared, virtualized, emulated)
Virtual board management: Enables start, stop, reload/restart, and creation/deletion of guest operating systems during runtime