In the name of god
My name is : yashar esmaildokht
I am Gnu/Linux Sys/net/sec Admin & Oracle Dba
my tel : 09141100257
my resume (fa) :goo.gl/oUQopW
my nick name : royaflash
From Wikipedia, the free encyclopedia
Virtual memory, giving an application program the
impression that it has contiguous working memory,
isolating it from the underlying physical memory
● Memory virtualization, aggregating RAM resources
from networked systems into a single memory pool
Operating system-level virtualization, hosting of multiple virtualized
environments within a single OS instance
● Application virtualization, the hosting of individual applications in an
environment separated from the underlying OS
● Cross-platform virtualization, allowing software compiled for a specific CPU
and operating system to run unmodified on different CPUs and/or operating
● Virtual appliance, a virtual machine image designed to run on a virtualization
● Virtual machine (VM), a software (possibly hardware assisted)
implementation of a machine (computer) that executes programs like a real
Desktop virtualization, the remote
display, hosting or manipulation of a
graphical computer environment
● Virtual Desktop Infrastructure (VDI), a
specific concept of desktop
● Network virtualization, creation of a virtualized
network addressing space within or across network
● Virtual private network (VPN), a computer network in
which some of the links between nodes are carried by
open connections or virtual circuits in some larger
network(s), such as the Internet
● Vps , virtual private server
Kernel-based Virtual Machine (KVM) is a virtualization infrastructure for the Linux kernel
that turns it into a hypervisor. It was merged into the Linux kernel mainline in kernel
version 2.6.20, which was released on February 5, 2007. KVM requires a processor
with hardware virtualization extensions. KVM has also been ported to FreeBSD and
illumos in the form of loadable kernel modules.
KVM originally supported x86 processors and has been ported to S/390, PowerPC, and
IA-64. An ARM port was merged during the 3.9 kernel merge window.
A wide variety of guest operating systems work with KVM, including many flavours and
versions of Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS Research
Operating System and OS X. In addition, Android 2.2, GNU/Hurd (Debian K16), Minix
3.1.2a, Solaris 10 U3 and Darwin 8.0.1, together with other operating systems and some
newer versions of these listed, are known to work with certain limitations.
Paravirtualization support for certain devices is available for Linux, OpenBSD, FreeBSD,
NetBSD, Plan 9 and Windows guests using the VirtIO API. This supports a paravirtual
Ethernet card, a paravirtual disk I/O controller, a balloon device for adjusting guest
memory usage, and a VGA graphics interface using SPICE or VMware drivers.
QEMU (short for Quick Emulator) is a free and open-source
hosted hypervisor that performs hardware virtualization (not to
be confused with hardware-assisted virtualization).
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 together with KVM in
order 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.
QEMU can save and restore the state of the virtual machine with all programs running. Guest operating-
systems do not need patching in order to run inside QEMU.
● QEMU supports the emulation of various architectures, including:
● IA-32 (x86) PCs
● x86-64 PCs
● MIPS64 Release 6 and earlier variants
● Sun's SPARC sun4m
● Sun's SPARC sun4u
● ARM development boards (Integrator/CP and Versatile/PB)
● SH4 SHIX board
● PowerPC (PReP and Power Macintosh)
● ETRAX CRIS
● And ...
Supported disk image formats
QEMU supports the following disk image formats:
macOS Universal Disk Image Format (.dmg) – Read-only
Bochs – Read-only
Linux cloop – Read-only
Parallels disk image (.hdd, .hds) – Read-only
QEMU copy-on-write (.qcow2, .qed, .qcow, .cow)
VirtualBox Virtual Disk Image (.vdi)
Virtual Hard DiskVirtual PC (.vhd)
VMware Virtual Machine Disk (.vmdk)
Raw images (.img) that contain sector-by-sector contents of a disk
CD/DVD images (.iso) that contain sector-by-sector contents of an optical disk (e.g. booting live OSes)
VirtualBox, released in January 2007, uses some of QEMU's virtual hardware devices, and has a built-in
dynamic recompiler based on QEMU. As with KQEMU, VirtualBox runs nearly all guest code natively on the host
via the VMM (Virtual Machine Manager) and uses the recompiler only as a fallback mechanism - for example,
when guest code executes in real mode. In addition, VirtualBox does a lot of code analysis and patching
using a built-in disassembler in order to minimize recompilation. VirtualBox is free and open-source (available
under GPL), except for certain features.
● Xen, a virtual machine monitor, can run in HVM (hardware virtual machine) mode, using Intel VT-x or
AMD-V hardware x86 virtualization extensions and ARM Cortex-A7 and Cortex-A15 virtualization
extension. This means that instead of paravirtualized devices, a real set of virtual hardware is
exposed to the domU to use real device drivers to talk to.
● QEMU includes several components: CPU emulators, emulated devices, generic devices, machine
descriptions, user interface, and a debugger. The emulated devices and generic devices in QEMU make
up its device models for I/O virtualization. They comprise a PIIX3 IDE (with some rudimentary PIIX4
capabilities), Cirrus Logic or plain VGA emulated video, RTL8139 or E1000 network emulation, and
ACPI support. APIC support is provided by Xen.
● Xen-HVM has device emulation based on the QEMU project to provide I/O virtualization to the VMs.
Hardware is emulated via a QEMU "device model" daemon running as a backend in dom0. Unlike other
QEMU running modes (dynamic translation or KVM), virtual CPUs are completely managed to the
hypervisor, which takes care of stopping them while QEMU is emulating memory-mapped I/O accesses.
● KVM (Kernel-based Virtual Machine) is a FreeBSD and
Linux kernel module that allows a user space program
access to the hardware virtualization features of various
processors, with which QEMU is able to offer
virtualization for x86, PowerPC, and S/390 guests.
When the target architecture is the same as the host
architecture, QEMU can make use of KVM particular
features, such as acceleration.
libvirt is an open source API, daemon and
management tool for managing platform
virtualization. It can be used to manage KVM,
Xen, VMware ESX, QEMU and other
virtualization technologies. These APIs are
widely used in the orchestration layer of
hypervisors in the development of a cloud-
In computing, SPICE (the Simple Protocol for Independent
Computing Environments) is a remote-display system built
for virtual environments which allows users to view a
computing "desktop" environment - not only on its
computer-server machine, but also from anywhere on the
Internet - using a wide variety of machine architectures.
Qumranet originally developed SPICE using a closed-
source codebase in 2007. Red Hat, Inc acquired
Qumranet in 2008, and in December 2009 decided to
release the code under an open-source license and to
treat the protocol as an open standard.
The SPICE protocol originated to provide improved remote desktop capabilities in a fork of the KVM codebase.
The QEMU maintainers merged support for providing SPICE remote desktop capabilities for all QEMU virtual
machines in March 2010. The QEMU binary links to the spice-server library in order to provide this capability
and implements the QXL paravirtualized framebuffer device to enable the guest OS to take advantage of the
performance benefits the SPICE protocol offers. The guest OS may also use a regular VGA card, albeit with
degraded performance as compared to QXL.
The X.Org Server driver for the QXL framebuffer device includes a wrapper script which makes it possible
to launch an Xorg server whose display is exported via the SPICE protocol. This enables use of SPICE in a
remote desktop environment, without requiring QEMU/KVM virtualization.
The virt-viewer program uses the spice-gtk client library to connect to virtual machines using SPICE, as an
alternative to its previous support for VNC.
SPICE is integrated into oVirt private-cloud management software, allowing users to connect to virtual
machines through SPICE.