Computer Science

Virtual Machines

Virtual machines are software-based emulations of physical computers. They allow multiple operating systems to run on a single physical machine, enabling efficient use of hardware resources. Virtual machines provide a way to isolate and run applications in a contained environment, making them useful for testing, development, and running legacy software.

Written by Perlego with AI-assistance

10 Key excerpts on "Virtual Machines"

  • Book cover image for: Hardware and Software Support for Virtualization
    • Edouard Bugnion, Jason Nieh, Dan Tsafrir(Authors)
    • 2022(Publication Date)
    • Springer
      (Publisher)
    1.2 Virtual Machines e term “virtual machine” has been used to describe different abstractions depending on epoch and context. Fortunately, all uses are consistent with the following, broad definition. . . A virtual machine is a complete compute environment with its own isolated processing capabilities, memory, and communication channels. is definition applies to a range of distinct, incompatible abstractions, illustrated in Figure 1.2: • language-based Virtual Machines, such as the Java Virtual Machine, Microsoft Common Language Runtime, Javascript engines embedded in browsers, and in general the run-time environment of any managed language. ese runtime environments are focused on running single applications and are not within the scope of this book; • lightweight Virtual Machines, which rely on a combination of hardware and software iso- lation mechanisms to ensure that applications running directly on the processor (e.g., as native x86 code) are securely isolated from other sandboxes and the underlying operating system. is includes server-centric systems such as Denali [182] as well as desktop-centric systems such as the Google Native Client [190] and Vx32 [71]. Solutions based on Linux containers such as Docker [129] or the equivalent FreeBSD Jail [110] fall into the same category. We will refer to some of these systems as applicable, in particular in the context of the use of particular processor features; and 1.2. Virtual Machines 5 Platforms Abstractions (system-level) Virtual Machine Virtual Machine Machine Simulator Language-based Virtual Machine Lightweight Virtual Machine Hypervisor Bare-metal Hypervisor (type-1) Hosted Hypervisor (type-2) Popek / Goldberg Th. Figure 1.2: Basic classification of Virtual Machines and the platforms that run them.
  • Book cover image for: Grid Application Systems Design
    • April J. Wells(Author)
    • 2007(Publication Date)
    • CRC Press
      (Publisher)
    169 Chapter 8 Virtualization Computer Science is no more about computers than astronomy is about telescopes. —Edsger W. Dijkstra Virtualization, loosely translated, means an abstraction of computer resources. It is a technique used for hiding the physical characteristics of computing resources or a way of making multiple physical resources (storage devices or servers) appear as a single logical resource. Virtualization, however, is not necessarily a Grid-related concept. Far from it, in fact. Virtualization has been used extensively since at least the early 1960s and has been applied to many different aspects of computing. It has been used in entire computer systems component and components. Virtualization technologies are usually employed through the hiding of tech-nical details of the underlying components through encapsulation that creates an external interface to the underlying implementation. Recent developments in Grid technologies have renewed development in these technologies and refocused atten-tion on the concept. Platform virtualization is used to simulate Virtual Machines. Resource virtual-ization is used to simulate combined, fragmented, and simplified resources. In Grid-related information technology, virtualization can take on several meanings, depending on what is being virtualized. If computer hardware is what we are visualizing, then virtualization implies that we will use software to emulate either the hardware or an entire computer system environment other than the one on which the software is actually running. This virtualization of hardware is often referred to as a virtual machine . The term “virtual 170 n Grid Applications Systems Design machine” has been connected directly with Sun Microsystems’ Java programming language. That context defines an abstracted or conceptual machine rather than a real machine.
  • Book cover image for: The Best Damn Server Virtualization Book Period
    eBook - PDF

    The Best Damn Server Virtualization Book Period

    Including Vmware, Xen, and Microsoft Virtual Server

    • Rogier Dittner, David Rule(Authors)
    • 2011(Publication Date)
    • Syngress
      (Publisher)
    Virtualization enables companies to streamline their software life cycle. From development and testing, through integration, staging, deployment, and management, virtualization offers a comprehensive framework for virtual software life-cycle automation that streamlines these adjacent yet often disconnected processes, and closes the loops between them. In addition to these obvious benefits, 30 Chapter 1 • An Introduction to Virtualization www.syngress.com you can creatively design solutions around a virtual infrastructure to help your software development and test teams to: ■ Provide remote lab access and desktop hosting for offsite or offshore development resources, minimizing duplication of lab equipment at each site. ■ Close the loop between software development and quality assurance—capturing and moving defect state configurations. ■ Reproduce and resolve defects on demand. ■ Clone or image a production virtual machine and host it in your QA test infrastructure for security patch, service pack, or maintenance release testing. ■ Push a staged configuration into production after successful testing is completed, minimiz-ing errors associated with incorrect deployment and configuration of the production environment. An Introduction to Virtualization • Chapter 1 31 www.syngress.com Summary Virtualization is an abstraction layer that breaks the standard paradigm of computer architecture, decoupling the operating system from the physical hardware platform and the applications that run on it. As a result, IT organizations can achieve greater IT resource utilization and flexibility. Virtualization allows multiple Virtual Machines, often with heterogeneous operating systems, to run in isolation, side-by-side, on the same physical machine. Each virtual machine has its own set of virtual hardware (CPU, memory, network interfaces, and disk storage) upon which an operating system and applications are loaded.
  • Book cover image for: Cloud Computing Simplified
    eBook - ePub

    Cloud Computing Simplified

    Explore Application of Cloud, Cloud Deployment Models, Service Models and Mobile Cloud Computing (English Edition)

    Efficient and secure : It allows us to create as many Virtual Machines with one physical system as we want. Hence, it eliminates the need to have as many physical systems as there are Virtual Machines. This feature makes them efficient. Moreover, it provides the system with security and protects it from virus attacks.

    Types of software virtualization

    There are three types of software virtualization. These are as follows:
    • Operating system virtualization
    • Application virtualization
    • Service virtualization
    Let’s understand each one of them.

    Operating system virtualization

    In operating system virtualization, multiple operating systems can run on a single set of hardware resources. It consists of a software on which different operating systems can work. Each of the operating system perform their task efficiently and do not interfere with each other’s work.

    Application virtualization

    Application virtualization includes hosting individual applications in a virtual environment which is separate from the native operating system. This technology encapsulates the computer program within the operating system.

    Service virtualization

    Service virtualization refers to the simulation of those components that are unavailable during testing. The reason for their unavailability can be either that these resources are under development, blocked, restricted or owned a by third-party, or undergoing maintenance procedure. With service virtualization, one can access virtual copies of these components. This is very beneficial as it reduces dependency on any components required for testing. Moreover, it saves your time and money as you do not need any physical resource. You can get the necessary components through this type of virtualization.

    Server virtualization

    As we all know, virtualization refers to the creation of virtual instances of any resource or system. Hence, server virtualization means to divide the physical server into multiple virtual servers. Server administrators use a virtualization software to partition the single physical server into multiple isolated virtual environments. Each of the virtual environments can run independently without interfering with the working of each other. We can name these virtual environments as virtual private servers, guests, instances, containers, or emulations.
  • Book cover image for: Large Scale and Big Data
    eBook - PDF

    Large Scale and Big Data

    Processing and Management

    • Sherif Sakr, Mohamed Gaber, Sherif Sakr, Mohamed Gaber(Authors)
    • 2014(Publication Date)
    507 Virtualizing Resources for the Cloud to run in the same way on any platform. Java VM (JVM) [36] and Microsoft com-mon language infrastructure (CLI) [42] are examples of HLL VMs. In summary, a process VM is similar to a regular process running on an OS. However, a process VM allows, through emulation, the execution of an application compiled for an ISA different than that of the host machine. 16.5.2 S YSTEM V IRTUAL M ACHINES Contrary to process VMs, a system VM is a virtual machine capable of virtualizing a full set of hardware resources including processors, memories, and IO devices, thus providing a complete system environment. A system VM can support an OS along with its associated processes as long as the system environment is alive. Figure 16.9b illustrates system VMs. As defined previously, the hypervisor (or the virtual machine monitor [VMM]) is a piece of software that provides abstraction for the system VM. It can be placed at the ISA level directly on top of the raw hardware and below system images (e.g., OSs). The hardware resources of the host platform can be shared among multiple guest VMs. The hypervisor manages the allocation of, and access to, the hardware resources to/by the guest VMs. In practice, the hypervisor provides an elegant way to logically isolate multiple guest VMs sharing a single physical infrastructure (e.g., the cloud datacenters). Each guest VM is given the illu-sion of acquiring the hardware resources of the underlying physical machine. There are different classes of system VMs. Figure 16.11 exhibits three of these classes as well as traditional systems. In a conventional time-shared system, the OS runs in privileged mode (system mode) while the applications associated with it run in unprivileged mode (user mode) (more details on execution modes will be dis-cussed in Section 16.6.1). With system virtualization, however, the guest OS(s) will run in unprivileged mode while the hypervisor can operate in privileged mode.
  • Book cover image for: Guide to Operating Systems
    This environment can be installed on most current OSs, including Windows, Linux, and macOS. In this case, a picture is worth a thousand words, so examine Figure 8-1. It shows a Windows 10 client with VMware Workstation installed and running a Linux and macOS virtual machine. Linux is running on the left side of the screen and macOS is on the right side. Notice the Windows 10 taskbar at the bottom. Like all technologies, virtualization comes with a collection of terms that define its operation and components: • A virtual machine (VM) is the virtual environment that emulates a physical computer’s hardware and BIOS. • A guest OS is the operating system installed in a VM. • A host computer is the physical computer on which VM software is installed and VMs run. In Figure 8-1, Windows 10 is the host computer. MODULE 8 Virtualization and Cloud Computing Fundamentals 316 Copyright 2021 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. • Virtualization software is used for creating and managing VMs and creating the virtual environment in which a guest OS is installed. Examples of this software are VMware Workstation, Oracle VirtualBox, and Microsoft Hyper-V. • The hypervisor is the part of virtualization software that creates and monitors the virtual hardware environment that allows multiple VMs to share physical hardware resources. On a host computer, the hypervisor acts somewhat like an OS kernel, but instead of scheduling processes for access to the CPU and other devices, it schedules VMs. It’s sometimes called the virtual machine monitor (VMM).
  • Book cover image for: Virtualization with Xen(tm): Including XenEnterprise, XenServer, and XenExpress
    • David E. Williams(Author)
    • 2007(Publication Date)
    • Syngress
      (Publisher)
    • Clone or image a production virtual machine and host it in your QA test infrastructure for security patch, service pack, or maintenance release testing. • Push a staged configuration into production after successful testing is com- pleted, minimizing errors associated with incorrect deployment and configu- ration of the production environment. www.syngress.com 38 Chapter 1 • An Introduction to Virtualization Summary Virtualization is an abstraction layer that breaks the standard paradigm of computer architecture, decoupling the operating system from the physical hardware platform and the applications that run on it. As a result, IT organizations can achieve greater IT resource utilization and flexibility. Virtualization allows multiple Virtual Machines, often with heterogeneous operating systems, to run in isolation, side-by-side, on the same physical machine. Each virtual machine has its own set of virtual hardware (CPU, memory, network interfaces, and disk storage) upon which an operating system and applications are loaded. The operating system sees the set of hardware and is unaware of the sharing nature with other guest operating systems running on the same physical hardware platform. Virtualization technology and its core components, such as the Virtual Machine Monitor, manage the interaction with the operating system calls to the virtual hardware and the actual execution that takes place on the underlying physical hardware. Virtualization was first introduced in the 1960s to allow partitioning of large, mainframe hardware, a scarce and expensive resource. Over time, minicomputers and PCs provided a more efficient, affordable way to distribute processing power. By the 1980s, virtualization was no longer widely employed. However, in the 1990s, researchers began to see how virtualization could solve some of the problems associ- ated with the proliferation of less expensive hardware, including underutilization, escalating management costs, and vulnerability.
  • Book cover image for: Hands-On Virtual Computing
    Keep in mind that this version is limited to a single license for installing a virtual machine. Chapter Summary ■ Virtualization software provides a separate emulated hardware environment on a host computer. It runs in the host computer ’ s OS to create emulated computer environ-ments called Virtual Machines, also referred to as guest systems. ■ A special software layer called the hypervisor allows guest Virtual Machines to share the hardware environment of the host computer. ■ Hypervisors can be classified as either type-1 or type-2. Type-1 hypervisors run directly on the computer hardware without the need for a general purpose operating system. Type-2 hypervisors run on top of another operating system such as Windows or Linux. Type-2 hypervisors are not as fast as type-1, but provide more flexibility for developers. ■ With hardware virtualization, virtualization is built into processors, which improves the performance of virtualization software designed to work with these enhancements. ■ Virtualization software can be classified as workstation, data center, Virtual Desktop Infrastructure (VDI), or cloud based. 1 Introduction to Virtual Computing 41 C opyri g ht 2018 C en g a g e Learnin g . All Ri g hts Reserved. May not be copied, scanned, or duplicated, in whole or in part. W C N 02-300 ■ Workstation virtualization software is intended to support desktop OSs and includes products such as VMware Workstation, VMware vSphere, Microsoft Hyper-V, and Oracle VirtualBox. You can run multiple OSs on a single machine without dual-booting, and workstation virtualization software is also useful for help desk support, classroom training, and software development. ■ Data center software reduces server sprawl by consolidating several specialized servers into one physical computer. Other benefits include reduced hardware costs, server clustering, and improved disaster recovery. Current server virtualization products include VMware vSphere and Microsoft Hyper-V.
  • Book cover image for: Essentials of Cloud Computing
    Application Application Application Application Application Application Application Application Operating system (Linux) Virtual machine Virtual infrastructure Physical shared infrastructure Virtual machine Operating system (Windows) VProcessor VProcessor VMemory VMemory VStorage VStorage VNetwork VNetwork Processor Memory Storage Network FIGURE 7.2 After virtualization. 164 Essentials of Cloud Computing discussed in the later part of this chapter. Industries adopt virtualization in their organization because of the following benefits: • Better resource utilization • Increases ROI • Dynamic data center • Supports green IT • Eases administration • Improves disaster recovery While virtualization offers many benefits, it also has some drawbacks: • Single point of failure • Demands high-end and powerful infrastructure • May lead to lower performance • Requires specialized skill set This chapter focuses on the different virtualization opportunities, dif-ferent approaches to virtualization, role of the hypervisors in virtual-ization, attacks that target the hypervisors, and virtualization for cloud computing. 7.2 Virtualization Opportunities Virtualization is the process of abstracting the physical resources to the pool of virtual resources that can be given to any Virtual Machines (VMs). The different resources like memory, processors, storage, and network can be vir-tualized using proper virtualization technologies. In this section, we shall discuss some of the resources that can be virtualized. 7.2.1 Processor Virtualization Processor virtualization allows the VMs to share the virtual processors that are abstracted from the physical processors available at the underlying infra-structure. The virtualization layer abstracts the physical processor to the pool of virtual processors that is shared by the VMs. The virtualization layer will be normally any hypervisors. Processor virtualization from a single hardware is illustrated in Figure 7.3.
  • Book cover image for: Invitation to Computer Science
    Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. 326 Chapter 6 An Introduction to System Software and Virtual Machines Network operating systems create a virtual machine that extends beyond the boundaries of the local system on which the user is working. They let us access a huge pool of resources—computers, servers, and other users— exactly as though they were connected to our own computers. This fourth-generation virtual environment, exemplified by operating systems such as Windows 10, macOS, Linux, iOS, and Android, is diagrammed in Figure 6.21. One important variation of the network operating system is called a real-time operating system . During the 1980s and 1990s, computers got smaller and smaller, and it became common to place them inside other pieces of equipment to control their operation. These types of computers are called embedded systems ; examples include computers placed inside auto-mobile engines, microwave ovens, thermostats, assembly lines, airplanes, homes, and even the treadmill at your local fitness center. For example, the Boeing 787 Dreamliner jet contains hundreds of embed-ded computer systems inside its engines, braking system, wings, landing gear, and cabin. The central computer controlling the overall operation of the airplane is connected to these embedded computers that monitor system functions and send status information. In all the operating systems described thus far, we have implied that the system satisfies requests for services and resources in the order received. In some systems, however, certain requests are much more important than others, and when these important requests arrive, we must drop everything Work-station “The network” Network resources Local machine Files Mail systems Printers Other computers The virtual environment created by a network operating system FIGURE 6.21 Copyright 2019 Cengage Learning.
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.