Sie sind auf Seite 1von 5

Virtualization Basics

Overview
Virtualization is a technology that enables running multiple operating systems side-by-side on the same
processing hardware. This white paper provides an easy to understand introduction to virtualization, and
explains the benefits that virtualization technology can provide for engineering applications.
lntroduction
Virtualization is a technology that allows running two or more operating systems side-by-side on just one PC
or embedded controller, and it is rapidly being adopted in the engineering world. While the word
"virtualization is simply another term for abstraction, in practice it allows engineers to save cost, reduce
footprint, and consolidate systems in ways that were not previously possible.
For example, consider a common engineering application that can benefit from virtualization (running
multiple operating systems in parallel). Today, many designers need to take advantage of real-time
processing or control while providing a graphical user interface. While traditionally this would have required
two physical computers (one for each operating system), virtualization enables running both operating
systems on the same PC or embedded controller. Eliminating the need for an extra computer means a better
integrated overall system, a savings in cost, and a reduction in footprint.
Virtualization can also help engineers better utilize their available processing hardware to build more efficient
systems. As multicore processors with 4, 8, and 16 cores on a chip become commonplace, many processor
cores are likely to be underutilized in a typical system. Most applications will have only a finite amount of
parallel tasks that can be executed at a given time, leaving many processor cores idle. Virtualization software
can help solve this challenge by allocating groups of processor cores to individual operating systems running
in parallel. Simply put, virtualization allows processing that would have been achieved on multiple computers
to run on just one powerful multicore processor.
lt is important to note that virtualization is not only being used in the engineering domain. Many information
technology (lT) companies have used virtualization to consolidate large groups of servers at a savings that
can reach millions of dollars. This paper will specifically outline the major benefits that virtualization can
provide engineers, and provide an introduction to the types of virtualization software on the market today.
Virtualization Benefits
Save Hardware Cost and Footprint
Virtualization provides the ability to take advantage of multiple operating systems on one physical PC or
embedded controller, without investing in a separate computer for every OS. This allows engineers to buy
National lnstruments. All rights reserved. LabVlEW, National lnstruments, Nl, ni.com, the National lnstruments corporate logo, and the Eagle logo are trademarks of National
lnstruments. See ni.com/trademarks for other Nl trademarks. Other product and company names are trademarks or trade names of their respective companies. For patents covering
National lnstruments products, refer to the appropriate location: Help>>patents in your software, the patents.txt file on your CD, or ni.com/patents .
less hardware and reduce overall system footprint (which is especially important in deployed applications).
Take Advantage of Operating System Services
With virtualization it is possible to take advantage of the capabilities offered by different operating systems on
just one set of hardware. For example, a designer may wish to use graphics services provided by Windows
in conjunction with deterministic processing provided by a real-time OS such as LabVlEW Real-Time.
Make Use of Multicore Processors
Virtualization software can allow users to directly assign groups of processor cores to individual operating
systems. For example, if an engineer wishes to use Linux and a real-time OS, more CPU and memory
resources can be allocated to the real-time OS to optimize performance. Running virtualization software on a
given computer allows designers to make the most of their processing resources by keeping processor cores
busy.
Test Beta Software and Maintain Legacy Applications
The ability to run two or more operating systems side-by-side means that programmers can test new
releases of software without the need for dedicated test machines. lf beta software corrupts a given
operating system, a parallel operating system running on the same computer can still be used for
development.
ln addition, virtualization can help extend support for legacy applications and operating systems to new
hardware. By running both legacy and new operating systems on the same PC or embedded controller (e.g.
Windows 95 and Vista), engineers can reuse legacy applications and reduce the need to port programs to
different operating systems.
lncrease System Security
Since individual operating systems running on a virtualized machine can be isolated from each other,
virtualization is one way to create secure machines (e.g. for military applications). This reduces the need for
multiple physical computers that operate at different security levels but are not fully utilized.
Virtualization Software
To virtualize a given computer, a piece of software called a virtual machine monitor (VMM) must be installed.
This software is also commonly referred to as a hypervisor. After this VMM software is installed, individual
virtual computers (called virtual machines or VMs) can be run on the same hardware. Note that each virtual
machine can run its own operating system, applications, etc. the goal is to make each VM act like a
standalone machine would.
2 www.ni.com
Figure 1. Virtual machine monitor software (VMM) enables running multiple operating systems (virtual
machines) in parallel on the same computer.
There are two major virtualization architectures that can be used when installing virtualization software,
hosted and bare-metal. Essentially, a VMM can be installed either on top of a host operating system (such as
Windows), or directly on hardware for more low-level access. Hosted virtualization is typically used during
the development process, where running virtual machines on top of a host OS can help engineers test beta
software, make use of legacy applications, or run software created for a different operating system.
3 www.ni.com
Figure 2. ln the hosted virtualization architecture, virtual machine monitor (VMM) software is installed on a
host operating system.
Bare-metal virtualization, on the other hand, can be advantageous for deployed applications. Using
bare-metal virtualization enables real-time operating systems to run inside virtual machines, and provides
more options for l/O access than a hosted architecture. For an in-depth description of these two architectures
and their benefits, see the Virtualization Technology Under the Hood white paper.
4 www.ni.com
Figure 3. The bare-metal virtualization architecture is based on a virtual machine monitor (VMM) installed
directly on system hardware.
Conclusion
By enabling multiple operating systems to run in parallel on the same computer, virtualization can provide a
variety of benefits to engineering applications. Designers can make use of virtualization in the development
process to test beta software without using a dedicated machine, and to maintain legacy applications. ln
addition, virtualization can reduce hardware requirements for deployed applications that make use of multiple
operating systems (e.g. a general purpose OS and real-time OS). As the trend towards multicore processing
continues, engineers that make use of virtualization can save cost and reduce footprint as they make better
use of the processing power of just one physical computer.
Additional Resources
For more information on both virtualization and multicore technologies, visit the following resources.
Webcast: lntroduction to Virtualization
White Paper: Virtualization Technology Under the Hood
Multicore Programming Resources
5 www.ni.com

Das könnte Ihnen auch gefallen