There are many reasons why we need to virtualize
resources. The five most common reasons are:
1 Sharing: When a resource is too big for a
single user, it is best to divide it into multiple
virtual pieces, as is the case with today’s
multi-core processors. Each processor can
run multiple virtual machines (VMs), and
each machine can be used by a different
user. The same applies to high-speed links
and large-capacity disks.
2 Isolation: Multiple users sharing a resource
may not trust each other, so it is important
to provide isolation among users. Users
using one virtual component should not be
able to monitor the activities or interfere
with the activities of other users. This may
apply even if different users belong to the
same organization since different departments
of the organization (e.g., finance and engineering) may have data that is confidential
to the department.