Virtual machine systems have been implemented on a limited number of third generation computer systems, for example CP-67 on the IBM 360/67. The value of virtual machine techniques to ease the development of operating systems, to aid in program transferability, and to allow the concurrent running of disparate operating systems, test and diagnostic programs has been well recognized. However, from previous empirical studies, it is known that many third generation computer systems, e.g. the DEC PDP-IO, cannot support a virtual machine system.In this paper, the hardware architectural requirements for virtual machine systems are discussed. First, a fairly specific definition of a virtual machine is presented which includes the aspects of efficiency, isolation, and identical behavior. A model of third generation-like computer systems is then developed. The model includes a processor with supervisor and user modes, memory that has a simnle protection mechanism, and a trap facility. In this context, instruction behavior is then carefully characterized.Formal techniques are then applied to derive precise necessary and sufficient conditions to test whether an architecture can support virtual machines. The major theorem of the paper states that a virtual machine system can be constructed if and only if certain properties regarding the real machine's instruction set hold. A constructive proof is presented, explicating several underlying ideas.The conditions obtained are fairly simple, and may easily be used to evaluate existing hardware or as a quide in the design of new machines.Using the same formal base, related notions such as hybrid virtual machines and recursive virtualization are also described and the requirements for these features specified.The paper closes by noting the simplifications contained in the model, possible extensions and applications, and the utility of the formal approach that was taken. 121
We describe a new approach to power saving and battery life extension on an untethered laptop through wireless remote processing of power-costly tasks. We ran a series of experiments comparing the power consumption of processes run locally with that of the same processes run remotely. We examined the trade-off between communication power expenditures and the power cost of local processing. This paper describes our methodology and results of our experiments. We suggest ways to further improve this approach, and outline a software design to support remote process execution.
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.