You are on page 1of 13
NATIONAL INSTITUTE OF TECHNOLOGY RAIPUR DEPARTMENT OF COMPUTER APPLICATIONS. ees VIRTUALIZATION EEF A Term Paper submitted in the fulfilment of the requirement for the award of the degrees of MASTER OF COMPUTER APPLICATIONS (Session: 2020-21) Submitted By: Submitted To: Udit Joshi Dr. C.M. Anish Sir Roll no: 21223086 Abstract Virtualization is a technology that is applied for sharing the capabilities of physical computer By splitting the resources among OS. The concept of virtual machines started back in 1964 Within IBM project called CMS system. Currently there are several virtualization techniques That can be used for supporting the execution of entire operating system. The vocabulary of Virtualization is very straightforward. When virtualization allows multiple operating system To run at a same time on one machine the combination of system is called virtual machine. Each VM can run its own OS and have specific task such as web serving or provide email Functionality. Finally we present summary of resource management faci ies for capacity planning and consolidation of server application. The report focus on virtual as it pertains to the data before considering any type of data virtualization. It is important to define what technology or service you are trying to virtualize. Table of contents Title 1.0 Introduction. 2.0 Background knowledge.. 2.0.1 Challenges 2.0.2 Present Day scenario 3.0 Everything To Know about virtualization 3.1 What is virtualization 3.2 How Does Virtualization Work? 3.3 Virtual Infrastructure 3.3.1 Virtual Infrastructure Benefits 3.4 Why Virtualization: A list of Reasons 4.0 Classification of Virtualization 4.1 Virtual machine 4.1.1 Virtual machine concept 4.1.1.1 System Virtual machines 4.1.1.2 Process Virtual machines 4.1.2 Techniques 4.1.2.1 Emulation of the underlying row hardware 4.1.2.3 Emulation of non -native system. 1.0 INTRODUCTION Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. Today's powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer. Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, timesharing, partial or complete machine simulation, emulation quality of service and many others. Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software- controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc.) and presents them in a regular fashion, such that "guest" software cannot distinguish VM-based execution from running on bare physical hardware 2.0 Background knowledge 2.0.1 Challenges * Low Infrastructure Utilization - Typical x86 server deployments achieve an average utilization of only 10% to 15% of total capacity. Organizations typically run one application per server to avoid the risk of vulnerabilities in one application affecting the availability of another application on the same server. * Increasing Physical Infrastructure Costs - The operational costs to support growing physical infrastructure have steadily increased. Most computing infrastructure must remain operational at all times, resulting in power ‘consumption, cooling and facilities costs that do not vary with utilization levels. * Increasing IT Management Costs - As computing environments become more complex, the level of specialized education and experience required for infrastructure management personnel and the associated costs of such personnel have increased. Organizations spend disproportionate time and resources on manual tasks associated with server maintenance, and thus require more personnel to complete these tasks. * Insufficient Failover and Disaster Protection - Organizations are increasingly affected by the downtime of critical server applications and inaccessibility of critical end user 2 desktops. The threat of security attacks, natural disasters, health pandemics and terrorism has elevated the importance of business continuity planning for both desktops and servers. * High Maintenance end-user desktops - Managing and securing enterprise desktops present numerous challenges. Controlling a distributed desktop environment and enforcing management, access and security policies without impairing users’ ability to work effectively is complex and expensive. 2.0.2 Present Day Scenario Today, computers based on x86 architecture are faced with the same problems of rigidity and underutilization that mainframes faced in the 1960s. Today's powerful x86 computer hardware was originally designed to run only a single operating system and a single application, but virtualization breaks that bond, making it possible to run multiple operating systems and multiple applications on the same computer at the same time, increasing the utilization and flexibility of hardware, 3.0 Everything To know About Virtualization 3.1 What is Virtualization Virtualization is the process of mapping the resources and interfaces of a virtual resource into the resources and interfaces of a host machine. © Issues in virtualization * Complexity * Correctness—includes reliability, security... Performance (overhead of the mapping) Virtualization commonly refers to native virtualization, where the VM platform and the guest software target the same microprocessor instruction set and comparable system architectures. Virtualization can also involve execution of guest software cross-compiled for a different instruction set or CPU arc! such emulation or simulation environments help developers bring up new processors and cross-debug embedded hardware. A virtual machine provides a somvare environment that allows software to run on bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A virtual machine is an efficient, isolated duplicate of the real machine. The hypervisor presents an interface that looks like hardware to the "guest" operating system. It allows multiple operating system instances to run concurrently ona single computer; it is a means of separating hardware from a single operating system. it can control the guests' use of CPU, memory, and storage, even allowing a guest OS to migrate from one machine to another. It is also a method of partitioning one physical server computer into multiple “virtual” servers, giving each the appearance and capabilities of running on its own 3.2 How does Virtualization work? Virtualization platform transform or "virtualize" the hardware resources of an x86-based computer—including the CPU, RAM, hard disk and network controller—to create a fully functional virtual machine that can run its own operating system and applications just like a "real" computer. Each virtual machine contains a complete system, eliminating potential conflicts. Virtualization works by inserting a thin layer of software directly on the computer hardware or on a host operating system. This contains a virtual machine monitor or "hypervisor" that allocates hardware resources dynamically and transparently. Multiple operating systems run concurrently on a single physical computer and share hardware resources with each other. By encapsulating an entire machine, including CPU, memory, operating system, and network devices, a virtual machine is completely compatible with all standard x86 operating systems, applications, and device drivers. You can safely run several operating systems and applications at the same time on a single computer, with each having access to the resources it needs when it needs them 3.3 Virtual Infrastructure A virtual infrastructure lets you share your physical resources of multiple machines across your entire infrastructure. A virtual machine lets you share the resources Of a single physical computer across multiple virtual machines for maximum efficiency. Resources are shared across multiple virtual machines and applications. This resource optimization drives greater flexibility in the organization and results in lower capital and operational costs. Fig(2) :Virtual infrastructure A virtual infrastructure consists of the following components: + Bare-metal hypervisors to enable full virtualization of each x86 computer. ' Virtual infrastructure services such as resource management and consolidated backup to optimize available resources among virtual machineS 3.3.1 Virtual infrastructure Benefits Delivering built—in availability, security and scalability to applications. It supports a wide range of operating system and application environments, as well as networking and storage infrastructure. 3.4 Why Virtualization : A List of Reason. Following are some reasons for and benefits of virtualization: @ Virtual machines can be used to consolidate the workloads of several underutilized servers to fewer machines, perhaps a single machine (server consolidation). Related benefits are savings on hardware, environmental costs, management, and administration of the server infrastructure. @ The need to run legacy applications is served well by virtual machines. A legacy application might simply not run on newer hardware and/or ‘operating systems. Even if it does, if may under-utilize the server, @ Virtual machines can be used to provide secure, isolated sandboxes for running untrusted applications. You could even create such an execution environment dynamically - on the fly - as you download something from the Internet and run it. + Virtual machines can be used to create operating systems, o execution environments with resource limits, and given the right schedulers, resource guarantees. @ Virtual machines can provide the illusion of hardware, or hardware configuration that you do not have (such as SCSI devices, multiple processors,) Virtualization can also be used to simulate networks of independent computers. «Virtual machines can be used to run multiple operating systems simultaneously: different versions, or even entirely different systems, which can be on hot standby. Some such systems may be hard or impossible to run on newer real hardware, @ Virtual machines allow for powerful debugging and performance monitoring. - Virtual machines can isolate what they run, so they provide fault and error containment. You can inject faults proactively into software to study its subsequent behavior. @ Virtual machines are great tools for research and academic experiments. Since they provide isolation, they are safer to work with. They encapsulate the entire state of a running system: you can save the state, examine it, modify it, reload it, and so on. The state also provides an abstraction of the workload being run @ Virtualization can enable existing operating systems to run on shared memory multiprocessors. @ briving out the cost of IT infrastructure through more efficient use of available resources simplifying the Infrastructure . 4.0 Classification of virtualiza' Here we discuss about different types of virtualization | Platform virtualization, which separates an operating system from the underlying platform resources o Full virtualization © Hardware-assisted virtualization 0 Partial virtualization © Para virtualization o Operating system-level virtualization o Hosted environment 2. Resource virtualization, the virtualization of specific system resources, such as storage volumes, name spaces, and network resources 2.1 Storage virtualization, the process of completely abstracting logical storage from physical storage 2.1. RAID - redundant array of independent disks 2.1.2 Disk partitioning 2.2 Network virtualization, creation of a virtualized network addressing space within or across network subnets 3. Computer clusters and grid computing, the combination of multiple discrete computers into larger meta computers A, 4. Application virtuali the hosting of individual applications on alien hardware/software 4.1. Portable applica n 4.2. Cross-platform virtualization 4.3. Emulation or simulation 5. Desktop virtualization, the remote manipulation of a computer desktop 4.1 Virtual Machine 4.1.1 Virtual Machine Concept Virtual machine (VM) is a software implementation of a machine (computer) that executes programs like a real machine. Fig(3) Connectix Virtual PC version 3 in Mac OS 9, running a Windows 95 A virtual machine was originally defined by Popek and Goldberg as "an eff isolated duplicate of a real machine". Virtual machines are separated into two major categories, based on their use and degree of correspondence to any real machine. A system virtual machine provides a complete system platform which supports the execution of a complete operating system (05). Process virtual machine is designed to run a single program, which means that it supports a single process. An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine it cannot break out of its virtual world. 4.1.1 System Virtual Machine System virtual machines (sometimes called hardware virtual machines) allow the sharing of the underlying physical machine resources between different virtual machines, each running its own operating system. The software layer providing the virtu bare hardware (Type 1 or native VM) or on top of an operating system (Type 2 or hosted VM). The main advantages of system VMS are: jon is called a virtual machine monitor or hypervisor. A hypervisor can run on + multiple OS environments can co-exist on the same computer, in strong isolation from each other ethe virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machine The guest OSS do not have to be all the same, making it possible to run different OSS on the same computer (e.g., Microsoft Windows and Linux, or older versions of an 5 in order to support software that has not yet been ported to the latest version). 4.1.1.2 Process Virtual Machine ‘A process VM, sometimes called an application virtual machine, runs as a normal application inside an OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a platform independent programming environment that abstracts away details of the underlying hardware or operating system, and allows a program to execute in ‘the same way on any platform. A process VM provides a high-level abstraction that of a high-level programming language (compared to the low-level ISA abstraction of the system VM). Process VMS are implemented using an interpreter; performance comparable to compiled programming languages is achieved by the use of just-intime compilation. This type of VM has become popular with the Java (JVM). And .NET Framework, which runs on a VM called the Common Language Runtime. 4.1.2 Techniques 4.1.2.1 Emulation of the underlying raw hardware (Native execution) Fig (4): VMware Workstation running Ubuntu, on Windows Vista This approach is described as full virtualization of the hardware, and can be implemented using a Type or Type 2 hypervisor. Each virtual machine can run any ‘operating system supported by the underlying hardware. Users can thus run two or more different "guest" operating systems simultaneously, in separate "private" virtual computers. Full virtualization is particularly helpful in operating system development, when experimental new code can be run at the same time as older, more stable, versions, each in a separate virtual machine. 4.1.2.2 Emulation of Non-Native System Virtual machines can also perform the role of an emulator, allowing software applications and operating systems written for another computer processor architecture to be run. Some virtual machines emulate hardware that only exists as a detailed specification. For example: The specification of the Java virtual machine. @ The Common Language Infrastructure virtual machine at the heart of the Microsoft .NET initiative. @ Open Firmware allows plug-in hardware to include boot-time diagnostics, configuration code, and device drivers that will run on any kind of CPU. This technique allows diverse computers to run any software written specification; only the virtual machine software itself must be written separately for each type of computer on which it runs. References buradkar, M. (2014). virtualization and Hypervisors. Nagpur: scirbd Portnoy, M. (2012). Virtualization Essential. newyork: john Wiley & sons,2012. sharma, s. (2011). Virtualization: A review and furthur direction. Vietualization, 4 https://doi.org/10.1016/8978-1-59749-305-5.00001-3,

You might also like