With widely available virtualization software and new hardware-assist architectures, industrial designers can readily combine multiple factory functions into a single hardware platform in order to minimize development costs, power requirements, and the number of system components. This consolidation feature allows designers to merge existing applications with different operating software without the need to modify existing code. Virtualization also allows designers to easily combine general purpose operating systems such as Windows or Linux with real-time software or safety/security-critical functions while retaining the required determinism and isolation. Combined with multi-core technology, virtualization can also be used to boost the performance of individual software segments by assigning additional processing power.
In order to optimize virtualization functions, embedded processor architectures from Intel include built-in hardware functions to increase the performance and speed up the interaction between virtual environments. For example, Intel® Virtualization Technology (Intel® VT) increases system performance and reliability with hardware support for virtualization software to simplify the transfer of data and control between virtual operating systems. If a system becomes disabled due to a software or operating system failure, a virtual backup can automatically take control and start execution without user intervention. Virtualization can also be used for hardware substitution by invoking a virtual layer that uses a modified set of I/O devices. Intel® VT improves the performance of software-based virtualization operations by using hardware-assist to allocate memory and I/O devices to specific partitions to decrease the processor load and reduce virtual machine switching times. In addition, specialized Intel functions such as Extended Page Tables (EPT) and Page Attribute Table (PAT) provide a hardware- assist to the partitioning and allocation of physical memory among virtual machines.
Virtualization platforms are built by adding a real-time virtual machine monitor (VMM) or hypervisor software layer directly above the hardware to create and manage individual partitions that contain guest operating systems. The hypervisor allocates system hardware resources such as memory, I/O and processor cores to each partition while maintaining the necessary separation between operating environments. Several Intel Intelligent Systems Alliance members offer software products that take advantage of the enhanced performance and isolation provisions provided by Intel® VT. For example, the Wind River Hypervisor allows designers to partition hardware devices, memory, and cores into virtual machines, each with its own operating system while maintaining the necessary separation. (See figure 2). The hypervisor allows system designers to isolate the safety-certified components while still operating on a single hardware platform utilizing a certified virtual machine monitor. Virtualization improves the potential uptime of embedded industrial systems since individual partitions can be rebooted or reprogrammed without affecting other applications on the same device.
Green Hills Software also offers a popular embedded virtualization package that utilizes the Intel® VT architecture. The INTEGRITY Secure Virtualization product, shown in Figure 1, can host arbitrary guest operating systems alongside a suite of real-time applications and middleware. Applications and guest operating systems are scheduled across one or multiple cores, can communicate with each other, and utilize system peripherals according to a strict access control model. On hypervisor acceleration-enabled processors such as Intel® VT, INTEGRITY supports high performance "full virtualization" where no changes to the guest operating system are needed. The system supports multiple instances of Linux, Windows, Solaris, VxWorks and other operating systems with managed inter-process communications (IPC) between virtual environments and applications. System resources, including memory and devices, can be fixed at build-time or dynamically adjusted at run-time. Health monitoring features include performance monitoring, fault detection, and guest operating system and application restart. For the software development phase, Green Hills provides the MULTI Integrated Development Environment along with an integrated static analyzer allowing compilation and defect analysis in the same pass.
Hardware assisted virtualization (Intel® VT) improves the flexibility and robustness of software based virtualization technology and offers the tools needed to isolate and secure critical applications while lowering production costs via hardware consolidation. If you are starting a new virtualization project with multiple operating systems and you have questions, please share your concerns with fellow followers of the Intel® Embedded Community. You can also keep up with the latest technical details and product announcements at the Embedded Computing Design archives on Virtualization.
LEARN MORE >>
Solutions in this blog:
Related topics (blogs, white papers, and more):
OpenSystems Media®, by special arrangement with the Intel® Intelligent Systems Alliance
Wind River Systems is an Associate member of the Intel® Intelligent Systems Alliance. Green Hills Software is an Affiliate member of the Alliance.