A non-transitory machine-readable medium having sequences of instructions stored therein which, when executed by a processor of a processing system, cause the processor to perform a process comprising:
- executing an application on a guest operating system, wherein the guest operating system controls a virtual machine installed on a virtual server running on the processing system, and wherein the virtual server is installed on a virtualized processing system, the virtualized processing system including a plurality of physical hardware devices;
- and
- enabling communication between the application and the virtual server through a virtual server adapting module in the guest operating system, wherein the virtual server adapting module is configured for:
- receiving a request, by an interface, from the application on the guest operating system to get information regarding a physical hardware device on the virtualized processing system associated with the guest operating system,
- automatically determining, by a virtual server type detector, a type of virtual server from a plurality of virtual servers,
- selecting and instantiating, by an initialization module, an implementation module from a plurality of implementation modules according to the determined type of the virtual server, wherein each implementation module implements the interface to receive the request from the application on the operating system and communicates with a different type of virtual server on the virtualized processing system.