Tue Apr 24 16:43:52 CEST 2007
Virtual Machines can be categorized with respect to several issues.
Layer of virtual machine/real computer communication.
Completeness of the Virtualization.
"Invasivity" on the Host Computer.
License: GPL    Status: ProductionIt is a project that realizes a complete system virtualization through system trapping . It has been released as a set of patches for the linux kernel that defines a new virtual "um" hardware architecture. A kernel for the "um" architecture is just an executable for the host computer that include the I-O virtualization routines as well as the kernel itself. It runs at user-level. It does not require a specific kernel support in the host machine but there is patch named skas mode for the 2.4 version of Linux to increase U-ML security and performance (to reduce the number of threads and to keep the addressing space of the emulated kernel inaccessible by the emulated tasks). The support for skas mode should be included in vanilla Linux 2.6.
License: GPL    Status: ProductionIt is a complete system virtualization for an Apple Macintosh architecture for Linux/ppc. It is able to run Linux and MacOS 9 and X. It uses system trapping but requires a Kernel module as it relies on direct hardware access. It is very fast and effective.
License: GPL/LGPL (emulator) MIT/BSD (PC system emulator)    Status: Beta, rapidly converging to ProductionQuoting its author's web site: Qemu is a FAST! processor emulation using dynamic translation to achieve good emulation speed. Qemu is able to run just as a processor or as a Complete System Virtualizer. Running different executables it is possbile to run single executables compiled for different processor architectures in a linux environment or it is possible to start a virtual machine and boot an entire operating system. It runs on a number of different hardware architectures, it is currently able to run i386,ppc,arm and sparc executables and provides virtual machines emulating i386 and ppc based architectures. This project is very active: new ports and features are announced on daily base. It runs completely at user-level and virtualizes completely the processor architecture.
License: LGPL    Status: ProductionBochs is an historical virtual machine. It runs on several host architectures (supported OS: Linux, MacOS 9/X, Windows) where it is able to create complete system virtualization of an i386 architecture. It relies on standard emulation techniques thus it is quite slow when compared to modern virtual machines. It runs completely at user-level and virtualizes completely the processor architecture.
License: GPL    Status: BetaIt is conceptually similar to bochs but it implements a PPC architecture instead of an i386 PC. Thus it creates a complete system virtualized PPC box able to run several OSes including Linux and MacOX 9/X. It runs on several architectures but there are special performance optimizations tailored for i386 host machines. (The author says that it runs 40 times slower than the real host performance on a i386 and 500 times slower on other CPUs, but these absolute figures are not related to any well-known benchmark). For the color taxonomy it runs at user-level achieving a completely processor virtualization.
License: GPL    Status: BetaMPS and uMPS (micro MPS) have been designed for educational purposes. Like Qemu, Bochs and PearPC, MPS is a complete virtual system of an Mips based computer (user-level, complete processor virtualization). It is a workbench for computer science students to run their experimental operating systems in a real-world consistent virtual computer while stripping off unnecessary complexities. It is mentioned here as uMPS comes (soon) with a virtual ethernet interface that can join the Virtual square world.
License: GPL    Status: BetaView-OS: A Process with a View: it an operating system model where each process has its own view of the environment where it runs. This view can be shared among processes, if needed: it is possible to create a hierarchy of processes that share a common view. It is possible in this way to define networking, file system access, IPC (and potentially any system call) at process level. This model is modular and expandable. View-OS concepts can be implemented using partial virtual machines. UM-ViewOS is a publicly available implementation of View-OS concepts: it has been released on savannah.nongnu.org as GPLv2 free software. UM-ViewOS runs unmodified GNU-Linux executables, does not require any administration (root) permissions to run, runs on 2.6 Linux kernels without any need for specific patches or modules. UM-ViewOS implements View-OS as a User-Mode Partial Virtual Machine. UM-ViewOS includes also virtual networking (lwipv6), FUSE compatible virtual file system access (umfuse), FUSE/umfuse modules to mount ext2 and iso file systems. (former Ale4NET project has been included into the lwipv6 module for UM-ViewOS). This is a Partial Virtual Machine. implemented at User-level. using system trapping .
VirtualSquare is a KEAP Project
© 2004 Renzo Davoli. The Virtual Square logo is © 2004 by Sandro Pifferi (Thanks).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. This is a copy of the license