Virtual Machines for Embedded Developers
I recently wrote about Emulation, Simulation and Native Development. There is another, related, tool: Virtualisation.
Virtual Machines (VMs) are revolutionising the Server sector, but they can be
used in many aspects of embedded Linux development too. Here are some
thoughts on where it may be useful to you…
Virtualisation software, sometimes called a hypervisor, is
basically a very small scheduler. Many modern processors even include
specific features to make the hypervisors job easier.
Using this software it is possible to divide a processor, and other
resources, such that there appear to be a number of physical systems
rather than one. Unlike an emulator, virtualisation occurs at a very
much lower level. The processor is not emulated in software, it is
multiplexed such that some of the time it is running one operating
system and some of the time it is running another.