Virtualization is a buzzword applied to many different technologies: servers, storage, communications, networks. An older, seemingly related term is emulation, but it's not the same thing. Here, we'll sort out the differences.
Emulation or virtualization?
Don't be confused! Virtualization and emulation aren't the same. Here's how they differ.
Computerworld - Emulation is what we do when we try to make one system behave like or imitate a different system. We want to take System A (something we already have) and give it the inputs we would normally use for System B (which we may not have) and have System A produce the same results as System B.
What's involved is more than a simple translation of commands or machine instructions; compilers and interpreters have done that for years. No, we're taking complete operating systems, APIs and functions, and we're having them work on a machine they were never designed for -- a machine that may use totally different methods and commands. That this is even possible is sometimes miraculous, but it nearly always carries a high performance price. Emulation entails a high overhead, and it significantly reduces throughput.
If emulation takes such a toll, why bother? Because we might want to do one of the following:
- Run an OS on a hardware platform for which it was not designed.
- Run an application on a device other than the one it was developed for (e.g., run a Windows program on a Mac).
- Read data that was written onto storage media by a device we no longer have or that no longer works.
Emulation is important in fighting obsolescence and keeping data available. Emulation lets us model older hardware and software and re-create them using current technology. Emulation lets us use a current platform to access an older application, operating system or data while the older software still thinks it's running in its original environment.
The term emulator was coined at IBM in 1957. Before 1980, it referred only to hardware; the term simulation was preferred when talking of software. For example, a computer built specifically to run programs designed for a different architecture would be called an emulator, whereas we'd use the word simulator to describe a PC program that lets us run an older program (designed for a different platform) on a modern machine. Today emulation refers to both hardware and software.
Virtualization is a technique for using computing resources and devices in a completely functional manner regardless of their physical layout or location. This includes splitting a single physical computer into multiple "virtual" servers, making it appear as though each virtual machine is running on its own dedicated hardware and allowing each to be rebooted independently. In storage virtualization, on the other hand, the server regards multiple physical devices as a single logical unit.
- Considerations For Effective Software License Management For many reasons, software license management has become a critical issue for many IT organizations and enterprise's alike. With many licensing options, hurdles...
- Vblock™ Specialized System for High Performance Databases Learn how Vblock™ Specialized Systems have been designed to deliver high performance in the millions of IOPS - with millisecond response times.
- Innovating Cloud Backup with Veeam Veeam leverages virtualization and cloud technologies to innovate and protect the modern data center.
- Virtualization Best Practices Guide Whether you're running applications on physical or virtual machines, you still need to stay vigilant to guard against the constant and growing hazard...
- Building Tomorrow's Data Center with Converged Technologies A number of forces are converging: the cloud, converged infrastructure, big data and fabric architectures to name a few.
- Virtual Desktop Must-haves: Cost-effectiveness, Scalability and Security Employees today expect to take their work anywhere and on any device. This BYOD mindset poses a dilemma for organizations that want to... All Virtualization White Papers | Webcasts