0% found this document useful (0 votes)
39 views

Implementation Levels of Virtualisation

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)
39 views

Implementation Levels of Virtualisation

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/ 21

IMPLEMENTATION LEVELS OF VIRTUALISATION

The virtualization software creates the abstraction


((is the process of taking away or removing
characteristics from something in order to reduce it
to a set of essential characteristics)) of VMs by
interposing a virtualization layer at various levels of
a computer system.
Common virtualization layers include:
1. the instruction set architecture (ISA) level,
2. hardware level,
3. operating system level,
4. library support level, and
5. application level
Virtualization Ranging from Hardware to Applications in Five
Abstraction Levels
- JVM: A Java virtual machine is an abstract computing
machine that enables a computer to run a Java program.
There are three notions of the JVM: specification,
implementation, and instance.
- .NET CLR: The Common Language Runtime, the virtual
machine component of Microsoft's .NET framework, manages
the execution of .NET programs.
- WINE: Wine (recursive backronym for Wine Is Not an
Emulator) is a free and open-source compatibility ..... product
that uses some Wine code for its DirectX handling. VirtualBox,
a virtual machine that uses some Wine code for its Direct3D
handling.
.
- WABI: Sun used Windows Application Binary Interface to make Solaris more
appealing to those needing Windows applications. The WABI software sits between
an application and the operating system, intercepts the applications Windows calls,
and translates them to "equivalent" Unix calls. On x86, the guest instructions were
run directly on the processor, while they were emulated and/or binary translated on
SPARC. WABI can also use an optional DOS emulator to run DOS applications.
- Lxrun is software for executing Linux a.out and ELF binaries (x86 only) on x86 Unix
systems such as SCO OpenServer, SCO UnixWare, and later, Solaris. This is achieved by
"remapping" Linux system calls on the fly. You need the Linux shared libraries that the
application requires, as well as the Linux dynamic loader. Lxrun is thus a system call
emulator. There are various caveats as to what kind of applications will not run, etc.
- MainWin: Microsoft had versions of Internet Explorer and Outlook Express for
Solaris (SPARC). This was achieved not by porting them to Solaris, but by using API
emulation. Mainsoft, the software company behind that effort, now has a product
called Visual MainWin that allows for applications developed on Windows using
Visual Studio to be run on Solaris, Linux
- vCuda: vCUDA is a general-purpose graphics processing unit
(GPGPU) computing solution for virtual machines (VMs).
- Jail: The FreeBSD jail mechanism is an implementation of
operating system-level virtualization that allows system
administrators to partition a FreeBSD-based computer system
into several independent mini-systems called jails.
- A Virtual Environment, put simply, is an isolated working copy
of Python which allows you to work on a specific project without
worry of affecting other projects It enables multiple side-by-side
installations of Python, one for each project.
-
Ensim VPS solution virtualizes a server's native OS so it can be partitioned into
isolated computing environments which operate independently of each other, just
like a dedicated server.
- Featherweight Virtual Machine (FVM) is an OS-level virtual machine for Windows
XP and Windows.
- VMware, Inc. is a subsidiary of Dell Technologies that provides cloud computing
and platform virtualization.
- Windows Virtual PC is a virtualization program for Microsoft Windows. In July
2006 Microsoft released the Windows version as a free product.
- The Denali project seeks to enable an array of new networking and distributed
middleware applications by designing and implementing lightweight protection
domains, focusing in particular on the use of lightweight virtual machines and
monitors. A virtual machine monitor (VMM) is a thin virtualization layer between
hardware and ``guest'' operating systems, enabling hosts to safely execute
untrusted applications and guest OS's inside a VM.
- Xen Project is a hypervisor using a microkernel design, providing services that allow
multiple computer operating systems to execute on the same computer hardware
concurrently. It was developed by the University of Cambridge and is now being
developed by the Linux Foundation with support from Intel.
- The L4 Runtime Environment (L4Re) provides a basic set of services and abstractions,
which are useful to implement and run user-level applications on top of the Fiasco.OC
microkernel.
- Plex86 is a very lightweight Virtual Machine (VM) for running Linux/x86.
- User-Mode Linux is a safe, secure way of running Linux versions and Linux processes.
Run buggy software, experiment with new Linux kernels or distributions, and poke around
in the internals of Linux, all without risking your main Linux setup.
- Bochs is a portable x86 PC emulation software package that emulates enough of the x86
CPU, related AT hardware, and BIOS to run Windows, Linux, *BSD, Minix, and other OS's,
all on your workstation.
- The Crusoe is a family of x86-compatible microprocessors developed by
Transmeta and introduced in 2000. Crusoe was notable for its method of
achieving x86 compatibility. Instead of the instruction set architecture being
implemented in hardware, or translated by specialized hardware, the Crusoe
runs a software abstraction layer, or a virtual machine, known as the Code
Morphing Software (CMS). The CMS translates machine code instructions
received from programs into native instructions for the microprocessor. In this
way, the Crusoe can emulate other instruction set architectures (ISAs).
- QEMU is a hosted virtual machine monitor: it emulates CPUs through dynamic
binary translation and provides a set of device models, enabling it to run a
variety of unmodified guest operating systems. It also can be used with KVM to
run virtual machines at near-native speed (requiring hardware virtualization
extensions on x86 machines). QEMU can also do CPU emulation for user-level
processes, allowing applications compiled for one architecture to run on another.
- Dynamo is an experimental web framework that runs on Elixir. It leverages the
power of the Erlang VM to build highly performant and concurrent web
applications. Dynamo's goals are performance, robustness and simplicity.
Million instructions per second (MIPS) is an approximate
measure of a computer's raw processing power.
All MIPS instructions are encoded in binary. All MIPS instructions are
32 bits long.
MIPS instructions are encoded in binary, as 32-bit instruction words,
called machine code.
The layout of an instruction is called the instruction format.
Target address fields need to be shifted left 2 bits to correctly represent
a valid instruction address (32-bits aligned).
Code interpretation means a formal statement
regarding the meaning or requirements of a
particular provision
How does code interpretation work?
An Interpreter directly executes instructions written in a
programming or scripting language without previously
converting them to an object code or machine code. Examples
of interpreted languages are Perl, Python and Matlab.
What is compile vs interpret code?
A compiled language is converted into machine code so that the
processor can execute it. An interpreted language is a language
in which the implementations execute instructions directly
without earlier compiling a program into machine language. The
compiled programs run faster than interpreted programs.
OS-level virtualization is a technology that partitions the operating
system to create multiple isolated Virtual Machines (VM). An OS-level VM
is a virtual execution environment that can be forked instantly from the
base operating environment.
What is virtualization in OS example?
Virtualization improves hardware resources used in your data center. For example, instead
of running one server on one computer system, you can create a virtual server pool on the
same computer system by using and returning servers to the pool as required.
Why docker is called OS-level virtualization?
Docker is a software platform that allows you to build, test, and deploy
applications quickly. Docker packages software into standardized units called
containers that have everything the software needs to run including libraries,
system tools, code, and runtime.
Docker can be considered an alternative to virtualization, as it allows applications and
services to run in isolated environments on a single host, similar to how virtualization allows
multiple virtual machines to run on a single physical server. Operating System Virtualization
uses to integrate server hardware by moving services on separate servers. It provides
security to the hardware resources which harm by distrusting users. OS Virtualization uses
for virtual hosting environment. It can separate several applications into containers.
It is also called OS-level virtualization is a type of virtualization
technology which work on OS layer. Here the kernel of an OS
allows more than one isolated user-space instances to exist.
Such instances are called containers/software containers or
virtualization engines. In other words, OS kernel will run a single
operating system & provide that operating system's functionality
to replicate on each of the isolated partitions.
Uses of OS Virtualization
•Used for virtual hosting environment.
•Used for securely allocation of finite hardware resources among
a large number of distrusting users.
•System administrator uses it to integrate server hardware by
moving services on separate hosts.
•To improvised security by separating several applications to
several containers.
•These forms of virtualization don't require hardware to work
efficiently.
How OS Virtualization Works
The steps for how these virtualization works are listed below:
•Connect to OS Virtualization Server
•Connect to virtual disk
•Then connect this virtual disk to the client
•OS is streamed to the client
•If further additional streaming is required, it is done
•TYPES:LINUX OS,WINDOWS OS
•VIRTUAL DISK OS
The client will be connected via the network to the virtual disk & will boot the OS installed
on virtual disk. Two types of virtual disks are there for implementation.
These are:
Private Virtual Disk: is used by one client only like that of a local hard disk. Users can save
information on the virtual disk based on the rights assigned. So as the client restart the
system, the settings are retained just like working with physical local hard disk.
Shared/Common Virtual Disk: It is used by multiple clients at the same time. The changes
are saved in a special cache & these caches gets cleaned as the user restarts or shutdowns
the system. In other words, when a client is booting up, it will use the default configuration
available on the virtual disk.
Advantages of OS Extension for Virtualization

1. VMs at OS level has minimum startup/shutdown costs

2. OS-level VM can easily synchronize with its environment

Disadvantage of OS Extension for Virtualization

•All VMs in the same OS container must have the same or similar guest
OS, which restrict application flexibility of different VMs on the same
physical machine.

01/12/2024 18
4.Library Support level:
• Virtualization with library interfaces is possible by controlling the
communication link between applications and the rest of a system through
API hooks.
• The software tool WINE has implemented this approach to support
Windows applications on top of UNIX hosts.
Advantage:
• It has very low implementation effort
Shortcoming & limitation:
• poor application flexibility and isolation

01/12/2024 19
5.User-Application Level
• Virtualization at the application level virtualizes an application as a VM. On a traditional OS, an
application often runs as a process.
• Therefore, application-level virtualization is also known as process-level virtualization.
• The most popular approach is to deploy high level language (HLL) VMs. In this scenario, the
virtualization layer sits as an application program on top of the operating system, and the layer exports
an abstraction of a VM that can run programs written and compiled to a particular abstract machine
definition.
• Other forms of application-level virtualization are known as application isolation, application
sandboxing, or application streaming.
Advantage:
• has the best application isolation
Shortcoming & limitation:
• low performance, low application flexibility and high implementation complexity.

01/12/2024 20
User-Application Level Virtualization

01/12/2024 21

You might also like