Basic Virtulization

download Basic Virtulization

of 5

Transcript of Basic Virtulization

  • 8/3/2019 Basic Virtulization

    1/5

    Virtua liza tion BasicsOverviewVirtualization is a technology that enables running multiple operating systems side-by-side on the sameprocessing hardware. This white paper provides an easy to understand introduction to virtualization, andexplains the benefits that virtualization technology can provide for engineering applications.

    IntroductionVirtualization is a technology that allows running two or more operating systems side-by-side on just one PCor 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, reducefootprint, and consolidate systems in ways that were not previously possible.For example, consider a common engineering application that can benefit from virtualization (runningmultiple operating systems in parallel). Today, many designers need to take advantage of real-timeprocessing or control while providing a graphical user interface. While traditionally this would have requiredtwo physical computers (one for each operating system), virtualization enables running both operatingsystems on the same PC or embedded controller. Eliminating the need for an extra computer means a betterintegrated 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 efficientsystems. As multicore processors with 4,8, and 16 cores on a chip become commonplace, many processorcores are likely to be underutilized in a typical system. Most applications will have only a finite amount ofparallel tasks that can be executed at a given time, leaving many processor cores idle. Virtualization softwarecan help solve this challenge by allocating groups of processor cores to individual operating systems runningin parallel. Simply put, virtualization allows processing that would have been achieved on multiple computersto run on just one powerful multicore processor.

    It is important to note that virtualization is not only being used in the engineering domain. Many informationtechnology (IT) companies have used virtualization to consolidate large groups of servers at a savings thatcan reach millions of dollars. This paper wil l specifically outline the major benefits that virtualization canprovide engineers, and provide an introduction to the types of virtualization software on the market today.

    Virtualization BenefitsSave Hardware Cost and FootprintVirtualization provides the ability to take advantage of multiple operating systems on one physical PC orembedded controller, without investing in a separate computer for every OS. This allows engineers to buy

    Nationa llnst rument s. A ll r ight s reserved . LabVIEW, Nationa l I ns tr uments , NI , n i.com, t he Nationa l Inst rument s corpora te logo , and the Eag le l ogo are t rademarks o f Nationa lI ns truments . See n i.comlt rademarks for o ther NI t rademarks. Other product and company names are t rademarks or t rade names of thei r r especti ve compan ies. For paten ts cover ingNati onal Inst rument s products , r efe r to the appropr ia te loca tion: He lppatent s in your sof tware, t he paten ts .tx t f il e on your CO, or n i.com/patent s .

  • 8/3/2019 Basic Virtulization

    2/5

    less hardware and reduce overall system footprint (which is especially important in deployed applications).Take Advantage of Operating System ServicesWith virtualization it is possible to take advantage of the capabilities offered by different operating systems onjust one set of hardware. For example, a designer may wish to use graphics services provided by Windowsin conjunction with deterministic processing provided by a real-time OS such as LabVIEW Real-Time.Make Use of Multicore ProcessorsVirtualization software can allow users to directly assign groups of processor cores to individual operatingsystems. For example, if an engineer wishes to use Linux and a real-time OS, more CPU and memoryresources can be allocated to the real-time OS to optimize performance. Running virtualization software on agiven computer allows designers to make the most of their processing resources by keeping processor coresbusy.Test Beta Software and Maintain Legacy ApplicationsThe ability to run two or more operating systems side-by-side means that programmers can test newreleases of software without the need for dedicated test machines. If beta software corrupts a givenoperating system, a parallel operating system running on the same computer can still be used fordevelopment.In addition, virtualization can help extend support for legacy applications and operating systems to newhardware. 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 todifferent operating systems.Increase System SecuritySince 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 formultiple physical computers that operate at different security levels but are not fully utilized.

    Virtualization SoftwareTo 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, individualvirtual computers (called virtual machines or VMs) can be run on the same hardware. Note that each virtualmachine can run its own operating system, applications, etc. - the goal is to make each VM act like astandalone machine would.

    2 www.ni.com

    http://www.ni.com/http://www.ni.com/
  • 8/3/2019 Basic Virtulization

    3/5

    Figure 1. Virtual machine monitor software (VMM) enables running multiple operating systems (virtualmachines) 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 asWindows), or directly on hardware for more low-level access. Hosted virtualization is typically used duringthe development process, where running virtual machines on top of a host OS can help engineers test betasoftware, make use of legacy applications, or run software created for a different operating system.

    3 www.ni.com

    http://www.ni.com/http://www.ni.com/
  • 8/3/2019 Basic Virtulization

    4/5

    Figure 2. In the hosted virtualization architecture, virtual machine monitor (VMM) software is installed on ahost operating system.Bare-metal virtualization, on the other hand, can be advantageous for deployed applications. Usingbare-metal virtualization enables real-time operating systems to run inside virtual machines, and providesmore options for I/O access than a hosted architecture. For an in-depth description of these two architecturesand their benefits, see the Virtualization Technology Under the Hood white paper.

    4 www.ni.com

    http://www.ni.com/http://www.ni.com/
  • 8/3/2019 Basic Virtulization

    5/5

    V i r l t ! u a I IMe c h ine Mo l f i I . i l t : o . r' ! 'V I M M)!, I

    Figure 3. The bare-metal virtualization architecture is based on a virtual machine monitor (VMM) installeddirectly on system hardware.

    ConclusionBy enabling multiple operating systems to run in parallel on the same computer, virtualization can provide avariety of benefits to engineering applications. Designers can make use of virtualization in the developmentprocess to test beta software without using a dedicated machine, and to maintain legacy applications. Inaddition, virtualization can reduce hardware requirements for deployed applications that make use of multipleoperating systems (e.g. a general purpose OS and real-time OS). As the trend towards multicore processingcontinues, engineers that make use of virtualization can save cost and reduce footprint as they make betteruse of the processing power of just one physical computer.

    Add itiona l ResourcesFor more information on both virtualization and multicore technologies, visit the following resources.Webcast: Introduction to VirtualizationWhite Paper: Virtualization Technology Under the Hood

    Multicore Programming Resources

    5 www.ni.com

    http://www.ni.com/http://www.ni.com/