User:ScotXW/Virtualization

The current articles Virtualization and de:Virtualisierung (Informatik) are kaka, articles in ro and hu don't even exist... but the Wikipedia is full of shit about "cloud"... Following belongs into the Virtualization-article, also I created the Template:Virtualization.

Linux-Magazin 2015-11 pp24 contians an interresting article on Linux & containers by Martin Gerhard Loschwitz:
 * cgroups is a Linux kernel subsystem; it exposes an API to user-space; sind eine Kernel-Schnittstelle, über die sich Berechtigungen einzelner Prozesse einschränken lassen. Cgroups (Control Groups) hießen mal "Process Containers".
 * Docker ist LXC sehr ähnlich und baut ebenfalls auf Namespaces & Cgroups auf.
 * CoreOS hat Docker abandonded und entwickelt das "Rocket" Container-Format.
 * Namespaces schaffen virtuelle Netzwerkstacks oder PIDs und sind strickt von anderen Namespaces oder dem HptSystem getrennt.

Classification of virtualization
Virtualization can be subdivided on the basis of a couple of thingies:

Physicality

 * Physical virtualization
 * real hardware


 * Logical virtualization
 * virtualization is done by some software, with different levels of support by the CPU

Layer
Virtualization can be subdivided on the basis of the layer upon which the virtualization is taking place:
 * OS-level virtualization
 * a software called hypervisor virtualized the underlying hardware for multiple distinct kernels.
 * two types of hypervisor are distinguished: microkernelized and monolithic. A microkernelized hypervisor is stupendously called bare-metal hypervisor and hosted.


 * environment-level virtualization (container)
 * there is only one kernel running and this provides so called containers (note: in the Wikipedia this is wrongly called Operating system–level virtualization)
 * multiple applications can share a container


 * Application-level virtualization (sandbox)
 * there is only one environment running, but individual applications that are run virtualized cannot see each other
 * could be called sandboxes Sandbox (computer security) (article is that bad, this has to be rewritten)
 * in difference to containers, there is always one application per sandbox

Available hardware support
Virtualization can be subdivided on the basis of the level upon which the virtualization is taking place:
 * Hardware-assisted virtualization
 * the CPU needs to fully support the virtualization by specific commands implemented in the instruction set and in silicon


 * Software-based virtualization
 * the CPU needs only a slight support for the virtualization


 * Paravirtualization
 * the CPU need no support at all for the virtualization, but the hosted system (i.e. the kernel, if monolithic) device drivers need to be implemented in a way, that they (i.e. their system calls) can be virtualized