0% found this document useful (0 votes)
67 views14 pages

Virtual Ization

Virtualization involves inserting layers of software between computer hardware and operating systems to divide hardware resources for different applications. This allows multiple virtual machines to run on a single physical machine. There are different types of virtualization including full virtualization, para-virtualization, and hardware virtualization. Hypervisors abstract hardware resources to create and manage virtual machines. KVM and QEMU are commonly used together as hypervisors, with KVM utilizing hardware features and QEMU providing emulation and acceleration. Virtualization has applications in software development, supporting legacy systems, and network function virtualization.

Uploaded by

Renz lorezo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views14 pages

Virtual Ization

Virtualization involves inserting layers of software between computer hardware and operating systems to divide hardware resources for different applications. This allows multiple virtual machines to run on a single physical machine. There are different types of virtualization including full virtualization, para-virtualization, and hardware virtualization. Hypervisors abstract hardware resources to create and manage virtual machines. KVM and QEMU are commonly used together as hypervisors, with KVM utilizing hardware features and QEMU providing emulation and acceleration. Virtualization has applications in software development, supporting legacy systems, and network function virtualization.

Uploaded by

Renz lorezo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

DISTRIBUTED SYSTEM

VIRTUALIZATION

ESGUERRA, JAIR JULIEN VICTOR O.


LOREZO, LAWRENCE T.
SENICA, RAFFY DINO P.
WHAT IS VIRTUALIZATION?

• Putting layers of software between your computer’s hardware.


• Used to divide computer resources for different applications.
• The process to create a “box within a box”, and thus “a virtual machine inside a
physical machine”
• In computing, virtualization refers to:
 Creating a virtual “thing” rather than actual.
 This thing can range to many different topics.
 CPUs, Memory, Operating Systems, applications, peripheral devices, networks, storage, etc.
WHY WE NEED VIRTUALIZATION?

• Virtualization is a major driving force for modern technology, which to an extent indirectly
affects everyone.
• It allows us to tinker and explore problems easier, which results in better and efficient
solutions.
• The concept is applied for different goals:
 Servers and Networking
 Testing environments
 Isolation and Security
 Legacy Systems Support
 Cloud infrastructure
THE IDEA OF VIRTUALIZATION

• Suppose we have a single core CPU. We can run multiple threads/processes


on the same core.
• Each thread is running a set of instructions.
• Same illusion can be extended to other hardware resources (resource
virtualization).
WHAT DOES VIRTUALIZATION DO?

• Interface exchange that can happen in different levels of computer layers.


• ISA level: (1) general instructions (2) privileged instructions.
• System –call level (OS level)
• Library calls (API level)
• Quite helpful for heterogeneous platforms running different and possibly
independent applications.
• Run multiple instances on a single platform.
SUMMARY OF INTERFACES

• Applications can use library functions to reach out to system calls.


• System calls are used by libraries to reach out to the operating system.
• This way applications can use the privileged instructions that can only be called by the OS kernel.
• On the other hand, both applications and libraries can call general instructions without OS
interaction.
REALIZATION OF VIRTUALIZATION

• Virtualization can be realized in two different ways:


 A run time system that provides an abstract instruction set used by the upper layer
application. The run time environment interprets instructions (java runtime) or emulates
them.
 Virtual machine monitor to shield the entire hardware.
HYPERVISORS

• Another name for Virtual Machine Manager (VMM).


• Abstracting resources to hide the underlying hardware.
• Create/manage virtual machines.
• Two different types:
 Type I (bare metal or native) – hypervisor is directly installed on the hardware. Takes control of the hardware.
 Type II (hosted) – hardware has already an OS on it. Hypervisor is installed on the host OS.

• Type I requires a management console.


 Usually installed in a remote compute to configure the hypervisor.
 Responsible for dynamic allocation of OS instances between different hypervisors and protect them against failures.

• Type II requires no management console.


 It assigns resources to instances irreversibly.
 Instances use host’s network when connecting internet.
 Two different kernel running on the same hard. Bulky
TYPES OF VIRTUALIZATION

• Full Virtualization/Emulation
 guest OS is completely decoupled from the underlying hardware.
 Trying to replicate hardware behavior, entirely in software (e.g.: Real-time clock).
 Pros: Hardware independent, Cons: Extremely slow
• Para-virtualization
 guest OS is modified to enable communication with the hypervisor to improve performance and efficiency.
 Modify virtual machine software in order to be aware that it is running under a hypervisor (e.g.: storage device).
 Pros: Relatively fast, Cons: Need to modify guest hardware
• Hardware virtualization
 privileged and sensitive calls automatically trap to the hypervisor. No need for binary translation or para-virtualization.
 E.g.: CPU/memory. Hardware supports virtualization software to run natively guest instructions.
 Pros: Near-native performance, Cons: Relies on specific hardware
KVM, QEMU, LIBVIRT

• KVM (Kernel-based Virtual Machine) and QEMU (Quick Emulator) (Type-II) are both
hypervisors.
• They are used together (must-Type-1). QEMU is slower.
• KVM helps QEMU to utilize hardware virtualization features.
• KVM also adds acceleration feature.
• Libvirt is a virtualization management library.
• Libvirt comes with an API, a daemon and a command line tool.
EXAMPLES OF VIRTUALIZATION

• Software development
 Boot multiple instances of Oss, at the same time, on the same physical machine.
 Develop applications for multiple Oss without the need to test them on separate computers.
• Legacy software/hardware support
 Newer platforms do not always support old legacy software.
 Virtualization allows to use legacy software or even virtualize extinct platforms.
• Network Function Virtualization
 Network vendors require specialized hardware for specific network functions (routing, packet handling, load balancing, etc.)
 Instead virtualization allows to implement network functions as Virtual Machines, and deploy them easier and efficiently.
SOURCES

• https://www.youtube.com/watch?v=K81mg2HvtDI
• https://www.youtube.com/watch?v=XItj08D5KPk
• https://www.youtube.com/watch?v=WHIrGfNFwVo
THANK YOU ( ͡° ͜ʖ ͡°)

You might also like