Virtual Operating Systems

  • Virtual operating system according to computer science is a software implementation of a computer that operates programs like a real machine.
  • A virtual machine was initially considered by Popek and Goldberg as a well-organized, secluded replacement of a real machine.
  • Current usability includes virtual machines which possess no direct correspondence to any real hardware.

Types

  • Virtual machines are divided in two main categories, based on the usage and degree of correspondence to any real machine.
  • A system virtual machine offers total system podium which supports the implementation of a complete operating system.
  • A process virtual machine is created to run a single program.

Features

  • One of the vital features of a virtual operating system is that the software operating inside is limited to the resources and abstractions facilitated by the virtual machine as it cannot getaway of its virtual globe.
  • System virtual machines which are often termed as hardware virtual machines permit multiplexing the essential corporeal machine between different virtual machines as each running its own system of operation.
  • The software coating offering the virtualization is known as virtual machine screen or hypervisor.
  • A hypervisor can work on exposed hardware or on top of an operating system.

Advantages

  • Multiple Operating System surroundings can co-exist on the similar computer, in well-built separation from each other.
  • The virtual machine facilitates an instruction set architecture which is different from that of the real machine.
  • Multiple Virtual Machines each performing on their own operating system termed as guest operating system are often utilized in server consolidation.
  • The innovative motivation for virtual machines is to run multiple operating systems as it permits time-sharing to a single computer between several single-tasking operating systems.
  • Virtual machines possess other advantages for operating systems development that includes better clearing up access and quicker reboots.
  • Process Virtual machines is sometimes known as an application virtual machine, performs as a standard application inside an operating system and supports a single process.
  • It is produced when that process is started and damaged when it exits.
  • The function is to offer a podium independent programming environment that abstracts away particulars of the basic hardware or operating system, and permits a program to carry out in the similar method on any stage.
  • In some special case of process Virtual machines are systems that abstract over the communication mechanisms of a computer group.
  • They are created to relieve the task of programming parallel applications by allowing the programmer focus on algorithms provided by interconnect and the operating system.

Catalogs of hardware with virtual machine support

  • ARM TrustZone
  • AMD-V
  • Boston Circuits gCore with 16 ARC 750D cores and Time-machine hardware virtualization module.
  • IBM System/370, System/390, and zSeries mainframes
  • Intel VT
  • Free scale PowerPC MPC8572 and MPC8641D
  • Sun Microsystems Logical Domains

Listings of virtual machine software

  • Glulx - Glulx, Z-code
  • Process virtual machine software
  • EiffelStudio for the Eiffel programming language
  • Inferno - Limbo
  • Common Language Runtime like C#, Visual Basic .NET, J#, Managed C++
  • Forth virtual machine - Forth
  • Erlang programming language
  • Hec - Hasm Assembler
  • Low Level Virtual Machine (LLVM) - currently C, C++, Stacker
  • Java virtual machine - Java, Nice, NetREXX
  • Lua
  • MMIX - MMIXAL
  • Macromedia Flash Player - SWF
  • Neko virtual machine - currently Neko and haXe
  • O-code machine - BCPL
  • Parrot - Perl 6
  • p-code machine - Pascal
  • Perl virtual machine - Perl
  • YARV - Ruby
  • ScummVM - Scumm
  • Portable.NET - C#, Visual Basic .NET, J#, Managed C++
  • SECD machine - ISWIM, Lispkit Lisp
  • Smalltalk virtual machine - Smalltalk
  • Z-machine - Z-Code
  • Sed the stream-editor can also be seen as a VM with 2 storage spaces.
  • SQLite virtual machine - SQLite opcodes
  • SWEET16
  • Squeak virtual machine - Squeak
  • TrueType virtual machine - TrueType
  • VX32 virtual machine - application-level virtualization for native code
  • Valgrind - checking of memory accesses and leaks in x86/x86-64 code under Linux
  • Waba - Virtual machine for small devices, similar to Java
  • Virtual Processor (VP) from Tao Group (UK)
  • Zend Engine - PHP
  • Warren Abstract Machine - Prolog, CSC GraphTalk

Operating System level virtualization software

  • Virtuozzo
  • Solaris Containers
  • FreeVPS
  • OpenVZ
  • FreeBSD Jails
  • Linux-VServer

System virtual machine software

  • vThere (From Sentillion, Inc. [2])
  • Bochs, portable open source x86 and AMD64 PCs emulator
  • ATL (A MTL Virtual Machine)
  • CoLinux Open Source Linux inside Windows
  • FAUmachine
  • Integrity Workstation Green Hills Software
  • Denali, uses paravirtualization of x86 for running para-virtualized PC operating systems.
  • OKL4
  • Microsoft Virtual PC and Microsoft Virtual Server
  • LilyVM is a lightweight virtual machineAn introduction
  • Parallels Workstation, provides virtualization of x86 for running unmodified PC operating systems
  • X or higher
  • Parallels Desktop for Mac, provides virtualization of x86 for running virtual machines on Mac OS QEMU, is a simulator based on a virtual machine.
  • Simics
  • SheepShaver.
  • TRANGO real-time embedded hypervisor
  • SVISTA
  • VirtualBox
  • Virtual Iron (Virtual Iron 3.1)
  • User-mode Linux
  • KVM
  • VM from IBM
  • Xen
  • VMware (ESX Server, Fusion, Virtual Server, Workstation, Player and ACE)