What Is Virtualization?
What Is Automotive Virtualization?
As with other forms of virtualization, automotive virtualization uses a hypervisor to manage its virtual machines. An automotive hypervisor can start up and shut down the virtual machines, as well as control how they communicate with each other. The hypervisor can support virtual machines hosting software from different vendors on the same hardware, managing how much of the hardware resources each can take and what data can be shared between them.
An example of a hypervisor for automotive is the QNX® Hypervisor from BlackBerry, which offers two different variants: QNX® Hypervisor for Safety and QNX Hypervisor (non-safety variant), for systems requiring a mix of safety and no-safety environments. This enables an automaker to run virtual machines hosting operating systems via QNX® Advanced Virtualization Frameworks. Google Android Automotive OS is supported alongside Linux-based as guest operating systems within virtual machines.
Benefits of Virtualization for Automotive
Mission-critical automotive functions such as Advanced Driver-Assistance Systems (ADAS) must be kept separate from less essential functions such as infotainment. Virtualization for Automotive enables these functions to coexist on shared hardware without the risk of a less critical function impinging on a function that supplies safety-critical features to the vehicle. Each function can run in its virtual machine, managed by the automotive hypervisor.
While each function’s virtual machine operates in its own space with its allocation of resources, it can still communicate with other functions if required. Since both operate on the same hardware, communication can be facilitated via software rather than requiring additional hardware connectivity between physically separate ECUs. For example, camera video feeds can be more easily routed to the dashboard cockpit display.
When most systems are implemented via software virtualization, new features can be implemented more quickly and delivered remotely via over-the-air updates. Hardware resources can be used flexibly and shared between systems. This can help lower the cost because one piece of computer hardware can do a job previously performed by multiple ECUs. These functions are virtualized and operate side-by-side on shared hardware.
The ability to run multiple virtual machines enables using different Automotive Real-Time Operating Systems simultaneously on one piece of hardware. For example, operating systems capable of mission-critical dependability can run the digital cockpit and ADAS, while others can operate the infotainment. It is even possible to run a familiar consumer operating system and enable the installation of everyday applications and multimedia software. These operating systems could be from different third-party vendors, running side-by-side in separate virtual machines.
Types of Virtualization
Virtualization operates on a stack, starting with the host hardware at the lowest level. There can be two types of hypervisors running on top of this:
- Type 1 Hypervisors run directly on top of the hardware. Examples include the QNX Hypervisor.
- Type 2 Hypervisors sit on top of a host operating system. They are also known as hosted hypervisors.
Beyond these base-level distinctions, virtualization can be applied to applications, networking, desktop operating systems, storage, server resources, and data. By running any of these functions in a virtualized environment, they can be delivered in the most flexible way possible. This is why the move to automotive virtualization is so essential. As vehicles become connected and software-defined, flexibility and the room to upgrade features are essential.