(A) Creating physical environment hardware side.
(B) To create a virtual version of a device or resource, such as a server, storage device, network or even an operating system where the framework divides the resource into one or more execution environments.
(C) Remote connection
(D) To create logical connection with OS