Virtualization has been a hot topic in the enterprise space for a while, but only recently has it become an important technology for embedded systems. Virtualization offers embedded systems developers a number of valuable properties, such as the ability to run different operating systems concurrently on the same processor, the isolation of subsystems, and the strict partitioning of resources—all important features for building secure, feature-rich embedded systems.

This article provides an introduction to
virtualization technology and discusses its use in embedded systems. It covers the inherent differences between the enterprise-systems style of virtualization
and virtualization as it applies to embedded systems. The limitations of straight virtualization approaches in this space is discussed as well, and the article provides a glimpse into generalized operating systems technology that overcomes those limitations.

Reprinted in its entirety from ARM IQ Vol. 6, No. 4, 2007