Computerworld - At the simplest level, computing environments are thought to consist of hardware, an operating system that runs on the hardware and applications that run on the OS -- though in embedded systems, the operating system is sometimes eliminated and applications run directly on the hardware. The OS is aware of all the capacity and capability of the underlying hardware and controls it directly.
If another layer of software were placed between the OS and the CPU, then the OS would know only what that extra layer of software told it. Its understanding of the capacity and capability of the underlying hardware would depend on the intervening software layer, and it would be able to control the underlying hardware only in ways the intervening layer of software allowed it to.
The intervening layer of software could tell the OS everything there was to know about the hardware and simply pass through control directives without translation. But it also might not reveal everything about the underlying hardware and might add some control of its own as it passes on the control directives to the OS.
In either case, the configuration would not be the standard tripartite configuration. It would be one of the many possible configurations that is called a virtual machine.
Of course, there are servers, networks and Web interfaces, as well as other devices and interfaces, that add nuance and complexity to computing environments. But using a software layer to package a set of computing resources and behaviors and to present it as an available computing environment is at the core of what it means to create a virtual machine.
A virtual machine is a computing environment whose set of resources and behaviors is built (through software) on top of some other computing environment.
Virtual machines are at the core of server technologies like VMware Inc.'s ESX Server and the open-source Xen virtual machine monitor. Both of these products offer servers that run multiple x86-based OSs simultaneously. Their approaches are slightly different variations of what are called hardware-level, bare-metal or hypervisor virtual machines. The intermediary software layer (called the virtual machine monitor or hypervisor) is between the OS and the hardware. The hypervisor gives all the OSs that are running the illusion that they are the only OS running on the hardware.
Running multiple OSs on one server platform offers several advantages. It makes it possible to more fully use the resources of very powerful servers, provide backward compatibility for legacy programs and partition applications to different OSs so they can't corrupt one another.
VMware uses transparent virtualization, which means that the OSs that run on the hypervisor do not need to be modified. Xen uses paravirtualization, which means that it needs to modify the OSs to make them run simultaneously on the hardware. Xen claims that paravirtualization increases speed and efficiency.
- 2014 Gartner Magic Quadrant Report For the 7th year in a row, Riverbed is in the "Leaders" Quadrant of the 2014 Magic Quadrant for WAN Optimization Controllers. In...
- Improving Business Value of WAN Optimization Want to achieve faster ROI with WAN optimization? Read the latest IDC report and discover how you can cut IT costs without compromising...
- IDC ROI Infographic Trends such as evolving communication patterns, connection types, applications and bandwidth can have an impact on enterprise organizations. Learn how IT organizations can...
- Riverbed Optimization System: Technical Overview View now>>
- Top 4 Digital Signage Fails Join RMG Networks for a look at four of the most common reasons digital signage fails in corporate businesses. Learn about strategies to...
- Why do you need an enterprise mobile platform? Today companies must offer great apps that run on a range of devices, and connect to an exploding set of backend data. Appcelerator... All Applications White Papers | Webcasts