TL;DR: This paper is concerned with paging systems, that is, systems for which the blocks of contiguous locations are of equal size and the occurrence of a reference to a page that is currently not in main memory is called a page fault.
Abstract: Virtual memory is one of the major concepts that has evolved in computer architecture over the last decade. It has had a great impact on the design of new computer systems since it was first introduced by the designers of the Atlas computer in 1962. A virtual memory is usually divided into blocks of contiguous locations to allow an efficient mapping of the logical addresses into the physical address space. In this paper, we are concerned with paging systems, that is, systems for which the blocks of contiguous locations are of equal size. The memory system consists of two levels: main memory and auxiliary memory. The occurrence of a reference to a page that is currently not in main memory is called a page fault. A page fault results in the interruption of the program and the transfer of the referenced page from auxiliary to main memory.
TL;DR: The DCN now supports several programming languages and applications packages, and many of the components of the Disk Operating System for the PDP11 can be executed in a special emulator-type virtual process now being constructed for this purpose.
Abstract: The Distributed Computer Network (DCN) is a resource-sharing computer network which includes a number of DEC PDP11 computers. The DCN supports a number of processes in a multiprogrammed virtual environment. Processes can communicate with each other and interface with this environment in a manner which is independent of their residence within a particular computer. Resources such as processors, devices and storage media can be remotely accessed and shared so as to provide increased reliability, flexibility and system utilization.The DCN now supports several programming languages and applications packages. Programming languages such as SIMPL, LISP, BASIC and others, along with an extensive library of interactive graphics procedures, can be executed in processes which take full advantage of the distributed architecture of the network. Many of the components of the Disk Operating System (DOS) for the PDP11 can be executed in a special emulator-type virtual process now being constructed for this purpose. In this manner the PDP11 assembler, FORTRAN compiler and various system utilities can be supported in the network environment. In cases which exceed the processing power of the network, connections are available to two large Univac 1100-series machines.
TL;DR: This document specifies the behavior of the INTERLISP Virtual Machine from the implementor's point of view in an attempt to make explicit those things which must be implemented to allow the INTERlISP System to run on some machine.
Abstract: : The INTERLISP Virtual Machine is the environment in which the INTERLISP System is implemented. It includes such abstract objects as Literal Atoms, List Cells, Integers, etc., the basic LISP functions for manipulating them, the underlying program control and variable binding mechanisms, the input/output facilities, and interrupt processing facilities. In order to implement the INTERLISP System on some physical machine, it is only necessary to implement the INTERLISP Virtual Machine, since Virtual Machine compatiable source code for the rest of the INTERLISP System can be obtained from publicly available files. This document specifies the behavior of the INTERLISP Virtual Machine from the implementor's point of view. That is it is an attempt to make explicit those things which must be implemented to allow the INTERLISP System to run on some machine.
TL;DR: This document is a reference manual for the Hydra Kernel, a software virtual machine implemented on C.mmp, a closely-coupled PDP-11-based multiprocessor.
Abstract: : This document is a reference manual for the Hydra Kernel. It contains a minimal amount of tutorial information. Readers who are not familiar with the ideas behind the capability-based protection systems so vital to Hydra are encouraged to read first the Hydra article in the CACM (Wu74), and the collection of papers given at the Fifth Symposium on Operating Systems Principles, particularly the paper by Cohen (Coh75). There is a default user environment, consisting of the Hydra kernel and a collection of subsystems, that a user initially faces when he logs on to Hydra. Hydra is thus a software virtual machine implemented on C.mmp, a closely-coupled PDP-11-based multiprocessor. The extended virtual machine instructions, i.e. those not provided by the underlying hardware but by Hydra, are called K-calls, or Kernel calls.
TL;DR: This paper presents the description of a virtual machine monitor and its support structure which can be implemented on a microprogrammable minicomputer or a distributed network of such machines.
Abstract: A virtual machine monitor allows several different operating systems to run concurrently on the same machine. This paper presents the description of a virtual machine monitor and its support structure which can be implemented on a microprogrammable minicomputer or a distributed network of such machines. In our approach, all storage, transformational, input, and output resources of the system are accessed through a mapping mechanism. The design and implementation methodology for an actual realization of the virtual machine monitor is discussed.
TL;DR: The technique outlined here provides a tool which furnishes the microprogrammer with a virtual machine which is microprogrammable, similar to that provided by a simulator, but the technique is more efficient and allows multiple microprograms to be executed concurrently with regular programs on a single real machine.
Abstract: The introduction of computers which have user alterable microprograms presents users with both an opportunity and a problem. To take full advantage of the opportunity to tailor the architecture of the computer to the application domain, the problem of microprogram development and testing must be solved. The technique outlined here provides a tool which furnishes the microprogrammer with a virtual machine which is microprogrammable. The function provided is similar to that provided by a simulator, but the technique is more efficient and allows multiple microprograms to be executed concurrently with regular programs on a single real machine.
TL;DR: The design of a VML and interpreter which have been used to implement a real-time control application are discussed and performance is evaluated relative to an assembly language version of the same problem.
Abstract: Interpretive execution has often been regarded as too slow for real-time control applications. Assembly language implementations, however, may exhaust available memory long before running out of machine cycles. For such applications, interpretation of a virtual machine language (VML) is attractive if it yields substantial memory savings at a tolerable cost in execution time. This paper discusses the design of a VML and interpreter which have been used to implement a real-time control application. Performance is evaluated relative to an assembly language version of the same problem. The assembly language version executed 4.8 times faster than the interpretive version, but required 31% more memory. Space compaction is achieved by making basic operations in the application area primatives of the VML. The interpreter simulates a computer whose machine language is the VML. In addition to conserving memory, this approach can facilitate the implementation of a high-level programming language on a variety of minicomputers.
TL;DR: This report presents the main points the HIVE system as it stands at present, with particular emphasis on the selective data redundancy and recovery aspects, and also discusses the rationale behind the main design principles of the system.
Abstract: : The HIVE project is concerned with studying high level virtual machine architectures suitable for designing and implementing large, high-integrity transaction processing applications such as communication switching and database access systems. The main aim of the work is to develop a unified set of structural concepts and components in terms of which all the different and often conflicting design aspects of such systems can be coherently expressed. The approach followed has been to embody these ideas in the specification of a high integrity virtual machine, HIVE, and to implement HIVE and evaluate it experimentally by using it to implement test-bed applications systems. This work has involved considering not only the architecture of the overall run-time software during normal operation, but also various selective approaches to data protection, redundancy and recovery, and methods for easing the task of describing, generating and integrating all the software of an application in an incremental, evolutionary way. This report is concerned primarily with the first two of these areas. It presents the main points the HIVE system as it stands at present, with particular emphasis on the selective data redundancy and recovery aspects, and also discusses the rationale behind the main design principles of the system. (Author)
TL;DR: A generalized modelling framework is described, which becomes a model of a particular DMS WHEN VARIOUS 'plug-in' MODULES are added, and is intended as a basis for DMS design experiments.
Abstract: : This paper describes a simulation model in which user jobs are synthesized from basic building blocks. The modelling process consists of three stages: translation from a user view of data and processes dependent on the data base management system (DMS) into a standard form consisting of explicit access paths over logical data structures; translation of the logical structures and operations into block-oriented structures and operations on a virtual machine; and execution of a number of concurrent jobs on a real machine. This paper deals only with the last two stages. Standard forms for the logical structures and operations and for the virtual machine are described; they are as free as possible from the data view of the particular DMS. We describe a generalized modelling framework, which becomes a model of a particular DMS WHEN VARIOUS 'plug-in' MODULES ARE ADDED. The data representation features of a DMS enter as parameters for the second stage, while the resource management tactics are the parameters for the last stage. The proposed model structure is intended as a basis for DMS design experiments. (Author)
TL;DR: Assembleon and the Department of Mechanical En-´gineering, Systems EngineeringGroup, at the Eind-hoven University of Technology cooperated in devel-oping a design framework possibly suited for deVEL-oping placement machines, based on the ‘virtual machine’ principle.
Abstract: Continuous tailoring of products to individual cus-tomers puts a high demand on development timesand flexibility of the development process. To com-ply with this demand, the development method needsto become more flexible and development times needto be reduced. Building a model of the machine, a‘virtual machine’, as a representation of the systemand study it as a surrogate for the actual system is apromising method.Assembleon and the Department of Mechanical En-´gineering, Systems EngineeringGroup, at the Eind-hoven University of Technology cooperated in devel-oping a design framework possibly suited for devel-oping placement machines. The design frameworkis based on the above mentioned ‘virtual machine’principle and is applied on the Advanced ComponentMounter (ACM), one of Assembleon’s placement ma-´chines. The ACM is depicted in Figure 1.
TL;DR: VM technology coupled with other technologies, namely, interactive data base systems and hierarchical system structuring have distinct comparative advantages for a broad class of problems, especially in decision support systems.
Abstract: We remain enthusiastic about the potential of virtual machine concepts and strongly recommend this approach. VM technology coupled with other technologies, namely, interactive data base systems and hierarchical system structuring have distinct comparative advantages for a broad class of problems, especially in decision support systems.