CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Virtualization for embedded X86 multiprocessor applications
The addition of Intel's VT hardware technology to its x86 CPUs makes possible the creation of a software-based embedded virtual machine manager.



Embedded.com

Virtualization of computer hardware has been used for many decades. The most widely noted early examples are those implemented by IBM on its mainframe hardware as a means to give its customers an easy upgrade from old "iron" to new "iron." In this case, one of the primary goals of virtualization was to allow legacy applications to run on newer machines, alongside applications designed for the new operating system and hardware.

Software that manages the virtualization environment is often referred to as a virtual machine manager (VMM) or hypervisor. A VMM creates the illusion of a hardware platform, for the purpose of hosting an entire operating system (the guest operating system) and its applications. In most cases, the guest operating system and applications running inside a virtual machine are native to the underlying processor instruction set, so that only system-level operations and I/O devices need to be emulated, not an entire instruction set of a CPU.

The typical server VMM presents a very limited virtual hardware model to the guest operating system, one that can be easily supported on a range of real hardware platforms and contains sufficient virtual I/O to support common client and server applications. In other words, your server VMM doesn't easily accommodate a variety of hardware devices, usually just a standard "white box."

Server VMM shortcomings
The virtual I/O presented by a server VMM usually consists of a CPU, RAM, disk, video, keyboard, mouse, and a network interface. A few other generic I/O devices may be available to "install" inside the server virtual machine, but due to the difficulty associated with multiplexing a wide range of I/O among multiple virtual machines, most virtual machine I/O is limited to these basic devices. And, like a general-purpose operating system (GPOS) such as Windows or Linux, a conventional VMM must be "fair" in its approach to scheduling CPU time for each of the virtual machines and sharing the physical I/O resources among all the virtual machines.

The server VMM is targeted at solving problems for a corporate IT network: maximizing the use of server resources and simplifying the deployment and maintenance of client desktops. This approach satisfies a large percentage of IT server and desktop applications, making such virtualization platforms popular with corporate IT groups as a means to quickly buildup and teardown server applications and client desktops. Unfortunately, this approach to virtualization simply won't work for embedded applications, which typically require deterministic performance and need to interact with unusual I/O devices.

1 | 2 | 3 | 4 | 5

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :