Significant progress toward disentangling computing environments from their under lying operating sys tern has been made. An approach is presented that achieves inter~system uniformity at all three levels of user interface ~ virtual machine, utilities, and command language. Under specifiable conditions, complete uniformity is achievable without dis~ turbing the underlying operating system. The approach per:~ mits accurate computation of the cost to move both people and software to a new system. The cost of moving people is zero, and the cost of moving software is equal to the cost of implementing a virtual machine. Efficiency is achieved through optimization of the primitive functions. A real operating system presents three principal interfaces to its users [6]: the virtual machine or operating system primitives accessable through programming languages, the utili programs such as compilers, linkers, and editors, and the command language or means by which users access system resources from a terminal. Most system services are available through one or more of these interfaces (see fig. 1).
'The idea of a virtual operating system is to provide standard versions of these interfaces based on organiza- * writing the necessary documentation.A virtual operating system becomes a real operating system when the assoc ted virtual machine corresponds to a physical machine. However, the emphasis in building a virtual operating system is on the interface presented to the user. The virtual machine is a highly idealized set of primitive functions geared to organizational programming requirements. It bears almost no functional resemblance to the unoerlying hardware which actually performs the work.In general, a virtual operating system is restricted to those parts of an ordinary operating system which an organ za tion finds important in getting its work done. Obviously a sing real operating system can support many virtual operating systems.To achieve the full benefit of the approach, the virtual machine must be implemen table without changing the vendor software. This implies a functional equivalence between the chosen virtual machine and the tar t systems. Hence, a bootstrapping design procedure is required. Each candidate virtual machine func on must be tested on each target system before it can be finally adopted.The virtual operating system approach reduces the problem of moving to a new system to the (non-trivial) problem of implementing a virtual machine. All u lities and user programs are completely portable since their interface to any particular opera ng system is through the virtual machine. Similarly, higher level procedures written for a portable utility are themselves portable. For example, a file containing editor commands will work on any machine supporting the editor utility. Finally, command language procedures are also portable, since the command language program is por~~ble. The availability of the entire virtual operating system (virtual machine, utilities, and command language) makes it easy for users and pro...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.