A process is defined in its totality by the contents of the workspace to which it has access. Provided that the behavior of the workspace is consistent with the expected behavior, there is no means by which a process can determine whether a resource that it manipulates is realized by a physical resource of that type, or by the cooperative actions of other resources that jointly present the same changes in the contents of the process' workspace. As an example, a process cannot determine whether its output is passed directly to a printer or is sent via some form of spooling system. Similarly it cannot determine whether it has sole use of a processor or is multiprogramming with other processes. In a virtual machine environment no particular process has sole use of any system resource, and all system resources are regarded as being potentially sharable. In addition, use of virtual machines provides isolation between multiple users of a single physical computer system, giving some level of computer security.
The virtual machine approach forms the basis of a number of commercially produced operating systems, especially of IBM's VM/CMS and of Digital's VAX/VM products.