The concept of Virtualization before Cloud Computing
In today’s world of Cloud Computing, we often hear a lot about virtualization. It sounds like a latest buzz word, but is virtualization really a new concept? To answer this question we’ll have to take a look at what really is meant by virtualization.
The term virtualization is usually defined as the abstraction of computing resources. What it means is that the real physical characteristics of computing resources are kept well hidden from the users by virtualization. This includes making a single virtual resource available from multiple physical resources (such as servers or storage devices) or making multiple virtual resources available from a single physical resource (such as an operating system, storage device or a server).
In simple terms virtualization often means
- The creation of just one single virtual resource from multiple physical resources
- The creation of multiple virtual resources from just a single physical resource
Virtualization is often used to convey this in various areas such as hardware, storage and networking.
In the present context, however virtualization means running multiple virtual machines, each having its own operating system on a single host computer.
Virtualization is not really a new concept. In its earliest form virtualization was known as time sharing. The earlier work in the field of virtualization consists of a research paper by Christopher Strachey. Christopher Strachey was working at Oxford University as the first Professor of Computation. He wrote on the topic of time sharing in fast computers.
In 1964, IBM began developments based on virtualization concepts on CP40 research systems. In fact CP40 was the first computer system that provided the virtual machine environment. This virtual machine environment supported every single aspect of target computer system. Up to 14 virtual machines (which could be operated simultaneously), were supported by CP40.
Referring to the definition of virtualization, the most common example of virtualization is the partitioning of single hard disk drive into multiple virtual partitions. Any one of these separate multiple virtual partitions can behave as a separate independent hard disk. From the view point of users and the application, virtualization hides the fact that there exists only one physical hard disk drive. This example of hard disk partitioning shows how multiple virtual devices could be created from a single physical device by means of virtualization.
Another good example of hard disk virtualization can be seen in the way how a RAID partition could be created from multiple physical hard disks or hard disk partitions. In fact it is a good example of how the single virtual device can be created from one or more physical devices by means of virtualization.
There is an excellent example of how virtualization was used to create a virtual hard disk from Random Access Memory (RAM). This virtual hard drive used to be called RAM DISK. Data stored on the RAM DISK could be accessed faster than the data stored on the physical hard drive.
These previous examples and the history of computing clearly indicate the fact that the virtualization existed long before the concept of cloud programming came around. In fact virtualization has always been present in one form or another throughout the history of computing.