FACTOID # 14: North Carolina has a larger Native American population than North Dakota, South Dakota and Montana combined.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Virtual machine

In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... In computing, virtualization is a broad term that refers to the abstraction of computer resources. ... In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ... The end user is a popular concept in software engineering, referring to an abstraction of the group of persons who will ultimately operate a piece of software (i. ...

Contents

Definitions

Specifically, the term virtual machine has several distinct meanings:


Hardware virtual machine

See also: Virtualization and Comparison of virtual machines

The original meaning of virtual machine, sometimes called a hardware virtual machine, is that of a number of discrete identical execution environments on a single computer, each of which runs an operating system (OS). This can allow applications written for one OS to be executed on a machine which runs a different OS, or provide execution "sandboxes" which provide a greater level of isolation between processes than is achieved when running multiple processes on the same instance of an OS. One use is to provide multiple users the illusion of having an entire computer, one that is their "private" machine, isolated from other users, all on a single physical machine. Another advantage is that booting and restarting a virtual machine can be much faster than with a physical machine, since it may be possible to skip tasks such as hardware initialization.[1] In computing, virtualization is a broad term that refers to the abstraction of computer resources. ... The table below compares basic information about virtual machine packages. ... It has been suggested that Maintenance OS be merged into this article or section. ... A sandbox is a testing (or virtual) environment that isolates untested code changes and outright experimentation from the production environment or repository, in the context of software development including web development and revision control, and by extension in web-based editing environments including wikis. ... In computing, booting (booting up) is a bootstrapping process that starts operating systems when the user turns on a computer system. ...


Such software is now often referred to with the terms virtualization and virtual servers. The host software which provides this capability is often referred to as a virtual machine monitor or hypervisor. In computing, virtualization is a broad term that refers to the abstraction of computer resources. ... A virtual private server (also referred to as virtual dedicated server or virtual server, and abbreviated VPS or VDS) is a method of partitioning one physical server computer into multiple servers that each has the appearance and capabilities of running on its own dedicated machine. ... In computing, a hypervisor (also: virtual machine monitor) is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. ...


Software virtualization can be done in three major ways:

  • Emulation, full system simulation, or "full virtualization with dynamic recompilation" — the virtual machine simulates the complete hardware, allowing an unmodified OS for a completely different CPU to be run.
  • Paravirtualization — the virtual machine does not simulate hardware but instead offers a special API that requires OS modifications. An example of this is XenSource's XenEnterprise (www.xensource.com)
  • Native virtualization and "full virtualization" — the virtual machine only partially simulates enough hardware to allow an unmodified OS to be run in isolation, but the guest OS must be designed for the same type of CPU. The term native virtualization is also sometimes used to designate that hardware assistance through Virtualization Technology is used.

This article is about emulation in computer science. ... A full-system simulator is a computer program that simulates computer systems at such a level of detail that complete software stacks from real systems can run on the simulator without any modification. ... In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... x86 virtualization is the method by which the x86 processor architecture is virtualized. ...

Application virtual machine

Another meaning of virtual machine is a piece of computer software that isolates the application being used by the user from the computer. Because versions of the virtual machine are written for various computer platforms, any application written for the virtual machine can be operated on any of the platforms, instead of having to produce separate versions of the application for each computer and operating system. The application is run on the computer using an interpreter or Just In Time compilation. One of the best known examples of an application virtual machine is Sun Microsystem's Java Virtual Machine. This article does not cite any references or sources. ... The NASA Columbia Supercomputer. ... In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ... An interpreter is a computer program that executes other programs. ... See also Just in time for the business technique In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of interpreted programs. ... Sun Microsystems (Sun Microsystems, Inc. ... A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. ...

See also: Comparison of Application Virtual Machines.

This comparison of Application Virtual Machines lists some of the common software virtual machines that implement the concept of Application Virtualization, typically for the purpose allowing application binaries to be portably run on many different computer architectures and operating systems. ...

Virtual environment

A virtual environment (otherwise referred to as Virtual private server) is another kind of a virtual machine. In fact, it is a virtualized environment for running user-level programs (i.e. not the operating system kernel and drivers, but applications). Virtual environments are created using the software implementing operating system-level virtualization approach, such as Virtuozzo, FreeBSD Jails, Linux-VServer, Solaris Containers, chroot jail and OpenVZ. A virtual private server (also referred to as virtual dedicated server or virtual server, and abbreviated VPS or VDS) is a method of partitioning one physical server computer into multiple servers that each has the appearance and capabilities of running on its own dedicated machine. ... In computer science, the kernel is the fundamental part of an operating system. ... Operating System Virtualization is a server virtualization technology which virtualizes servers on an operating system (kernel) layer. ... Virtuozzo is a proprietary operating system virtualization product produced by SWsoft, Inc. ... // The FreeBSD jail mechanism is an early implementation of operating system-level virtualization that allows administrators to partition a FreeBSD-based computer system into several independent mini-systems called jails. ... Linux-VServer is a virtual private server implementation done by adding operating system-level virtualization capabilities to the Linux kernel. ... Solaris Containers (including Solaris Zones) is a virtualization feature first available with Solaris 10. ... A chroot jail is a sandbox environment on a UNIX system, created using the chroot command. ... OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system. ...


Machine aggregation

A less common use of the term is to refer to a computer cluster consisting of many computers that have been aggregated together as a larger and more powerful "virtual" machine. In this case, the software allows a single environment to be created spanning multiple computers, so that the end user appears to be using only one computer rather than several. An example of a Computer cluster A computer cluster is a group of tightly coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer. ...


PVM (Parallel Virtual Machine)and MPI (Message Passing Interface) are two common software packages that permit a heterogeneous collection of networked Unix and/or Windows computers to be used as a single, large, parallel computer. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers than with a traditional supercomputer. The Parallel Virtual Machine (PVM) is a software tool for parallel networking of computers. ... The Message Passing Interface (MPI) is a computer communications protocol. ...


The Plan9 Operating System from Bell Labs uses this approach. This page is about the operating system; for the science fiction film, see Plan 9 from Outer Space. ...


Boston Circuits had released the gCore (grid-on-chip) Central Processing Unit (CPU) with 16 ARC 750D cores and a Time-machine hardware module to provide a virtual machine that uses this approach. ARC International plc is a company that designs computer processors. ...


Techniques

Emulation of the underlying raw hardware (native execution)

This approach is described as full virtualization of the hardware, and can be implemented using a Type 1 or Type 2 hypervisor. (A Type 1 hypervisor runs directly on the hardware; a Type 2 hypervisor runs on another operating system, such as Linux.) Each virtual machine can run any operating system supported by the underlying hardware. Users can thus run two or more different "guest" operating systems simultaneously, in separate "private" virtual computers. Note: The concept of full virtualization is well established in the literature, but not always using this specific term. ... In computing, a hypervisor (also: virtual machine monitor) is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ...


The pioneer system using this concept was IBM's CP-40, the first (1967) version of IBM's CP/CMS (1967-1972) and the precursor to IBM's VM family (1972-present). With the VM architecture, most users run a relatively simple interactive computing single-user operating system, CMS, as a "guest" on top of the VM control program (VM-CP). This approach kept the CMS design simple, as if it were running alone; the control program quietly provides multitasking and resource management services "behind the scenes". In addition to CMS, VM users can run any of the other IBM operating systems, such as MVS or z/OS. z/VM is the current version of VM, and is used to support hundreds or thousands of virtual machines on a given mainframe. Some installations use Linux for zSeries to run Web servers, where Linux runs as the operating system within many virtual machines. [Note: This and several related articles are still evolving. ... VM/CMS (Virtual Machine/Conversational Monitor System, originally called CP/CMS when it first appeared) is an IBM system used on System/360, System/370, System/390 and zSeries IBM mainframes. ... VM is an early and influential virtual machine operating system from IBM, apparently the first true virtual machine system. ... In computer science, interactive computing refers to software which accepts input from humans -- for example, data or commands. ... The Conversational Monitor System (CMS) is a relatively simple interactive computing single-user operating system which was for many years IBMs principal time-sharing product. ... VM-CP was the official name of the control program portion of VM/370, a re-implementation of CP/CMS for the IBM System/370. ... MVS (Multiple Virtual Storage) was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. ... z/OS Welcome Screen seen through a terminal emulator The title of this article begins with a capital letter due to technical limitations. ... VM is an early and influential virtual machine operating system from IBM, apparently the first true virtual machine system. ... Linux on zSeries is the preferred term for the Linux operating system running on IBM mainframes, especially zSeries servers. ... The inside/front of a Dell PowerEdge web server The term Web server can mean one of two things: A computer program that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ...


Full virtualization is particularly helpful in operating system development, when experimental new code can be run at the same time as older, more stable, versions, each in separate virtual machines. (The process can even be recursive: IBM debugged new versions of its virtual machine operating system, VM, in a virtual machine running under an older version of VM, and even used this technique to simulate new hardware.[1]) A visual form of recursion known as the Droste effect. ... IBM redirects here. ... VM is an early and influential virtual machine operating system from IBM, apparently the first true virtual machine system. ...


The x86 processor architecture as used in modern PCs does not actually meet the Popek and Goldberg virtualization requirements. Notably, there is no execution mode where all sensitive machine instructions always trap, which would allow per-instruction virtualization. x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ... To a large extent, the design of a CPU, or central processing unit, is the design of its control unit. ... The Popek and Goldberg virtualization requirements are a set of sufficient conditions for a computer architecture to efficiently support system virtualization. ...


Despite these limitations, several software packages have managed to provide virtualization on the x86 architecture, even though dynamic recompilation of privileged code, as first implemented by VMware, incurs some performance overhead as compared to a VM running on a natively virtualizable architecture such as the IBM System/370 or Motorola MC68020. By now, several other software packages such as Virtual PC, VirtualBox, Parallels Workstation and Virtual Iron manage to implement virtualization on x86 hardware. x86 virtualization is the method by which x86-based guest operating systems are run under another host x86 operating system, with little or no modification of the guest OS. The x86 processor architecture did not originally meet the Popek and Goldberg virtualization requirements. ... In computer science, dynamic recompilation (sometimes abbreviated to dynarec) is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. ... VMware Inc. ... Motorola 68020 The Motorola 68020 is a microprocessor from Motorola. ... Virtual PC is a virtualization suite for Apple Mac OS X and Microsoft Windows operating systems, originally created by Connectix, subsequently acquired by Microsoft. ... VirtualBox by InnoTek is an x86 virtualizer for Windows and Linux 32-bit hosts supporting Windows, Linux 2. ... This article does not cite any references or sources. ... Virtual Iron Software, located in Lowell, Massachusetts, provides software for virtualization and management of a virtual infrastructure. ...


On the other hand, plex86 can run only Linux under Linux using a specific patched kernel. It does not emulate a processor, but uses bochs for emulation of motherboard devices. Plex86 is a project to create a virtual machine for the x86 architecture that runs Linux operating system. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... Bochs for Windows displaying HAL91 (Linux) Bochs is a portable open source x86 and AMD64 PCs emulator mostly written in C++ and distributed under GNU Lesser General Public License. ...


Intel and AMD have introduced features to their x86 processors to enable virtualization in hardware. Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is an American multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ... Advanced Micro Devices, Inc. ...


Emulation of a non-native system

Virtual machines can also perform the role of an emulator, allowing software applications and operating systems written for another computer processor architecture to be run. DosBox emulates the familiar command line interface of DOS. An emulator duplicates (provide an emulation of) the functions of one system with a different system, so that the second system behaves like (and appears to be) the first system. ... In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... A CPU The processor sub-system of a data processing system processes received information after it has been encoded into data by the input sub-system. ...


Some virtual machines emulate hardware that only exists as a detailed specification. For example:

  • One of the first was the p-code machine specification, which allowed programmers to write Pascal programs that would run on any computer running virtual machine software that correctly implemented the specification.
  • The specification of the Java virtual machine.
  • The Common Language Infrastructure virtual machine at the heart of the Microsoft .NET initiative.
  • Open Firmware allows plug-in hardware to include boot-time diagnostics, configuration code, and device drivers that will run on any kind of CPU.

This technique allows diverse computers to run any software written to that specification; only the virtual machine software itself must be written separately for each type of computer on which it runs. In computer programming, a P-code machine or pseudo-code machine is a specification of a cpu whose instructions are expected to be executed in software rather than in hardware (ie, interpreted). ... Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. ... Visual overview of the Common Language Infrastructure (CLI) The Common Language Infrastructure (CLI) is an open specification developed by Microsoft that describes the executable code and runtime environment that form the core of the Microsoft . ... The Microsoft . ... Open Firmware (also, OpenBoot) is a hardware-independent firmware (computer software which loads the operating system), developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers, Sun Microsystems SPARC based workstations and servers, IBM POWER systems, Pegasos systems, and the laptop designed by...


Operating system-level virtualization

Operating System-level Virtualization is a server virtualization technology which virtualizes servers on an operating system (kernel) layer. It can be thought of as partitioning: a single physical server is sliced into multiple small partitions (otherwise called virtual environments (VE), virtual private servers (VPS), guests, zones etc); each such partition looks and feels like a real server, from the point of view of its users. In computing, virtualization is a broad term that refers to the abstraction of computer resources. ... This article does not cite any references or sources. ... It has been suggested that Maintenance OS be merged into this article or section. ... A virtual private server (also referred to as virtual dedicated server or virtual server, and abbreviated VPS or VDS) is a method of partitioning one physical server computer into multiple servers that each has the appearance and capabilities of running on its own dedicated machine. ...


The operating system level architecture has low overhead that helps to maximize efficient use of server resources. The virtualization introduces only a negligible overhead and allows running hundreds of virtual private servers on a single physical server. In contrast, approaches such as virtualisation (like VMware) and paravirtualization (like Xen or UML) cannot achieve such level of density, due to overhead of running multiple kernels. From the other side, operating system-level virtualization does not allow running different operating systems (i.e. different kernels), although different libraries, distributions etc. are possible. A virtual private server (also referred to as virtual dedicated server or virtual server, and abbreviated VPS or VDS) is a method of partitioning one physical server computer into multiple servers that each has the appearance and capabilities of running on its own dedicated machine. ... In computing, virtualization is the process of presenting a logical grouping or subset of computing resources so that they can be accessed in ways that give benefits over the original configuration. ... VMware Inc. ... In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. ... Xen is a free virtual machine monitor for IA-32, x86-64, IA-64 and PowerPC architectures. ... User-mode Linux (UML) allows multiple virtual Linux systems (known as guests) to run as an application within a normal Linux system (known as the host). ...

Main article: operating system-level virtualization

Operating System Virtualization is a server virtualization technology which virtualizes servers on an operating system (kernel) layer. ...

List of hardware with virtual machine support

See also: X86 virtualization#Hardware support in x86 processors

Advanced Micro Devices, Inc. ... Virtualization Technology is the name of the mutually incompatible virtualization technologies from Intel and AMD, previously known by their respective codenames Vanderpool and Pacifica. They allow a single machine to run multiple operating systems at once without incurring significant emulation costs. ... ARC International plc is a company that designs computer processors. ... American corporation Freescale Semiconductor, Inc. ... PowerPC is a RISC microprocessor architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... IBM redirects here. ... IBM logo The IBM System/370 (often: S/370) was a model range of IBM mainframes announced on June 30, 1970 as the successors to the System/360 family. ... The title given to this article is incorrect due to technical limitations. ... Since December, 2001, IBM designates all its mainframes with the name eServer zSeries, with the e depicted in IBMs well-known red trademarked symbol. ... Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is an American multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ... Virtualization Technology allows a single machine to run multiple operating systems at once. ... The Sun (Latin: Sol) is the star at the center of the Solar System. ... Sun Microsystems Logical Domains (LDoms) technology offers a virtualized computing environment abstracted from all physical devices. ... Sun UltraSPARC II Microprocessor Sun UltraSPARC T1 (Niagara 8 Core) SPARC (Scalable Processor Architecture) is a RISC microprocessor instruction set architecture originally designed in 1985 by Sun Microsystems. ... x86 virtualization is the method by which x86-based guest operating systems are run under another host x86 operating system, with little or no modification of the guest OS. The x86 processor architecture did not originally meet the Popek and Goldberg virtualization requirements. ...

List of virtual machine software

Application virtual machine software
Hardware virtual machine software
OS-level virtualization software

The Common Language Runtime (CLR) is the virtual machine component of Microsofts . ... The title given to this article is incorrect due to technical limitations. ... Visual Basic . ... The J# (pronounced J-sharp) programming language is a transitional language for programmers of Suns Java and Microsofts J++ languages, so they may use their existing knowledge, and applications on Microsofts . ... It has been suggested that this article or section be merged with Managed C Plus Plus. ... EiffelStudio is a development environment for the Eiffel programming language developed and distributed by Eiffel Software. ... Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and programmer productivity. ... Erlang is a general-purpose concurrent programming language and runtime system. ... For multi-threaded programming, see Thread (computer science) In computer science, the term threaded code refers to an implementation technique for programming languages that produces very compact code at the expense of some execution speed. ... Forth is a programming language and programming environment, initially developed by Charles H. Moore at the US National Radio Astronomy Observatory in the early 1970s. ... Glulx is a 32-bit portable virtual machine intended for writing and playing interactive fiction. ... Glulx is a 32-bit portable virtual machine intended for writing and playing interactive fiction. ... The Z machine at Sandia National Laboratory. ... Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ... Inferno is an operating system for creating and supporting distributed services. ... Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system. ... A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. ... Java is a programming language originally developed by Sun Microsystems and released in 1995. ... Nice is an advanced object-oriented programming language. ... REXX (REstructured eXtended eXecutor) is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read. ... Low Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and idle-time optimization of programs from arbitrary programming languages. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose, programming language with high-level and low-level capabilities. ... The Lua (pronounced LOO-ah, or in IPA) programming language is a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal. ... The current version of the article or section reads like an advertisement. ... SWF is a proprietary vector graphics file format produced by the Flash software from Adobe (formerly Macromedia). ... MMIX is a 64-bit RISC virtual machine designed by Donald Knuth, with significant contributions by John Hennessy (who designed the MIPS chip) and Dick Sites (who was the architect of the Alpha chip). ... MMIX is a 64-bit RISC virtual machine designed by Donald Knuth, with significant contributions by John Hennessy (who designed the MIPS chip) and Dick Sites (who was the architect of the Alpha chip). ... haXe is a general-purpose, high-level, reflective, object oriented programming language developed by Nicolas Cannasse. ... The O-code machine is a virtual machine that was developed by Martin Richards in the late 1960s to give machine independence to BCPL, the low-level forerunner to C and C++. The concept behind the O-Code machine was to create O-code output (O stands for Object) through... BCPL (Basic Combined Programming Language) is a computer programming language that was designed by Martin Richards of the University of Cambridge in 1966; it was originally intended for use in writing compilers for other languages. ... In computer programming, a P-code machine or pseudo-code machine is a specification of a cpu whose instructions are expected to be executed in software rather than in hardware (ie, interpreted). ... Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... Parrot is a register-based virtual machine being developed using the C programming language and intended to run dynamic languages efficiently. ... Perl 6 is a planned major revision to the Perl programming language. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... DotGNU Portable . ... The title given to this article is incorrect due to technical limitations. ... Visual Basic . ... The J# (pronounced J-sharp) programming language is a transitional language for programmers of Suns Java and Microsofts J++ languages, so they may use their existing knowledge, and applications on Microsofts . ... It has been suggested that this article or section be merged with Managed C Plus Plus. ... YARV (Yet Another Ruby VM) is the new bytecode interpreter that is being developed for the Ruby programming language by Koichi Sasada. ... Ruby is a reflective, dynamic, object-oriented programming language. ... ScummVM is a multi-platform stack-based virtual machine which was originally made to allow one to play LucasArts adventure games that use the SCUMM system on platforms other than those for which they were originally released. ... SCUMM stands for Script Creation Utility for Maniac Mansion and is a scripting language developed at LucasArts (known at the time as Lucasfilm Games) to ease development of the graphical adventure game Maniac Mansion. ... The SECD machine is a highly influential virtual machine intended as a target for functional programming language compilers. ... ISWIM is a programming language devised by Peter J. Landin and first described in his article, The next 700 programming languages, published in the CACM in 1966. ... Lispkit Lisp is a strictly functional subset of Lisp developed as a testbed for functional programming concepts. ... The correct title of this article is . ... For other uses, see Small talk. ... For other uses, see Small talk. ... SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ... SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ... The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80, by Smalltalks originators during their time at Apple Computer and later, at Walt Disney Imagineering, where it was intended for use in internal Disney projects such as a Mickey Mouse PDA. It is object-oriented, and... The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80, by Smalltalks originators during their time at Apple Computer and later, at Walt Disney Imagineering, where it was intended for use in internal Disney projects such as a Mickey Mouse PDA. It is object-oriented, and... SWEET16 is an interpreted language invented by Steve Wozniak and implemented as part of the Integer BASIC ROM in the Apple II computer. ... TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobes Type 1 fonts used in PostScript. ... TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobes Type 1 fonts used in PostScript. ... Valgrind is a free programming tool for memory debugging, memory leak detection, and profiling. ... x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ... The AMD64 or x86-64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... The VX32 virtual extension environment is an application-level virtual machine implemented as an ordinary user-mode library and designed to run native x86 code. ... Tao Virtual Processor (VP) is a virtual machine from Tao Group. ... // Tao Group is a software company headquartered in Reading, Berkshire, UK. Branch offices of Tao Group are located in Japan and USA with resellers in Japan, South Korea and Taiwan. ... In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set [War83]. This design became known as the Warren Abstract Machine (WAM) and has become the de facto standard target for Prolog compilers. ... Prolog is a logic programming language. ... The Z machine at Sandia National Laboratory. ... The Z machine at Sandia National Laboratory. ... The Zend Engine is an open source scripting engine (a Virtual Machine), commonly known for the important role it plays in the web automation language PHP. It was originally developed by Andi Gutmans and Zeev Suraski while they were students at the Technion - Israel Institute of Technology. ... PHP is a reflective programming language originally designed for producing dynamic web pages. ... ATL is a QVT model tranformation language developed at INRIA. It can be used to do Syntactic or Semantic translation. ... // The notion of Model transformation is of central importance to Information Technology. ... Bochs for Windows displaying HAL91 (Linux) Bochs is a portable open source x86 and AMD64 PCs emulator mostly written in C++ and distributed under GNU Lesser General Public License. ... Cooperative Linux, or coLinux for short, is a piece of software that enables the Linux kernel to run under Microsoft Windows without significant runtime overhead. ... In computing, Denali is an operating system, according to [1], an IA-32 virtual machine monitor, that allows for untrusted services to be run in isolated (protected) domains. ... FAUmachine is an open source virtual machine which emulates a PC. Currently it only supports Linux, Dos, OpenBSD on IA-32 hardware, but it is being ported to other operating systems and architectures. ... Virtual PC is an emulation suite for Apple Mac OS X, and a virtualization suite for Microsoft Windows operating systems. ... Microsoft Virtual Server is a virtualization solution that facilitates the creation of virtual machines on the Windows XP and Windows Server 2003 operating systems. ... This article does not cite any references or sources. ... Parallels Desktop for Mac is a software product by Parallels, Inc. ... It has been suggested that Qemu-Launcher be merged into this article or section. ... Simics is a full-system simulator from Virtutech capable of running unchanged production binaries of the target hardware at high-performance speeds. ... SVISTA - Serenity Virtual Station is one of the commercial software products promoted by Serinity Systems International. ... twoOStwo is one of the commercial software products developed by Parallels Software Studio. ... User-mode Linux (UML) allows multiple virtual Linux systems (known as guests) to run as an application within a normal Linux system (known as the host). ... Virtual Iron Software, located in Lowell, Massachusetts, provides software for virtualization and management of a virtual infrastructure. ... VM is an early and influential virtual machine operating system from IBM, apparently the first true virtual machine system. ... International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ... VMware Inc. ... Xen is a free virtual machine monitor for IA-32, x86-64, IA-64 and PowerPC architectures. ... KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware. ... VirtualBox by InnoTek is an x86 virtualizer for Windows and Linux 32-bit hosts supporting Windows, Linux 2. ... OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system. ... Virtuozzo is a proprietary operating system virtualization product produced by SWsoft, Inc. ... FreeVPS is a GPL-licensed virtualization patch for the Linux kernel developed by Positive Software Corporation. ... Linux-VServer is a virtual private server implementation done by adding operating system-level virtualization capabilities to the Linux kernel. ... // The FreeBSD jail mechanism is an early implementation of operating system-level virtualization that allows administrators to partition a FreeBSD-based computer system into several independent mini-systems called jails. ... Solaris Containers (including Solaris Zones) is a virtualization feature first available with Solaris 10. ...

Extended descriptions of selected virtualization software

The following software products are able to virtualize the hardware so that several operating systems can share it.

  • Adeos is a Hardware Abstraction Layer that can be loaded as a Kernel Module in Linux. It allows the loading of a real-time kernel as a module, at the same time as Linux but with higher priority.
  • Denali uses paravirtualisation to provide high-performance virtual machines on x86 computers. Denali's virtual machines support specialised minimal OSs for Internet services. The system can scale to thousands of virtual machines. Denali does not preserve the application binary interface (ABI), and so applications must be recompiled to run within a library operating system; in this sense it is similar to the Exokernel.
  • OKL4 uses the open-source L4 microkernel as a hypervisor to provide a high-performance virtualization solution for embedded systems
  • OpenVZ - Operating System-level server virtualization solution, built on Linux.
  • Parallels provides virtualization of x86 for running unmodified PC operating systems. It also uses a lightweight hypervisor technology in order to improve security and to increase the efficiency. Parallels has become popular for its ability to run Windows as a guest under Mac OS X on the Apple-Intel architecture.
  • QEMU is a simulator based on a virtual machine, which gives it the ability to emulate a variety of guest CPU architectures on many different host platforms.
  • Virtual Iron provides virtual machines for x86 that run unmodified operating systems, such as Windows, RedHat and Suse. Virtual Iron open source virtualization technology implements native virtualization, which delivers near-native performance for x86 operating systems.
  • Virtuozzo replaces the hardware abstraction layer with a modified version enabling it to run with better performance of the OS, but forces all the VMs on a hardware box to all run the same OS, with some flexibility to support various Linux distributions on the same server. Currently they have a version for Windows 2003 and for Linux. OpenVZ is a related open-source project providing similar functionality for Linux.
  • VMware provides virtual machines for x86 that can run unmodified PC operating systems. The technology involved in doing this is complex and also incurs (sometimes significant) performance overheads with hosted VMware products (VM Server and Workstation). ESX server provides near-native performance and a fully virtualized option (along with para-virtualization of some hardware components). Xen trades running of existing operating systems for running modified (paravirtualized) operating systems with improved performance. Virtual Iron provides full OS compatibility for existing or new OSes with near-native performance without the perfrormance trade-offs between paravirualization and binary translation.
  • Xen Virtualization system whose motivation differs from that of Denali in that it is intended to run a moderate number of full-featured operating systems, rather than a large number of specialised, lightweight ones.
  • KVM is a Linux kernel module that enables a modified QEMU program to use hardware virtualization.

Adeos stands for Adaptive Domain Environment for Operating Systems. ... A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. ... Linux Loadable Kernel Modules, or LKM, are object files that contain code to extend the running kernel, or so-called base kernel. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... In computing, Denali is an operating system, according to [1], an IA-32 virtual machine monitor, that allows for untrusted services to be run in isolated (protected) domains. ... In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. ... Graphical overview of Exokernel Exokernel is an operating system kernel developed by the MIT Parallel and Distributed Operating Systems group, and also a class of similar operating systems. ... L4 is a family of second-generation microkernels based on the original designs and implementations by Jochen Liedtke in highly tuned Intel i386-specific assembly language code. ... OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system. ... The neutrality of this article is disputed. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ... To distinguish their computers from other PC makers, Apple creates their own Intel chip product badges, rather than use the ones created by Intel. ... It has been suggested that Qemu-Launcher be merged into this article or section. ... Virtual Iron Software, located in Lowell, Massachusetts, provides software for virtualization and management of a virtual infrastructure. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... Virtuozzo is a proprietary operating system virtualization product produced by SWsoft, Inc. ... OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system. ... VMware Inc. ... Xen is a free virtual machine monitor for IA-32, x86-64, IA-64 and PowerPC architectures. ... KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware. ... The Linux kernel is a Unix-like operating system kernel. ...

Books

  • Jim, Jr. Smith, Ravi Nair, James E. Smith , Virtual Machines: Versatile Platforms For Systems And Processes, Publisher Morgan Kaufmann Publishers, May 2005, ISBN 1-55860-910-5, 656 pages

References

  1. ^ See History of CP/CMS for IBM's use of virtual machines for operating system development and simulation of new hardware

This lengthy article explores the History of CP/CMS – the historical context in which this important IBM time-sharing operating system was built. ...

See also

The table below compares basic information about virtual machine packages. ... This comparison of Application Virtual Machines lists some of the common software virtual machines that implement the concept of Application Virtualization, typically for the purpose allowing application binaries to be portably run on many different computer architectures and operating systems. ... A virtual appliance is a minimalist virtual machine image designed to run under VMware, Xen, Microsoft Virtual PC, QEMU, Usermode Linux, CoLinux or other PC virtualization technology, providing network applications like firewalls or webservers. ... RAM (Random Access Memory) Look up computing in Wiktionary, the free dictionary. ... International Computers Ltd, or ICL, was a large British computer hardware company that operated from 1968 until 2002, when it was renamed Fujitsu Services Limited after its parent company, Fujitsu. ... VME (Virtual Machine Environment) is a mainframe operating system developed by the UK company International Computers Ltd (ICL). ... Gerrit Anne Blaauw (male, b. ... Low Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and idle-time optimization of programs from arbitrary programming languages. ... The University of Illinois at Urbana-Champaign (UIUC), is the largest campus in the University of Illinois system. ... A diagram of the operation of a typical multi-language, multi-target compiler. ... In computer science, the term threaded code refers to an implementation technique for programming languages that produces very compact code. ... A virtual keyboard is a feature of a computer program or a program in and of itself that acts as a virtual extension of a controller, often with fewer buttons than a keyboard would have. ...

External links


  Results from FactBites:
 
The Java Virtual Machine Specification (166 words)
Virtual Machine Specification, Second Edition is now available.
In The Java Virtual Machine Specification, Second Edition, Sun's designers of the Java virtual machine provide comprehensive coverage of the Java virtual machine class file format and instruction set.
In addition, the book contains directions for compiling the virtual machine with numerous practical examples to clarify how it operates in practice.
What is virtual machine? - a definition from Whatis.com (0 words)
The JVM is a virtual machine in that it executes code compiled specifically for it – known as bytecode – and abstracts use of resources for this bytecode.
A user interacting with a virtualized server can view the server as a physical machine, in the sense that the user would see access to machines resources like hard disks, RAM, processors and Ethernet connections.
The virtual machine idea is itself one of the most elegant in the history of technology and is a crucial step in the evolution of ideas about software.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m