Académique Documents
Professionnel Documents
Culture Documents
The purpose of this document can be informally stated as follows: if you were to use
virtualization in a an endeavor (research or otherwise), here are some things to look at.
A Loose Definition
Let us define "virtualization" in as all-encompassing a manner as possible for the purpose
of this discussion: virtualization is a framework or methodology of dividing the resources
of a computer into multiple execution environments, by applying one or more concepts or
technologies such as hardware and software partitioning, time-sharing, partial or
complete machine simulation, emulation, quality of service, and many others.
Note that this definition is rather loose, and includes concepts such as quality of service,
which, even though being a separate field of study, is often used alongside virtualization.
Often, such technologies come together in intricate ways to form interesting systems, one
of whose properties is virtualization. In other words, the concept of virtualization is
related to, or more appropriately synergistic with various paradigms. Consider the multi-
programming paradigm: applications on *nix systems (actually almost all modern
systems) run within a virtual machine model of some kind.
Even though we defined it as such, the term "virtualization" is not always used to imply
partitioning - breaking something down into multiple entities. Here is an example of its
different (intuitively opposite) connotation: you can take N disks, and make them appear
as one (logical) disk through a virtualization layer.
Grid computing enables the "virtualization" (ad hoc provisioning, on-demand deployment,
decentralized, etc.) of distributed computing: IT resources such as storage, bandwidth,
CPU cycles, ...