Site banner
.
Home Forums Blogs Articles Photos Videos Contact FAQ                    
.
.
Wisdom Archive
Body Mind and Soul
Faith and Belief
God and Religion
Law of Attraction
Life and Beyond
Love and Happiness
Peace of Mind
Peace on Earth
Personal Faith
Spiritual Festivals
Spiritual Growth
Spiritual Guidance
Spiritual Inspiration
Spirituality and Science
Spiritual Retreats
More Wisdom
Buddhism Archives
Hinduism Archives
Sustainability
Theology Archives
Even more Wisdom
2012 - Year 2012
Affirmations
Aura
Ayurveda
Chakras
Consciousness
Cultural Creatives
Diksha (Deeksha)
Dream Dictionary
Dream Interpretation
Dream interpreter
Dreams
Enlightenment
Essential Oils
Feng Shui
Flower Essences
Gaia Hypothesis
Indigo Children
Kalki Bhagavan
Karma
Kundalini
Kundalini Yoga
Life after death
Mayan Calendar
Meaning of Dreams
Meditation
Morphogenetic Fields
Psychic Ability
Reincarnation
Spiritual Art, Music & Dance
Spiritual Awakening
Spiritual Enlightenment
Spiritual Healing
Spirituality and Health
Spiritual Jokes
Spiritual Parenting
Vastu Shastra
Womens Spirituality
Yoga Positions
Site map 2
Site map


Dream Sharing Forum

at Global Oneness Community.

Share your dreams and let others help you with the interpretation!
Dream Sharing Forum



.

Virtual machine

Virtual machine: Encyclopedia - Virtual machine

In general terms, a virtual machine in computer science is software that creates an environment between the computer platform and the end user in which the end user can operate software. Specifically, the term virtual machine has several distinct meanings: Virtual machine - Definitions. Virtual machine - Original meaning. The original meaning of virtual machine is the creation of a number of different identical execution environments on a single computer, each of w ...

Including:

Virtual machine, Virtual machine - Application virtual machine, Virtual machine - Definitions, Virtual machine - Emulation of a non-native system, Virtual machine - Emulation of the underlying raw hardware, Virtual machine - List of virtual machine software, Virtual machine - Operating system virtual machine, Virtual machine - Original meaning, Virtual machine - Parallel virtual machine, Virtual machine - Techniques, Gerrit Blaauw (A significant designer of the IBM/360, an early virtual computing architecture), Threaded code (A common implementation technique for application virtual machines), Computing, LLVM (The University of Illinois's Low Level Virtual Machine, a compiler toolset)

Virtual machine: Encyclopedia - Virtual machine



Virtual machine

In general terms, a virtual machine in computer science is software that creates an environment between the computer platform and the end user in which the end user can operate software.

Specifically, the term virtual machine has several distinct meanings:

Virtual machine - Definitions

Virtual machine - Original meaning

The original meaning of virtual machine is the creation of a number of different identical execution environments on a single computer, each of which exactly emulates the host computer. This provides each user with the illusion of having an entire computer, but one that is their "private" machine, isolated from other users, all on a single physical machine. The host software which provides this capability is often referred to as a virtual machine monitor or hypervisor.

Virtual machine - Application virtual machine

The second, and now more common, 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

Virtual machine - Operating system virtual machine

The term virtual machine is now also used to refer to the environment created by an emulator, where software is used to emulate an operating system for the end user. This is done to allow applications written for one OS to be executed on a machine which runs a different OS; or to 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.

Virtual machine - Parallel virtual machine

PVM (Parallel Virtual Machine) is a software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network 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. The software is very portable.

PVM enables users to exploit their existing computer hardware to solve much larger problems at minimal additional cost. Hundreds of sites around the world are using PVM to solve important scientific, industrial, and medical problems in addition to PVM's use as an educational tool to teach parallel programming. With tens of thousands of users, PVM has become the de facto standard for distributed computing world-wide.

More recently, the term virtual machine is also used to refer to a [[[Parallel Virtual Machine]]] (PVM)..In this case, the virtual machine 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.

Gerrit Blaauw (A significant designer of the IBM/360, an early virtual computing architecture), Threaded code (A common implementation technique for application virtual machines), Computing, LLVM (The University of Illinois's Low Level Virtual Machine, a compiler toolset)

Virtual machine - Techniques

Virtual machine - Emulation of the underlying raw hardware

Since each user can run whatever operating system they want, this type of virtual machine allows users to do things like run two different operating systems (sometimes referred to as "guests") on their "private" virtual computers. Also, experimental new versions of operating systems can be run at the same time as older, more stable, versions, each in a separate virtual machine. 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.

One early user of this concept was the IBM VM/CMS time-sharing product, which used a relatively simple interactive computing single-user operating system, CMS, which ran on top of VM. In that way, CMS could be written simply, as if it were running alone, and the VM operating system quietly provided multitasking and resource management services behind the scenes.

Not all VM users had to run CMS, though; some preferred to run some form of OS/360 (or eventually MVS) in one or more virtual machines, to provide traditional batch processing services to those users who wanted that. VM is still used today on IBM mainframes, and in some which are used as Web servers, the operating system run in each of many virtual machines is Linux.

The VMware, twoOStwo and SVISTA packages do the same thing on modern PCs, trapping all hardware accesses and simulating all of a motherboard except for the processor.

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.

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. As a result, VMware and similar virtualization software for the x86 must dynamically recompile privileged mode code. This technique incurs some performance overhead as compared to a VM running on a natively virtualizable architecture such as the IBM System/370 or Motorola MC68020. Intel and AMD have each announced plans to add x86 virtualization capabilities to future x86 processors (see Vanderpool).

Virtual machine - Emulation of a non-native system

Some of this class of virtual machines are emulators; these allow software written for one machine to run on another. Emulation for computer systems can include emulation for both different machine architectures, and operating systems.

Others produce behaviors and capabilities of a machine that doesn't necessarily exist as an actual piece of hardware but may only be a detailed specification. For example, the p-Code machine specification (one of the first, used for support of Pascal) was a description of a specific set of capabilities and behaviors that programmers could use to write programs that would run on any computer running virtual machine software that correctly implemented the specification.

More modern examples include the specification of the Java virtual machine and the Common Language Infrastructure virtual machine at the heart of the Microsoft .NET initiative.

These allow diverse computers all to run software written to that specification; the virtual machine software itself must be written separately for each type of computer on which it runs.

Virtual machine - List of virtual machine software

  • Application virtualization
    • Common Language Runtime - C#, Visual Basic .NET, J#, Managed C++
    • Forth virtual machine - Forth
    • Glulx - Glulx, Z-code
    • Inferno - Limbo
    • Java virtual machine - Java
    • Low Level Virtual Machine (LLVM) - currently C, C++, Stacker
    • Lua
    • Macromedia Flash Player - SWF
    • MMIX - MMIXAL
    • Neko virtual machine - currently Neko and haXe
    • O-code machine - BCPL
    • P-Code_machine - Pascal
    • Parrot - Perl 6
    • Perl virtual machine - Perl
    • Portable.NET - C#, Visual Basic .NET, J#, Managed C++
    • ScummVM - Scumm
    • SECD machine - ISWIM, Lispkit_Lisp
    • Smalltalk virtual machine - Smalltalk
    • Sqlite virtual machine - Sqlite opcodes
    • Squeak virtual machine - Squeak
    • TrueType virtual machine - TrueType
    • vx32 virtual machine - application-level virtualization for native x86 code
    • Warren Abstract Machine - Prolog
    • Z-machine - Z-Code
  • Operating system virtualization
    • Bochs, portable open source x86 and AMD64 PCs emulator
    • FAUmachine
    • Microsoft Virtual PC
    • Microsoft Virtual Server
    • OPEN COLINUX - Linux inside Windows
    • QEMU
    • SVISTA
    • TRANGO Real-time Embedded Hypervisor
    • twoOStwo
    • User-mode Linux
    • Virtuozzo
    • VMWare
    • Xen

See also

  • Gerrit Blaauw (A significant designer of the IBM/360, an early virtual computing architecture)
  • Threaded code (A common implementation technique for application virtual machines)
  • Computing
  • LLVM (The University of Illinois's Low Level Virtual Machine, a compiler toolset)

Other related archives

AMD, BCPL, Bochs, C, C#, C++, CMS, Common Language Infrastructure, Common Language Runtime, Computing, FAUmachine, Forth, Forth virtual machine, Gerrit Blaauw, Glulx, IBM, ISWIM, Inferno, Intel, J#, Java, Java virtual machine, Just In Time compilation, LLVM, Limbo, Linux, Lispkit_Lisp, Low Level Virtual Machine (LLVM), Lua, MMIX, MMIXAL, MVS, Macromedia Flash Player, Managed C++, Microsoft .NET, Microsoft Virtual PC, Microsoft Virtual Server, O-code machine, OPEN COLINUX, OS/360, P-Code_machine, Parrot, Pascal, Perl, Perl 6, Perl virtual machine, Popek and Goldberg virtualization requirements, Portable.NET, Prolog, QEMU, SECD machine, SVISTA, SWF, Scumm, ScummVM, Smalltalk, Smalltalk virtual machine, Sqlite opcodes, Sqlite virtual machine, Squeak, Squeak virtual machine, Threaded code, TrueType, TrueType virtual machine, University of Illinois, User-mode Linux, VM, VM/CMS, VMWare, VMware, Vanderpool, Virtuozzo, Visual Basic .NET, Warren Abstract Machine, Web, Xen, Z-Code, Z-code, Z-machine, application, batch processing, bochs, compiler, computer, computer platform, computer platforms, computer science, dynamically recompile, emulator, emulators, end user, interactive computing, interpreter, mainframes, operating system, operating systems, p-Code machine, plex86, processor architecture, programs, recursive, servers, software, time-sharing, twoOStwo, vx32 virtual machine, x86, x86 virtualization



Adapted from the Wikipedia article "Virtual machine", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki

More material related to Virtual Machine can be found here:
Main Page
for
Virtual Machine
Index of Articles
related to
Virtual Machine


« Back








Search the Global Oneness web site
Global Oneness is a huge, really huge, web site. Almost whatever you are searching for within health, spirituality, personal development and inspirationals - you will find it here!
Google
 
 

Rate this article!

Please rate this article with 10 as very good and 1 as very poor.

.








Sneak-Peek of Global Oneness Community

Hi friend! The Global Oneness Community, the place for information and sharing about Oneness is not really launched yet (you will see there is still some clean up to do) ...but it is now open for a sneak-peek! And if you wish - please register and become one of the very first members to do so! Jonas

Forum Home, Articles, Photo Gallery, Videos, News, Sitemap
...and much more!


Dream Sharing Forum

at Global Oneness Community.

Share your dreams and let others help you with the interpretation!
Dream Sharing Forum



Forum
Articles
Images Pictures
Videos
News
Sitemap




 

 

 

 

 


 








  » Home » » Home »