%%% -*-BibTeX-*- %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "1.23", %%% date = "04 July 2008", %%% time = "16:26:20 MDT", %%% filename = "virtual-machines.bib", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB %%% 155 S 1400 E RM 233 %%% Salt Lake City, UT 84112-0090 %%% USA", %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", %%% checksum = "49467 12754 61673 594033", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at computer.org (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "bibliography; BibTeX; virtual machines; %%% VMware; Xen", %%% license = "public domain", %%% supported = "yes", %%% docstring = "This is a bibliography of books and other %%% publications about virtual machines. However, %%% it specifically excludes publications about %%% the Parallel Virtual Machine (PVM), which %%% is covered in a separate bibliography, pvm.bib. %%% %%% The ECMA and ISO Standard virtual machine, %%% Common Language Infrastructure (CLI), is %%% available on Microsoft .NET Framework on %%% Microsoft Windows, GNU DotGNU's ilrun, and %%% the Mono Project's mono. These environments %%% may offer compilers for C#, Visual Basic, C, %%% C++, and possibly other languages. %%% %%% At version 1.23, the year coverage looked %%% like this: %%% %%% 1966 ( 1) 1981 ( 4) 1996 ( 3) %%% 1967 ( 0) 1982 ( 5) 1997 ( 7) %%% 1968 ( 0) 1983 ( 7) 1998 ( 4) %%% 1969 ( 0) 1984 ( 10) 1999 ( 12) %%% 1970 ( 2) 1985 ( 10) 2000 ( 12) %%% 1971 ( 1) 1986 ( 11) 2001 ( 13) %%% 1972 ( 3) 1987 ( 9) 2002 ( 10) %%% 1973 ( 3) 1988 ( 10) 2003 ( 11) %%% 1974 ( 3) 1989 ( 17) 2004 ( 14) %%% 1975 ( 15) 1990 ( 21) 2005 ( 32) %%% 1976 ( 8) 1991 ( 32) 2006 ( 67) %%% 1977 ( 5) 1992 ( 21) 2007 ( 8) %%% 1978 ( 6) 1993 ( 28) 2008 ( 1) %%% 1979 ( 10) 1994 ( 15) %%% 1980 ( 7) 1995 ( 2) %%% %%% Article: 193 %%% Book: 38 %%% InCollection: 4 %%% InProceedings: 81 %%% Manual: 13 %%% MastersThesis: 10 %%% PhdThesis: 7 %%% Proceedings: 66 %%% TechReport: 47 %%% Unpublished: 1 %%% %%% Total entries: 460 %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% } %%% ==================================================================== @Preamble{ "\ifx \undefined \circled \def \circled #1{(#1)}\fi" # "\ifx \undefined \reg \def \reg {\circled{R}}\fi" # "\ifx \undefined \TM \def \TM {${}^{\sc TM}$} \fi" } %%% ==================================================================== %%% Acknowledgement abbreviations: @String{ack-nhfb = "Nelson H. F. Beebe, University of Utah, Department of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|, \path|beebe@acm.org|, \path|beebe@computer.org| (Internet), URL: \path|http://www.math.utah.edu/~beebe/|"} %%% ==================================================================== %%% Institution abbreviations: @String{inst-SRC-IDA = "Supercomputing Research Center: IDA"} @String{inst-SRC-IDA:adr = "Lanham, MD, USA"} %%% ==================================================================== %%% Journal abbreviations: @String{j-ACM-SIGSOFT = "ACM Sigsoft"} @String{j-ADA-USER = "Ada User"} @String{j-ADA-USER-J = "Ada User Journal"} @String{j-BYTE = "Byte Magazine"} @String{j-CACM = "Communications of the ACM"} @String{j-CGF = "Com{\-}pu{\-}ter Graphics Forum"} @String{j-COMP-ARCH-NEWS = "ACM SIGARCH Computer Architecture News"} @String{j-COMP-J = "The Computer Journal"} @String{j-COMP-NET = "Computer Networks: The International Journal of Distributed Informatique"} @String{j-COMP-SURV = "ACM Computing Surveys"} @String{j-COMP-SYS = "Computing Systems"} @String{j-COMPUTER = "Computer"} @String{j-DDJ = "Dr. Dobb's Journal of Software Tools"} @String{j-DEC-TECH-J = "Digital Technical Journal of Digital Equipment Corporation"} @String{j-HEWLETT-PACKARD-J = "Hew\-lett-Pack\-ard Journal: technical information from the laboratories of Hew\-lett-Pack\-ard Company"} @String{j-IBM-JRD = "IBM Journal of Research and Development"} @String{j-IBM-SYS-J = "IBM Systems Journal"} @String{j-IEEE-ANN-HIST-COMPUT = "IEEE Annals of the History of Computing"} @String{j-IEEE-MICRO = "IEEE Micro"} @String{j-IEEE-PAR-DIST-TECH = "IEEE parallel and distributed technology: systems and applications"} @String{j-IEEE-SEC-PRIV = "IEEE Security \& Privacy"} @String{j-IEEE-TRANS-COMPUT = "IEEE Transactions on Computers"} @String{j-IEEE-TSE = "IEEE Transactions on Software Engineering"} @String{j-INFO-PROC-LETT = "Information Processing Letters"} @String{j-INT-J-COMPUT-INF-SCI = "International Journal of Computer and Information Sciences"} @String{j-INT-J-PARALLEL-PROG = "International Journal of Parallel Programming"} @String{j-INTEL-TECH-J = "Intel Technology Journal"} @String{j-J-FORTH-APPL-RES = "Journal of FORTH Application and Research"} @String{j-J-FORTH-APPLIC-RESEARCH = "Journal of Forth Applications and Research"} @String{j-J-PAR-DIST-COMP = "Journal of Parallel and Distributed Computing"} @String{j-J-PHYS-IV-COLLOQUE = "Journal de physique. IV, Colloque"} @String{j-J-SYST-SOFTW = "The Journal of Systems and Software"} @String{j-LINUX-J = "Linux Journal"} @String{j-LISP-SYMB-COMPUT = "Lisp and Symbolic Computation"} @String{j-LOGIN = ";login: the USENIX Association newsletter"} @String{j-OPER-SYS-REV = "Operating Systems Review"} @String{j-PARALLEL-COMPUTING = "Parallel Computing"} @String{j-PROGRAMMIROVANIE = "Programmirovanie"} @String{j-QUEUE = "ACM Queue: Tomorrow's Computing Today"} @String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"} @String{j-SIGCSE = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)"} @String{j-SIGPLAN = "ACM SIG{\-}PLAN Notices"} @String{j-SPE = "Soft\-ware\emdash Prac\-tice and Experience"} @String{j-TECS = "ACM Transactions on Embedded Computing Systems"} @String{j-TODS = "ACM Transactions on Database Systems"} @String{j-TOPLAS = "ACM Transactions on Programming Languages and Systems"} @String{j-TRANS-AM-NUCL-SOC = "Transactions of the American Nuclear Society"} %%% ==================================================================== %%% Publishers and their addresses: @String{pub-ACM = "ACM Press"} @String{pub-ACM:adr = "New York, NY 10036, USA"} @String{pub-APRESS = "Apress"} @String{pub-APRESS:adr = "Berkeley, CA, USA"} @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"} @String{pub-CRC = "CRC Press"} @String{pub-CRC:adr = "2000 N.W. Corporate Blvd., Boca Raton, FL 33431-9868, USA"} @String{pub-IBM = "IBM Corporation"} @String{pub-IBM:adr = "San Jose, CA, USA"} @String{pub-IEEE = "IEEE Computer Society Press"} @String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA"} @String{pub-IOS = "IOS Press"} @String{pub-IOS:adr = "Amsterdam, The Netherlands"} @String{pub-KLUWER = "Kluwer Academic Publishers Group"} @String{pub-KLUWER:adr = "Norwell, MA, USA, and Dordrecht, The Netherlands"} @String{pub-MCGRAW-HILL = "Mc{\-}Graw-Hill"} @String{pub-MCGRAW-HILL:adr = "New York, NY, USA"} @String{pub-MORGAN-KAUFMANN = "Morgan Kaufmann Publishers"} @String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"} @String{pub-MORGAN-KAUFMANN:adrsf = "San Francisco, CA, USA"} @String{pub-NO-STARCH = "No Starch Press"} @String{pub-NO-STARCH:adr = "San Francisco, CA, USA"} @String{pub-NORTH-HOLLAND = "North-Hol{\-}land"} @String{pub-NORTH-HOLLAND:adr = "Amsterdam, The Netherlands"} @String{pub-ORA = "O'Reilly \& Associates, Inc."} @String{pub-ORA:adr = "103a Morris Street, Sebastopol, CA 95472, USA, Tel: +1 707 829 0515, and 90 Sherman Street, Cambridge, MA 02140, USA, Tel: +1 617 354 5800"} @String{pub-SAMS = "SAMS Publishing"} @String{pub-SAMS:adr = "Indianapolis, IN, USA"} @String{pub-SV = "Spring{\-}er-Ver{\-}lag"} @String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London, UK~/ etc."} @String{pub-SYNGRESS = "Syngress Publishing, Inc."} @String{pub-SYNGRESS:adr = "Rockland, MA, USA"} @String{pub-USENIX = "USENIX"} @String{pub-USENIX:adr = "San Francisco, CA, USA"} @String{pub-USENIX-EL-CERRITO:adr = "P.O. Box 7, El Cerrito 94530, CA, USA"} @String{pub-WILEY = "Wiley"} @String{pub-WILEY:adr = "New York, NY, USA"} %%% ==================================================================== %%% Series abbreviations: @String{ser-LNCS = "Lecture Notes in Computer Science"} %%% ==================================================================== %%% Bibliography entries, sorted by ascending year and then by citation %%% key: @TechReport{Adair:1966:VMS, author = "R. J. Adair and R. U. Bayles and L. W. Comeau and R. J. Creasy", title = "A Virtual Machine System for the 360\slash 40", institution = "International Business Machines (IBM), Data Processing Division", year = "1966", annote = "ABEND module of OS at SSC", keywords = "IBM 360/40", } @Article{Brawn:1970:SPE, author = "B. S. Brawn and F. G. Gustavson and E. S. Mankin", title = "Sorting in a Paging Environment", journal = j-CACM, volume = "13", number = "8", pages = "483--494", month = aug, year = "1970", CODEN = "CACMA2", ISSN = "0001-0782", bibdate = "Tue Mar 25 13:26:09 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", abstract = "This sorting study was part of an extensive measurement project undertaken on the M44\slash 44X, an experimental paging system which was conceived and implemented at IBM Research in order to explore the virtual machine concept. The study was concerned with the implementation of sorting procedures in the context of the dynamic paging environment characteristic of virtual memory machines. Descriptions of the experimental sort programs and analysis of the performance measurement results obtained for them are presented. The insight gained from the experimental effort is used to arrive at a set of broad guidelines for writing sort programs for a paging environment.", acknowledgement = ack-nhfb, classcodes = "C6130 (Data handling techniques)", corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", journalabr = "Commun ACM", keywords = "CACMA; computer, memories; computers; computers, programming; dynamic memory management; External sort virtual memory CACM; operating systems; sorting; virtual machines", } @Article{Meyer:1970:VMT, author = "Richard A. Meyer and Love H. Seawright", title = "A Virtual Machine Time-Sharing System", journal = j-IBM-SYS-J, volume = "9", number = "3", pages = "199--218", year = "1970", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:28:16 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj9.html#MeyerS70", abstract = "The ControlProgram-67\slash Cambridge Monitor System (CP-67\slash CMS) is a multiaccess system that manages the resources of a computer set up for time-sharing such that each (remote) user appears to have a complete, dedicated computer at his disposal. This concept is known as a virtual machine and allows each user to select the operating system he wishes to run because concurrent operation of several operating systems is possible. The history and design objectives of the system are discussed as well as its present capabilities and some of the applications for its use.", acknowledgement = ack-nhfb, journalabr = "IBM Syst J", oldlabel = "MeyerS70", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/MeyerS70", } @Manual{Forum:1971:VMI, author = "IBM (Forum)", title = "On Virtual Machine Integrity", year = "1971", } @Article{McGrath:1972:VMC, author = "Mark McGrath", title = "Virtual machine computing in an engineering environment", journal = j-IBM-SYS-J, volume = "11", number = "2", pages = "131--149", year = "1972", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:28:02 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj11.html#McGrath72", acknowledgement = ack-nhfb, oldlabel = "McGrath72", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/McGrath72", } @Article{Morris:1972:SMO, author = "D. Morris and G. D. Detlefsen and G. R. Frank and T. J. Sweeney", title = "The structure of the {MU5} operating system", journal = j-COMP-J, volume = "15", number = "2", pages = "113--116", month = may, year = "1972", CODEN = "CMPJA6", ISSN = "0010-4620", bibdate = "Fri Sep 29 08:52:02 MDT 2000", bibsource = "http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/150113.sgm.abs.html; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/113.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/114.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/115.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/116.tif", acknowledgement = ack-nhfb, classcodes = "C6150J (Operating systems)", corpsource = "Univ. Manchester, UK", keywords = "1905E; ICL; modular structure; MU5; multicomputer complex; operating system; operating systems (computers); structure; virtual machine", treatment = "P Practical", } @Article{Parmelee:1972:VSV, author = "Richard P. Parmelee and Theodore I. Peterson and Coyt C. {Tillman, Jr.} and Donald J. Hatfield", title = "Virtual Storage and Virtual Machine Concepts", journal = j-IBM-SYS-J, volume = "11", number = "2", pages = "99--130", year = "1972", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:29:15 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj11.html#ParmeleePTH72", acknowledgement = ack-nhfb, oldlabel = "ParmeleePTH72", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/ParmeleePTH72", } @InProceedings{Goldberg:1973:AVM, author = "R. P. Goldberg", booktitle = "Proceedings of the {ACM} Workshop on Virtual Computer Systems", title = "Architecture of virtual machines", publisher = pub-ACM, address = pub-ACM:adr, pages = "74--112", year = "1973", URL = "http://portal.acm.org/citation.cfm?id=803950&dl=ACM&coll=portal#", abstract = "In this paper we develop a model which represents the addressing of resources by processes executing on a virtual machine. The model distinguishes two maps: the $\phi$-map which represents the map visible to the operating system software running on the virtual machine, and the f-map which is invisible to that software but which is manipulated by the virtual machine monitor running on the real machine. The $\phi$-map maps process names into resource names and the f-map maps virtual resource names into real resource names. Thus, a process running on a virtual machine addresses its resources under the composed map f o $\phi$. In recursive operation, f maps from one virtual machine level to another and we have f o f o \ldots{} o f o $\phi$. The model is used to describe and characterize previous virtual machine designs. We also introduce and illustrate a general approach for implementing virtual machines which follows directly from the model. This design, the Hardware Virtualizer, handles all process exceptions directly within the executing virtual machine without software intervention. All resource faults (VM-faults) generated by a virtual machine are directed to the appropriate virtual machine monitor without the knowledge of processes on the virtual machine (regardless of the level of recursion).", added-at = "Wed Apr 9 10:12:31 2003", added-by = "msteiner", annote = "See also \cite{Goldbe72}", } @InProceedings{Madnick:1973:AAV, author = "Stuart E. Madnick and John J. Donovan", booktitle = "Proceedings of the {ACM} Workshop on Virtual Computer Systems", title = "Application and analysis of the virtual machine approach to information system security and isolation", publisher = pub-ACM, address = pub-ACM:adr, pages = "210--224", year = "1973", URL = "http://portal.acm.org/citation.cfm?id=803961&coll=portal&dl=ACM", abstract = "Security is an important factor if the programs of independent and possibly malicious users are to coexist on the same computer system. In this paper we show that a combined virtual machine monitor/operating system (VMM/OS) approach to information system isolation provides substantially better software security than a conventional multiprogramming operating system approach. This added protection is derived from redundant security using independent mechanisms that are inherent in the design of most VMM/OS systems.", added-at = "Wed Apr 9 10:08:32 2003", added-by = "msteiner", } @Article{Sitton:1973:PEL, author = "Gary A. Sitton and Thomas A. Kendrick and A. Gil Carrick", title = "The {PL\slash EXUS} language and virtual machine", journal = j-SIGPLAN, volume = "8", number = "11", pages = "124--130", month = nov, year = "1973", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:35 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, } @Article{Lesser:1974:DEP, author = "Victor R. Lesser", title = "The design of an emulator for a parallel machine language", journal = j-SIGPLAN, volume = "9", number = "8", pages = "23--36", month = aug, year = "1974", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:40 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C5220 (Computer architecture); C6140B (Machine-oriented languages); C7430 (Computer engineering)", conflocation = "Harriman, NY, USA; 30 May-1 June 1973", conftitle = "Proceedings of the ACM SIGPLAN-SIGMICRO interface meeting on programming languages-Microprogramming", corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", keywords = "coded; complex emulator; control structure; coupled; dynamic execution characteristics; dynamically; emulator; machine oriented languages; microcomputer architecture; microprocesses; microprogramming; paradigm; parallel hardware environment; parallel machine language; parallel processing; structured; virtual machines; virtual machines processing", sponsororg = "ACM", treatment = "A Application; T Theoretical or Mathematical", } @TechReport{Madnick:1974:AAV, author = "Stuart E. Madnick and John J. Donovan", title = "Application and analysis of the virtual machine approach to information system security and reliability", number = "722--74(2)", institution = "MIT Center for Information Systems Research", address = "Cambridge, MA, USA", pages = "25", year = "1974", LCCN = "HD28 .M414 no.722, 74; HD28.M414", bibdate = "Mon Apr 10 10:43:19 MDT 2006", bibsource = "library.mit.edu:9909/mit01", series = "Sloan School of Management. Working paper; Massachusetts Institute of Technology. Alfred P. Sloan School of Management. Center for Information Systems Research. Report", acknowledgement = ack-nhfb, } @Article{Popek:1974:FRV, author = "Gerald J. Popek and Robert P. Goldberg", title = "Formal Requirements for Virtualizable Third Generation Architectures", journal = j-CACM, volume = "17", number = "7", pages = "412--421", month = jul, year = "1974", CODEN = "CACMA2", DOI = "http://doi.acm.org/10.1145/800009.808061", ISSN = "0001-0782", MRclass = "68A05", MRnumber = "49 10177", MRreviewer = "I. Kaufmann", bibdate = "Mon Jan 22 07:13:00 MST 2001", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm17.html#PopekG74", abstract = "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-10, 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 simple protection mechanism, and a trap facility. In this context, instruction behavior is then carefully characterized.", acknowledgement = ack-nhfb, classcodes = "C5220 (Computer architecture); C7430 (Computer engineering)", classification = "722", corpsource = "Univ. California, Los Angeles, CA, USA", journalabr = "Commun ACM", keywords = "abstract model; architectures; computer architecture; computer operating systems; formal requirements; generation architecture; hypervisor; operating system; sufficient conditions; systems; third; third generation computer; virtual machine; virtual machine monitor; virtual machines; virtual memory; virtualizable third generation", oldlabel = "PopekG74", treatment = "A Application; P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/PopekG74", } @InProceedings{Bagley:1975:SDS, author = "John D. Bagley and E. R. Floto and S. C. Hsieh and V. Watson", title = "Sharing Data and Services in a Virtual Machine System", crossref = "ACM:1975:PFS", pages = "82--88", year = "1975", bibdate = "Sat Jan 27 15:11:04 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#BagleyFHW75", oldlabel = "BagleyFHW75", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/BagleyFHW75", } @InProceedings{Belpaire:1975:FPR, author = "Gerald Belpaire and Nai-Ting Nsu", title = "Formal Properties of Recursive Virtual Machine Architectures", crossref = "ACM:1975:PFS", pages = "89--96", year = "1975", bibdate = "Sat Jan 27 15:11:08 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#BelpaireN75", oldlabel = "BelpaireN75", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/BelpaireN75", } @Article{Callaway:1975:PMT, author = "Peter H. Callaway", title = "Performance Measurement Tools for {VM\slash 370}", journal = j-IBM-SYS-J, volume = "14", number = "2", pages = "134--160", year = "1975", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Wed Jan 08 16:35:07 1997", bibsource = "Compendex database", abstract = "To support the smooth running of a Virtual Machine Facility\slash 370 (VM\slash 370) installation, performance measurements of various types are desirable. This paper describes a range of measurement facilities that have been developed for VM\slash 370 for use both on-line and off-line at the level of the users (general user, operator, and system analyst) and the installation management.", acknowledgement = ack-nhfb, classification = "723", journalabr = "IBM Syst J", keywords = "computer operating systems", } @Article{DeRemer:1975:PLV, author = "Frank DeRemer and Hans Kron", title = "Programming-in-the large versus programming-in-the-small", journal = j-SIGPLAN, volume = "10", number = "6", pages = "114--121", month = jun, year = "1975", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:49 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6140 (Programming languages); C7430 (Computer engineering)", conflocation = "Los Angeles, CA, USA; 21--23 April 1975", conftitle = "International Conference on Reliable Software", corpsource = "Univ. of California, Santa Cruz, CA, USA", keywords = "compiler; fault tolerant computing; information hiding; large programs; module interconnection language; modules; programming; programming languages; small programs; software reliability; virtual machines; virtual machines languages", sponsororg = "IEEE; ACM; et al", treatment = "A Application; P Practical", } @Article{Donovan:1975:HAC, author = "John J. Donovan and S. E. Madnick", title = "Hierarchical Approach to Computer System Integrity", journal = j-IBM-SYS-J, volume = "14", number = "2", pages = "188--202", year = "1975", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Wed Jan 08 16:35:07 1997", bibsource = "Compendex database", note = "See letters \cite{Chandersekaran:1976:FVM,Donovan:1976:FAR}.", abstract = "Security is an important factor if the programs of independent and possibly error-prone or malicious users are to coexist on the same computer system. In this paper, it is shown that a hierarchically structured operating system, such as produced by a virtual machine system, that combines a virtual machine monitor with several independent operating systems (VMM\slash OS), provides substantially better software security than a conventional two-level multiprogramming operating system approach. This added protection is derived from redundant security using independent mechanisms that are inherent in the design of most VMM\slash OS systems. Such a system can be obtained by exploiting existing software resources.", acknowledgement = ack-nhfb, classification = "723", journalabr = "IBM Syst J", keywords = "computer operating systems; computer systems programming --- Time Sharing Programs", } @InProceedings{Gaines:1975:ACV, author = "Brian R. Gaines", title = "Analogy Categories, Virtual Machines, and Structured Programming", crossref = "Muhlbacher:1975:GIF", pages = "691--699", year = "1975", bibdate = "Tue Jan 23 23:24:01 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/gi/gi75.html#Gaines75", oldlabel = "Gaines75", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/gi/Gaines75", } @Article{Infante:1975:PSP, author = "R. Infante and U. Montanari", title = "Proving structured programs correct, level by level", journal = j-SIGPLAN, volume = "10", number = "6", pages = "427--436", month = jun, year = "1975", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:49 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming)", conflocation = "Los Angeles, CA, USA; 21--23 April 1975", conftitle = "International Conference on Reliable Software", corpsource = "Olivetti, Ivrea, Italy", keywords = "assertions; fault tolerant computing; level axioms; predicates; problem oriented data structures; problem oriented predicates; programming; structured programs correctness proof; theorem prover; virtual machines", sponsororg = "IEEE; ACM; et al", treatment = "A Application; P Practical", } @Article{Kamnitzer:1975:BXI, author = "Stephen H. Kamnitzer", title = "Bootstrapping {XPL} from {IBM\slash 360} to {UNIVAC 1100}", journal = j-SIGPLAN, volume = "10", number = "5", pages = "14--20", month = may, year = "1975", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:47 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6150C (Compilers, interpreters and other processors); C7430 (Computer engineering)", corpsource = "Sperry Univac, Cape Town, South Africa", keywords = "compiler; IBM/360 to UNIVAC 1100 bootstrapping; program compilers; UNIVAC 1100 series computers; virtual machines; XPL Compiler Generator System", treatment = "A Application; P Practical", } @TechReport{Lamming:1975:LVM, author = "M. Lamming", title = "{LITL} Virtual machine. Fixed or Variable Size Blocks", number = "QMW-DCS-1975-085; QMW-DCS-1975-091", institution = "Queen Mary College, Department of Computer Science", month = jun, year = "1975", abstract-url = "http://www.dcs.qmw.ac.uk/publications/report_abstracts/1975/091; http://www.dcs.qmw.ac.uk/publications/report_abstracts/1975/085", scope = "misc", xxnote = "Check: Two reports or one??", } @InProceedings{Popek:1975:PVM, author = "Gerald J. Popek and Charles S. Kline", title = "The {PDP-11} Virtual Machine Architecture: {A} Case Study", crossref = "ACM:1975:PFS", pages = "97--105", year = "1975", bibdate = "Sat Jan 27 15:12:53 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#PopekK75", oldlabel = "PopekK75", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/PopekK75", } @Article{Popek:1975:VPS, author = "Gerald J. Popek and Charles S. Kline", title = "A verifiable protection system", journal = j-SIGPLAN, volume = "10", number = "6", pages = "294--304", month = jun, year = "1975", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:49 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6150J (Operating systems); C7430 (Computer engineering)", conflocation = "Los Angeles, CA, USA; 21--23 April 1975", conftitle = "International Conference on Reliable Software", corpsource = "Univ. of California, Los Angeles, CA, USA", keywords = "capability faulting; fault tolerant computing; fault tolerant computing faulting; flexible information sharing facilities; levels of kernels; multiuser operating system; operating systems (computers); program verification; programming; security kernels; security of data; systems analysis; UCLA Virtual Machine System; ultra high reliability protection; verifiable protection system; virtual machines; virtual memory", sponsororg = "IEEE; ACM; et al", treatment = "A Application; P Practical", } @Article{Saltzer:1975:PIC, author = "Jerome H. Saltzer and Michael D. Schroeder", title = "The Protection of Information in Computer Systems", journal = "Proceedings of the {IEEE}", volume = "63", number = "9", pages = "1278--1308", month = sep, year = "1975", URL = "http://www.mediacity.com/~norm/CapTheory/ProtInf/", abstract = "This tutorial paper explores the mechanics of protecting computer-stored information from unauthorized use or modification. It concentrates on those architectural structures--whether hardware or software--that are necessary to support information protection. The paper develops in three main sections. Section I describes desired functions, design principles, and examples of elementary protection and authentication mechanisms. Any reader familiar with computers should find the first section to be reasonably accessible. Section II requires some familiarity with descriptor-based computer architecture. It examines in depth the principles of modern protection architectures and the relation between capability systems and access control list systems, and ends with a brief analysis of protected subsystems and protected objects. The reader who is dismayed by either the prerequisites or the level of detail in the second section may wish to skip to Section III, which reviews the state of the art and current research projects and provides suggestions for further reading.", added-by = "rah,sti", annote = "Part I: --- Basics --- Design Principles: economy of mechanism, fail-safe defaults, complete mediation, open design, separation of privilege, least privilege, least common mechanism, psychological acceptability. --- separate virtual machines with controlled communication Part II: --- Separation of addressing and protection --- capabilities --- access control lists", } @Article{Williams:1975:CMI, author = "M. H. Williams and H. L. Ossher", title = "A computer model for instructional purposes", journal = j-COMP-J, volume = "18", number = "4", pages = "333--341", month = nov, year = "1975", CODEN = "CMPJA6", ISSN = "0010-4620", bibdate = "Tue Mar 25 13:51:56 MST 1997", bibsource = "Compendex database; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/333.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/334.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/335.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/336.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/337.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/338.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/339.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/340.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/341.tif", acknowledgement = ack-nhfb, classcodes = "C0220 (Computing education and training); C7810C (Computer-aided instruction)", classification = "721; 723; 901", corpsource = "Department of Computer Sci., Rhodes Univ., Rhodes, Grahamstown, South Africa", keywords = "computer aided instruction; computer model; computer programming languages; computer science; computer simulator; computers; engineering education; instructional purposes; machine architecture; teaching; virtual machines", treatment = "A Application; P Practical", } @Article{Adix:1976:IER, author = "Mary S. Adix and Henrik A. Schutz", title = "Interpretive execution of real-time control applications", journal = j-SIGPLAN, volume = "11", number = "4", pages = "78--87", day = "1", month = apr, year = "1976", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:54 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C7430 (Computer engineering)", conflocation = "New Orleans, LA, USA; 4--6 March 1976", conftitle = "ACM SIGMIN/SIGPLAN Interface Meeting on Programming Systems in the Small Processor Environment", corpsource = "General Motors Res. Labs., Warren, MI, USA", keywords = "interpretive execution; problem oriented languages; program interpreters; real time control application; space compaction; virtual machine language; virtual machines", sponsororg = "ACM", treatment = "A Application; P Practical", xxpages = "78--86", } @Article{Bagley:1976:SFM, author = "John D. Bagley", title = "Special feature: microprogrammable virtual machines", journal = j-COMPUTER, volume = "9", number = "2", pages = "38--42", month = feb, year = "1976", CODEN = "CPTRB4", ISSN = "0018-9162", bibdate = "Thu Dec 12 07:20:54 MST 1996", bibsource = "Compendex database", abstract = "User alterable microprograms make it possible to tailor the architecture of the computer to the application domain but raises the problem of microprogram development and testing. The technique outlined 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.", acknowledgement = ack-nhfb, classification = "722; 723", journalabr = "Computer", keywords = "computer architecture; computer simulation; computer systems programming --- testing", } @Article{Chandersekaran:1976:FVM, author = "C. S. Chandersekaran and K. S. Shankar", title = "Forum: On virtual machine integrity", journal = j-IBM-SYS-J, volume = "15", number = "3", pages = "264--269", year = "1976", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Tue Mar 19 17:38:46 1996", note = "See \cite{Donovan:1975:HAC,Donovan:1976:FAR}.", acknowledgement = ack-nhfb, } @TechReport{Donovan:1976:VMC, author = "John J. Donovan and Henry D. Jacoby", title = "Virtual machine communication for the implementation of decision support systems", number = "884--76(28)", institution = "MIT Center for Information Systems Research", address = "Cambridge, MA, USA", pages = "3 + 29", year = "1976", LCCN = "HD28 .M414 no.884-76; HD28.M414", bibdate = "Mon Apr 10 10:43:19 MDT 2006", bibsource = "library.mit.edu:9909/mit01", acknowledgement = ack-nhfb, } @Article{Hamlet:1976:PBT, author = "Richard Hamlet", title = "The {PDP-11} as {B5500} in teaching systems programming", journal = j-SIGPLAN, volume = "11", number = "5", pages = "47--52", month = may, year = "1976", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:56 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C0220 (Computing education and training); C6110 (Systems analysis and programming); C7430 (Computer engineering)", corpsource = "Department of Computer Sci., Univ. of Maryland, College Park, MD, USA", keywords = "B5500; computer aided instruction; PDP 11; programming; SIMPL XI; systems programming; teaching; virtual machines", treatment = "P Practical", } @Article{Suski:1976:AGC, author = "Gregory J. Suski", title = "Automatic generation of computer graphics languages", journal = j-SIGPLAN, volume = "11", number = "6", pages = "113--122", month = jun, year = "1976", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:57 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C5540 (Terminals and graphic displays); C6140D (High level languages); C7430 (Computer engineering)", conflocation = "Miami Beach, FL, USA; 26--27 April 1976", conftitle = "Symposium on Graphic Languages", corpsource = "Northwestern Univ., Evanston, IL, USA", keywords = "computer graphics; computer graphics languages; language generation system; LGS; mechanical language generation; programming languages; virtual machines", sponsororg = "ACM", treatment = "P Practical", } @TechReport{Taylor:1976:RRH, author = "John McMay Taylor", title = "Redundancy and recovery in the {HIVE} virtual machine", type = "Report", number = "76010", institution = "Procurement executive, Ministry of Defence, Royal Signals and Radar Establishment", address = "London, UK", year = "1976", LCCN = "1966", bibdate = "Mon Apr 10 10:43:15 MDT 2006", bibsource = "library.ox.ac.uk:210/ADVANCE", acknowledgement = ack-nhfb, } @Article{Wallace:1976:SGI, author = "Victor L. Wallace", title = "The semantics of graphic input devices", journal = j-SIGPLAN, volume = "11", number = "6", pages = "61--65", month = jun, year = "1976", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:13:57 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C5540 (Terminals and graphic displays); C7430 (Computer engineering)", conflocation = "Miami Beach, FL, USA; 26--27 April 1976", conftitle = "Symposium on Graphic Languages", corpsource = "Department of Computer Sci., Univ. of North Carolina, Chapel Hill, NC, USA", keywords = "computer graphics; graphic input devices; interactive input; interactive terminals; primitive, nonprimitives; semantics; virtual devices; virtual machines", sponsororg = "ACM", treatment = "P Practical", } @Article{Donovan:1977:VMC, author = "John J. Donovan and Henry D. Jacoby", title = "Virtual Machine Communication for the Implementation of Decision Support Systems", journal = j-IEEE-TSE, volume = "3", number = "5", pages = "333--342", month = sep, year = "1977", CODEN = "IESEDJ", ISSN = "0098-5589", bibdate = "Tue Jan 23 05:54:52 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/tse/tse3.html#DonovanJ77", annote = "incomplete", oldlabel = "DonovanJ77", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/tse/DonovanJ77", } @Book{Hartmann:1977:CPC, author = "A. C. Hartmann", key = "Hartmann", title = "A Concurrent Pascal Compiler for MiniComputers", publisher = pub-SV, address = pub-SV:adr, year = "1977", bibdate = "Fri Jul 27 13:37:33 1984", annote = "This book describes a seven pass compiler for Per Brinch Hansen's Concurrent Pascal programming language. It requires 16,500 16-bit words of storage on a PDP-11/45 computer, and compiles source text at the rate of 240 characters per second (about 9--10 lines per second). It generates code for an ideal virtual machine that is simulated by a real machine. The compiler is written in sequential Pascal and is easily transported to other machines. [from the preface] The compiler comprises seven passes: lexical analysis, syntax analysis, name analysis, declaration analysis, body analysis, code selection, and code assembly. After an introduction and a chapter on each of the passes, there are chapters on interpass topics, the virtual machine, and implementation details. An appendix provides syntax graphs for all the intermediate languages, as well as the input and final code languages. The seven-pass compiler has been running on a PDP-ll/45 at CalTech since Jan 1975. Each pass is described along with the virtual code that is output by the last pass. The syntax graphs for each of the passes is also given.", keywords = "Concurrent Pascal", } @Article{Huxtable:1977:HSI, author = "D. H. R. Huxtable and J. M. M. Pinkerton", title = "The hardware\slash software interface of the {ICL} 2900 range of computers", journal = j-COMP-J, volume = "20", number = "4", pages = "290--295", month = nov, year = "1977", CODEN = "CMPJA6", ISSN = "0010-4620", bibdate = "Tue Mar 25 13:51:56 MST 1997", bibsource = "Compendex database; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/290.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/291.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/292.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/293.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/294.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/295.tif", acknowledgement = ack-nhfb, classcodes = "C5220 (Computer architecture); C6150 (Systems software)", classification = "722; 723", corpsource = "International Computers Ltd., Bracknell, UK", keywords = "architecture; computer architecture; computer software; computer systems, digital; concurrent execution; hardware features; ICL 2900; independent processes; instruction set; interference; mutual; protection arrangements; support system software; virtual machines", treatment = "P Practical", } @Article{Keedy:1977:OIS, author = "J. L. Keedy", title = "An Outline of the {ICL} 2900 Series System Architecture", journal = "Australian Computer Journal", volume = "9", number = "2", pages = "53--62", year = "1977", abstract = "The system architecture of the ICL 2900 Series is outlined informally. Its central feature, the virtual machine concept, is described and related to virtual storage, segmentation and paging. The procedural approach is then discussed and its implementation by a stack mechanism is described. Further sections outline the protection mechanisms, and the instruction set and related features. Finally the virtual machine approach is related to global system activities. This paper has been written such that it may be of interest to readers without a specialist knowledge of computer archi tecture.", keywords = "Computer Architecture, ICL 2900 series, Virtual memory, descriptors, segmentation, Paging, Procedural stacks, Protection. 6.21, 4.32.", } @MastersThesis{Wilding-White:1977:MBI, author = "Arthur Llewellyn Wilding-White", title = "A microprocessor {BCPL} implementation based on a virtual stack machine", type = "Thesis ({B.S.})", school = "Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology", address = "Cambridge, MA, USA", pages = "143", year = "1977", bibdate = "Mon Apr 10 10:43:19 MDT 2006", bibsource = "library.mit.edu:9909/mit01", note = "Supervised by Stephen A. Ward.", acknowledgement = ack-nhfb, subject = "Microprocessors; BCPL (Computer program language); Virtual computer systems", } @Article{Armstrong:1978:PPC, author = "J. L. Armstrong", title = "Programming a Parallel Computer for Robot Vision", journal = j-COMP-J, volume = "21", number = "3", pages = "215--218", month = aug, year = "1978", CODEN = "CMPJA6", ISSN = "0010-4620", bibdate = "Tue Mar 25 13:51:56 MST 1997", bibsource = "Compendex database; http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/215.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/216.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/217.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/218.tif", abstract = "Work a Edinburgh has directed itself towards the automatic recognition and inspection of objects in an industrial environment using a television camera. A particular need for such systems arises in the context of numerically controlled machine tools. FORTRAN emulators of the CLIP array processor have enabled preliminary tests to be made of a parallel approach to removing noise and extracting primitive features from digitized pictures.", acknowledgement = ack-nhfb, classcodes = "C3355C (Control applications in machining processes and machine tools); C3355 (Control applications in manufacturing processes); C6110 (Systems analysis and programming); C7420 (Control engineering computing)", classification = "721; 723; 731; 741", corpsource = "Machine Intelligence Res. Unit, Univ. of Edinburgh, Edinburgh, UK", keywords = "automatic recognition; camera; CLIP array processor; computer programming; computerised pattern recognition; computerised picture; emulators; FORTRAN; industrial environment; industrial robots; inspection of objects; numerical control; numerically controlled machine tools; parallel approach; parallel computer; parallel processing; processing; programming; robot vision; robots; television; virtual machines; vision --- Computer Applications", treatment = "T Theoretical or Mathematical", } @Article{Bard:1978:AMV, author = "Y. Bard", title = "An analytic model of the {VM\slash 370} system", journal = j-IBM-JRD, volume = "22", number = "5", pages = "498--508", month = sep, year = "1978", CODEN = "IBMJAE", ISSN = "0018-8646", bibdate = "Mon Feb 12 09:58:53 MST 2001", bibsource = "Compendex database", abstract = "An Analytic model is described of an interactive multiprogrammed computer system. The model accepts a multiple-user-class, transaction-oriented workload description and a system configuration description, and it produces predictions of resource utilizations, transaction rates, and average transaction response times. The solution method involves nearly complete decomposition, with a closed queuing network representing the multiprogrammed set. Asymptotic formulas are used to generate good initial guesses for an overall iterative scheme. Extensive validation results are presented.", acknowledgement = ack-nhfb, classcodes = "C6150J (Operating systems)", classification = "722; 723", corpsource = "Cambridge Sci. Center, IBM, Cambridge, MA, USA", journalabr = "IBM J Res Dev", keywords = "analytic model; average; closed queuing network; computer performance prediction; computer selection and evaluation; computer systems programming --- Multiprogramming; computer systems, digital; interactive multiprogrammed computer; interactive systems; iterative scheme; multiprogrammed set model; multiprogramming; resource utilizations; system; transaction rates; transaction response times; validation; virtual machines; virtual storage; VM/370", treatment = "A Application", ZMnumber = "382.68033", } @Article{Cremers:1978:FMV, author = "Armin B. Cremers and Thomas N. Hibbard", title = "Formal Modeling of Virtual Machines", journal = j-IEEE-TSE, volume = "4", number = "5", pages = "426--436", month = sep, year = "1978", CODEN = "IESEDJ", ISSN = "0098-5589", bibdate = "Tue Jan 23 05:53:37 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/tse/tse4.html#CremersH78", annote = "incomplete", oldlabel = "CremersH78", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/tse/CremersH78", } @Manual{Forum:1978:VMI, author = "IBM (Forum)", title = "On Virtual Machine Integrity", year = "1978", } @Article{Kumar:1978:PEH, author = "B. Kumar and Edward S. Davidson", title = "Performance Evaluation of Highly Concurrent Computers by Deterministic Simulation", journal = j-CACM, volume = "21", number = "11", pages = "904--913", month = nov, year = "1978", CODEN = "CACMA2", ISSN = "0001-0782", bibdate = "Mon Jan 22 06:56:38 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm21.html#KumarD78", abstract = "Simulation is presented as a practical technique for performance evaluation of alternative configurations of highly concurrent computers. A technique is described for constructing a detailed deterministic simulation model of a system. In the model a control stream replaces the instruction and data streams of the real system. Simulation of the system model yields the timing resource usage statistics needed for performance evaluation, without the necessity of emulating the system. As a case study, the implementation of a simulation of a model of the CPU-memory subsystem of the IBM 360\slash 191 is described. The results of evaluating some alternative system designs are discussed. The experiments reveal that, for the case study, the major bottlenecks in the system are the memory unit and the fixed point unit. Further, it appears that many of the sophisticated pipelining and buffering techniques implemented in the architecture of the IBM 360\slash 91 are of little value when high-speed (cache) memory is used, as in the IBM 360\slash 195.", acknowledgement = ack-nhfb, classcodes = "C5220 (Computer architecture); C6150G (Diagnostic, testing, debugging and evaluating systems); C7430 (Computer engineering)", classification = "722; 723", corpsource = "Univ. of Illinois, Urbana, IL, USA", journalabr = "Commun ACM", keywords = "computer selection and evaluation; computer systems, digital; CPU memory subsystem; deterministic simulation; highly concurrent computers; IBM 360/91; multiprocessing systems; performance evaluation; virtual machines", oldlabel = "KumarD78", treatment = "P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/KumarD78", } @TechReport{Renaud:1978:UVM, author = "D. J. Renaud", title = "The {UT} Virtual Machine Monitor", type = "Technical Report", number = "CS-TR-78-78", institution = "University of Texas at Austin, Department of Computer Sciences", address = "Austin, TX, USA", day = "1", month = may, year = "1978", bibdate = "November 24, 98", note = "Wed, 23 Jun 104 21:38:33 GMT", URL = "ftp://ftp.cs.utexas.edu/pub/techreports/tr78-78a.pdf ftp://ftp.cs.utexas.edu/pub/techreports/tr78-78b.pdf", } @Article{Attanasio:1979:VCS, author = "C. R. Attanasio", title = "Virtual Control Storage --- Security Measures in {VM\slash 370}", journal = j-IBM-SYS-J, volume = "18", number = "1", pages = "93--110", year = "1979", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Wed Jan 08 16:35:07 1997", bibsource = "Compendex database", abstract = "An experimental extension to VM\slash 370 is described whereby a distinct execution and data domain (Virtual Control Storage) is made available to virtual machines that require access to a resource manager, without requiring a change in the scheduling unit. Thus scheduling overhead and delays are avoided when transition is made between user program and resource manager. A mechanism is described for exchanging data between execution domains by means of address-space mapping.", acknowledgement = ack-nhfb, classification = "722; 723", journalabr = "IBM Syst J", keywords = "computer systems, digital", } @InProceedings{Canon:1979:VME, author = "M. D. Canon and D. H. Fritz and John H. Howard and T. D. Howell and Michael F. Mitoma and Juan Rodriguez-Rossel", booktitle = "Proceedings of the 7th ACM Symposium on Operating Systems Principles (SOSP)", title = "A Virtual Machine Emulator for Performance Evaluation (Summary)", publisher = pub-ACM, address = pub-ACM:adr, pages = "1--??", year = "1979", CODEN = "OSRED8", ISSN = "0163-5980", bibdate = "Sat Jan 27 15:11:21 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/sosp/sosp79.html#CanonFHHMR79", series = j-OPER-SYS-REV, oldlabel = "CanonFHHMR79", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/CanonFHHMR79", } @PhdThesis{Halstead:1979:RTN, author = "R. H. Halstead", key = "Halstead", title = "Reference Tree Networks: Virtual Machine and Implementation", type = "Thesis ({Ph.D.})", school = "Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology", address = "Cambridge, MA, USA", pages = "252", year = "1979", bibdate = "Wed Nov 5 09:49:44 1986", note = "Also issued as Technical Report MIT/LCS/TR-222.", abstract = "A current-technology computing machine may be roughly decomposed into a processor, a memory, and a data path connecting them. The interposition of this data path between processing and storage elements creates a bottleneck, which inhibits progress at the high-performance end of the technological spectrum. Additionally, the monolithic nature of present-day processors resists incremental addition or removal of processing power. The research described here attacks the problem of constructing more powerful and more flexible computer systems along three fronts: the definition of a virtual machine providing for parallel computation using objects and object references, the development of a distributed implementation mechanism ({"}reference trees{"}) supporting object management functions including garbage collection, and the reinvestigation of scheduling algorithms and collection performance results. A reference tree network using these concepts is composed of a multitude of independent small processors, yet operates as a coherent programming system. Programs and data spread automatically and transparently through the network to occupy underused resources. The modular structure of the network provides many parallel data paths as well as allowing for easy addition or removal of modules, thus addressing some of the problems discussed above. A prototype reference tree network, the MuNet, is currently in operation. {AD A076-570}", notes = "Cost is \$26. Keywords: message passing, distributed computing, multiprocessor systems, distributed object management, networks", owner = "seufert", } @Article{Hendricks:1979:EVM, author = "Edson C. Hendricks and Timothy C. Hartmann", title = "Evolution of a Virtual Machine Subsystem", journal = j-IBM-SYS-J, volume = "18", number = "1", pages = "111--142", year = "1979", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:25:19 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#HendricksH79", abstract = "Early investigation of virtual machine subsystem flexibility centered on telecommunications support and intercomputer networking and proceeded in two phases. The first phase focused on an experimental program for the virtual machine control program CP-67 that supported remote work stations and pioneered intercomputer spool communications. The results of that effort inspired a second effort in the same area with some significant redirection. This second phase ultimately led to the remote spooling communications subsystem component of VM\slash 370, the VM\slash 370 networking package (VNET), and a large network of interactive computer systems within IBM. These phases are discussed along with suggestions for several continuing lines of work based on current results.", acknowledgement = ack-nhfb, classification = "722; 723", journalabr = "IBM Syst J", keywords = "computer systems, digital", oldlabel = "HendricksH79", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/HendricksH79", } @Article{Jensen:1979:FAC, author = "Richard M. Jensen", title = "A Formal Approach for Communication Between Logically Isolated Virtual Machines", journal = j-IBM-SYS-J, volume = "18", number = "1", pages = "71--92", year = "1979", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:25:57 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#Jensen79", abstract = "The growing use of the virtual machine concept has resulted in the necessity for communication between the virtual machines. The design and operation of the Virtual Machine Communication Facility is discussed as an approach to offering such communication. The facility is an interface allowing a logical connection between two or more virtual machines. Potential applications for this facility conclude the discussion.", acknowledgement = ack-nhfb, classification = "723", journalabr = "IBM Syst J", keywords = "computers, digital", oldlabel = "Jensen79", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/Jensen79", } @Article{Kobayashi:1979:SMC, author = "Y. Kobayashi and T. L. Kunii", title = "A simulation of a minicomputer controlled system and its use as a debugging tool", journal = j-COMP-J, volume = "22", number = "1", pages = "41--49", month = feb, year = "1979", CODEN = "CMPJA6", ISSN = "0010-4620", bibdate = "Tue Mar 25 13:51:56 MST 1997", bibsource = "Compendex database; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/41.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/42.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/43.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/44.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/45.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/46.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/47.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/48.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/49.tif", acknowledgement = ack-nhfb, classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", classification = "722; 723", corpsource = "Univ. of Tokyo, Tokyo, Japan", keywords = "computer programming languages --- Program Debugging; computer simulation; computerised control; computers, miniature; debugging real programs; mechanism; minicomputer controlled system; program debugging; simulation; time flow; virtual machines", treatment = "P Practical", } @Article{MacKinnon:1979:CVM, author = "Richard A. MacKinnon", title = "The Changing Virtual Machine Environment: Interfaces to Real Hardware, Virtual Hardware, and Other Virtual Machines", journal = j-IBM-SYS-J, volume = "18", number = "1", pages = "18--46", year = "1979", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Mon Jan 22 13:27:26 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#MacKinnon79; Compendex database", abstract = "A survey is presented of changes to virtual machine interfaces, implementation, architecture, and simulation techniques as they affect IBM System\slash 370 and 303X (3031, 3032, 3033) processors, the system control program to which virtual machines interface, and other virtual machines executing on the same real computing system or elsewhere. New uses of virtual machine subsystems are discussed as they relate to inter-virtual-machine communication.", acknowledgement = ack-nhfb, classification = "722; 723", journalabr = "IBM Syst J", keywords = "computer systems, digital", oldlabel = "MacKinnon79", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/MacKinnon79", } @TechReport{Moore:1979:IVM, author = "J. S. Moore II", title = "The Inter{LISP} Virtual Machine Specification", type = "Report", number = "CSL 76-5", institution = "Xerox, Palo Alto Research Center (PARC)", address = "Palo Alto, CA, USA", year = "1979", note = "Sep. 1976, Rvsd. March 1979", keywords = "LISP", } @Article{Parnas:1979:DSE, author = "D. L. Parnas", key = "Parnas", title = "Designing Software for Ease of Expansion and Contraction", journal = j-IEEE-TSE, volume = "SE-5", number = "2", pages = "128--138", month = mar, year = "1979", CODEN = "IESEDJ", ISSN = "0098-5589", annote = "Focuses on design of software that can be subseted and expanded. Families of programs sharing subsets of modules. Loops in the 'uses' relation should be avoided. Minimal program subset and minimal increments. Virtual machines, modules, uses relation. Criteria for letting a module use another module. Example. 21 references.", } @Article{Rajaraman:1979:PPV, author = "M. K. Rajaraman", title = "Performance prediction of a virtual machine", journal = "ACM perf. eval. rev. (SIGMETRICS)", volume = "8, 1-2", pages = "57--62", year = "1979", annote = "MODELING AND SIMULATION OF COMPUTER SYSTEMS HAVE TWO MAIN OBJECTIVES. FIRST, TO EVALUATE THE PERFORMANCE OF A GIVEN CONFIGURATION OF A MACHINE AND SECOND, TO DERIVE A MECHANISM FOR PREDICTION OF PERFORMANCE WHEN CONFIGURATION PARAMETERS CHANGE. THIS PAPER ADDRESSES THE SECOND ISSUE AND REPORTS THE RESULT OF A VIRTUAL MEMORY COMPUTER. THE RESULTS INDICATE WHICH VARIABLES OR COMBINATION OF VARIABLES HAVE SIGNIFICANT EFFECT ON THE PERFORMANCE AND", bydate = "CG", byrev = "Le", country = "USA", date = "29/08/79", descriptors = "Model; simulation; modeling; prediction; memory management; performance measure;", enum = "2494", language = "English", location = "RWTH-AC-DFV: TELL", references = "11", revision = "21/04/91", } @TechReport{Abramson:1980:WGL, author = "Harvey Abramson", title = "Why Is a Goto Like a Dynamic Vector in the {BCPL}-Slim Computing System", type = "Technical Report", number = "TR-80-09", institution = "Department of Computer Science, University of British Columbia", month = nov, year = "1980", bibdate = "July 21, 1997", note = "Mon, 21 Jul 1997 19:29:13 GMT", abstract = "The Slim computer is a new virtual machine which can be used in the translation and porting of the BCPL compiler, and eventually, in the porting of an operating system written in BCPL. For the purposes of this paper, the Slim computer is a stack machine with a single accumulator and a register which points to the top of the stack. The procedures LEVEL and LONGJUMP, traditionally used to implement transfers of control across BCPL procedures, and which are usually written in the assembler language of a host machine, cannot be used with this architecture. In developing procedures to implement \underline{all} transfers of control, we show how these essential procedures --- though highly dependent on the Slim architecture --- can be written portably in BCPL, and discover an interesting connection between implementing jumps and dynamic vectors (by means of Aptovec) in the BCPL-Slim computing system. Some parameters of portability in rapping an abstract machine to host machines are identified, and it is shown how to maintain the portability of the above mentioned procedures in the face of various mapping problems. Finally, we are led to a comment on the design of BCPL to the effect that \underline{goto}'s are an unnecessary feature of the language.", } @Article{Canon:1980:VME, author = "M. D. Canon and D. H. Fritz and John H. Howard and T. D. Howell and Michael F. Mitoma and Juan Rodriguez-Rossel", title = "A Virtual Machine Emulator for Performance Evaluation", journal = j-CACM, volume = "23", number = "2", pages = "71--80", year = "1980", CODEN = "CACMA2", ISSN = "0001-0782", bibdate = "Mon Jan 22 06:29:30 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/cacm/cacm23.html#CanonFHHMR80", acknowledgement = ack-nhfb, oldlabel = "CanonFHHMR80", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/CanonFHHMR80", } @InCollection{Dommergaard:1980:DVM, author = "O. Dommergaard", key = "Dommergaard80", booktitle = "Abstract Software Specifications", title = "The Design of a Virtual Machine for Ada", publisher = pub-SV, address = pub-SV:adr, pages = "463--605", year = "1980", annote = "Derives the design and formalizes the architecture of a virtual machine for efficient execution of Ada programs. This, the so-called A-code machine, is then the basis for a compiling algorithm specification.", } @TechReport{Dommergaard:1980:FDP, author = "S. Bodilsen O. Dommergaard", key = "Dommergaard\&80", title = "A Formal Definition of {P}-Code", institution = "Department of Comp. Sci.", address = "Techn. Univ. of Denmark", year = "1980", annote = "Like \cite{Dommergaard80a} this formalizes a(nother) virtual machine, that of P-Code, for efficient execution of Pascal programs.", } @Article{Groves:1980:DVM, author = "L. J. Groves and W. J. Rogers", title = "The design of a virtual machine for {Ada}", journal = j-SIGPLAN, volume = "15", number = "11", pages = "223--234", month = nov, year = "1980", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sun Dec 14 09:14:31 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6130 (Data handling techniques); C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)", conflocation = "Boston, MA, USA; 9--11 Dec. 1980", conftitle = "Proceedings of the ACM-SIGPLAN Symposium on the Ada Programming Language", corpsource = "Univ. of Waikato, Hamilton, New Zealand", keywords = "Ada; addressing; blocks; compiler portability; control flow; data handling; data storage; exceptions; generating code; machine-independent translator; manipulation; program compilers; program interpreters; storage allocation; storage structure; subprograms; task handling; virtual machine; virtual machines", treatment = "A Application", } @Article{Kent:1980:PNV, author = "S. A. Kent", title = "A Programmable Network Virtual Machine", journal = j-COMP-NET, volume = "4", number = "3", pages = "125--137", month = jun, year = "1980", CODEN = "CNETDP", ISSN = "0376-5075", bibdate = "Tue Jan 23 07:26:10 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cn/cn4.html#Kent80", acknowledgement = ack-nhfb, affiliation = "Univ Coll, London, Engl", annote = "The increasing diversity of resources which is becoming available to users through the introduction of computer networks has opened up new areas of investigation. One of the problems encountered is that of providing uniform and common access procedures where functionally similar facilities exist on different systems. \ldots{} One approach to solving these problems is to create an agent that is able both to automate remote access procedures on the \ldots{}", classification = "722; 723", descriptors = "Computer network; design; access control; network management;", enum = "1638", journalabr = "Comput Networks", keywords = "computer networks; computers, digital", language = "English", location = "RWTH-AC-DFV: Bibl.", oldlabel = "Kent80", references = "36", revision = "14/01/92", WARNING = "Additional, or modified, lettercase-preserving braces are likely to be required in title and booktitle fields.", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cn/Kent80", } @TechReport{Warren:1980:IPI, author = "D. H. D. Warren", key = "Warren", title = "An Improved {Prolog} Implementation Which Optimises Tail Recursion", type = "Research Paper", number = "156", institution = "Department of AI, Univeristy of Edinburgh", year = "1980", bibdate = "Wed Jul 13 12:29:53 1983", keywords = "Implementation; compiler; virtual machine; tail recursion", } @Article{Sarda:1981:CAD, author = "N. L. Sarda and J. R. Isaac", title = "Computer aided design of database internal schema", journal = j-INT-J-COMPUT-INF-SCI, volume = "10", number = "4", pages = "219--234", month = aug, year = "1981", CODEN = "IJCIAH", ISSN = "0091-7036", bibdate = "Sat Apr 26 12:20:22 MDT 1997", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6120 (File organisation); C6160 (Database management systems (DBMS)); C7430 (Computer engineering)", corpsource = "Computer Centre, Indian Inst. of Technol., Bombay, India", keywords = "data structures; database management systems; systems analysis; virtual machines; computer aided design; data structures; database internal schema; design; database systems", treatment = "P Practical", } @InProceedings{Wang:1981:VMB, author = "Richard T. Wang and James C. Browne", title = "Virtual Machine-Based Simulation of Distributed Computing and Network Computing", crossref = "ACM:1981:ASC", pages = "154--156", year = "1981", bibdate = "Tue Jan 23 15:38:35 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/sigmetrics/sigmetrics81.html#WangB81", oldlabel = "WangB81", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sigmetrics/WangB81", } @TechReport{Abramsky:1982:SMV, author = "S. Abramsky", title = "{SECD-M}: a virtual machine for applicative multiprogramming", number = "QMW-DCS-1982-322; QMW-DCS-1982-339", institution = "Department of Computer Science, Queen Mary College", month = nov, year = "1982", note = "(LA has)", abstract-url = "http://www.dcs.qmw.ac.uk/publications/report_abstracts/1982/322; http://www.dcs.qmw.ac.uk/publications/report_abstracts/1982/339", keywords = "Applicative programming , functional programming, SECD machines multiprogramming, non-determinism, operating systems.", scope = "theory", } @TechReport{Baden:1982:HPS, author = "Scott B. Baden", title = "High Performance Storage Reclamation in an Object-Based Memory System", type = "Technical Report", number = "CSD-84-167", institution = "University of California, Berkeley", pages = "52", month = jun, year = "1982", bibdate = "June 22, 1993", abstract = "Measurements of the Smalltalk Virtual Machine indicate that 20\%-30\% of the time is spent reclaiming disused storage. Following the work of Deutsch, Bobrow, and Snyder [Deutsch and Bobrow 76] [Deutsch 82a] [Deutsch 82b] [Snyder 79] we introduce a strategy that reduces the overhead of storage reclamation by more than 80\%. We discuss the design of hardware to support this strategy, and compare the hardware to a traditional software implementation. We conclude by suggesting directions for future research.", } @Article{Ganapathi:1982:RCC, author = "Mahadevan Ganapathi and Charles N. Fischer and John L. Hennessy", key = "Ganapathi et al.", title = "Retargetable Compiler Code Generation", journal = j-COMP-SURV, volume = "14", number = "4", pages = "573--592", month = dec, year = "1982", CODEN = "CMSVAN", ISSN = "0010-4892", bibdate = "Wed Dec 18 07:42:17 MST 1996", bibsource = "Compendex database", note = "See also \cite{Wulf:1983:SFR,Ganapathi:1983:SFRa,Fraser:1983:SFR,Ganapathi:1983:SFRb}.", abstract = "A classification of automated retargetable code generation techniques and a survey of the work on these techniques is presented. Retargetable code generation research is classified into three categories: interpretive code generation, pattern-matched code generation, and table-driven code generation. Interpretive code generation approaches generate code for a virtual machine and then expand into real target code. Pattern-matched code generation approaches separate the machine description from the code generation algorithm. Table-driven code generation approaches employ a formal machine description and use a code-generator generator to produce code generators automatically. An analysis of these techniques and a critique of automatic code generation algorithms are presented.", acknowledgement = ack-nhfb, classification = "723", keywords = "computer programming languages; Code generator generator; compiler compiler; intermediate representation; machine-dependent optimization; machine description", owner = "manning", } @Article{Thanh:1982:ITC, author = "Nguyen the Thanh and E. Walter Raschner", title = "Indirect threaded code used to emulate a virtual machine", journal = j-SIGPLAN, volume = "17", number = "5", pages = "80--89", month = may, year = "1982", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Tue Oct 28 16:17:03 MST 2003", bibsource = "http://portal.acm.org/", acknowledgement = ack-nhfb, classification = "C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)", corpsource = "E. Walter Raschner, Nixdorf Computer AG, Paderborn, West Germany", keywords = "assembler programs; codes; Indirect Threaded Code; Pascal compiler; program assemblers; program interpreters; Threaded Code; virtual machine; virtual machines", treatment = "P Practical", } @Article{Unger:1982:OSZ, author = "B. Unger and D. Bidulock and G. Lomow and P. Belanger and C. Hankins and N. Jain", title = "An {OASIS} simulation of the {ZNET} microcomputer network", journal = j-IEEE-MICRO, volume = "2", number = "3", pages = "70--84", month = aug, year = "1982", CODEN = "IEMIDZ", ISSN = "0272-1732", bibdate = "Thu Dec 14 06:08:58 MST 2000", bibsource = "Science Citation Index database (1980--2000)", acknowledgement = ack-nhfb, classcodes = "C5620 (Computer networks and techniques); C7430 (Computer engineering)", corpsource = "Univ. of Calgary, Alta., Canada", keywords = "architecture; communication protocols; computer networks; distributed programs; hardware; local; MCZ-2; microcomputer network; multicomputer; network; OASIS; prototype software; Prototyping System; simulation; software; Software; systems; virtual machines; Zilog; ZNET", treatment = "P Practical", xxauthor = "B. Unger and P. Belanger and D. Bidulock and C. Hankins and N. Jain and G. Lomow", } @TechReport{Baker:1983:MAS, author = "T. P. Baker", title = "Mapping Ada onto a Simple Virtual Machine", number = "ADA-83-02", institution = "Florida State University", year = "1983", } @TechReport{Cohen:1983:PSR, author = "Shismon Cohen and Roni Rosner and Ari Zidon", title = "{PARALISP Simulator (Reference Manual)}", type = "Research Report", number = "83-2", institution = "Computer Science Department, Hebrew University", address = "Jerusalem, Israel", month = jan, year = "1983", abstract = "PLISP (``Parallel Lisp'') is the current implementation of ``Senile Parallel Execution of Lisp Programs'' (Lehmann and Cohen). PLISP may be thought of as a virtual machine designed to evaluate LISP expressions in a parallel fashion. The language of this virtual machine is PARALISP. This means, for example, that when a function application contains several formal arguments, these arguments may be evaluated in parallel, under the assumption that there are no dependencies, or side effects. Therefore, PARALISP is a version of LISP designed to enable parallel evaluation to occur without side effects.", keywords = "functional parallel; Lisp", } @Article{Gum:1983:SEA, author = "Peter H. Gum", title = "{System\slash 370} Extended Architecture: Facilities for Virtual Machines", journal = j-IBM-JRD, volume = "27", number = "6", pages = "530--544", month = nov, year = "1983", CODEN = "IBMJAE", ISSN = "0018-8646", bibdate = "Mon Jan 22 13:12:28 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/ibmrd/ibmrd27.html#Gum83; Compendex database", abstract = "This paper describes the evolution of facilities for virtual machines on IBM System\slash 370 computers, and presents the elements of a new architectural facility designed for the virtual-machine environment. Assists that have been added to various System\slash 370 models to support the use of virtual machines are summarized, and a general facility for this purpose which was introduced with the System\slash 370 Extended Architecture (370-XA) is described.", acknowledgement = ack-nhfb, classcodes = "C5220 (Computer architecture); C7430 (Computer engineering)", classification = "723", corpsource = "IBM Information Systems and Technol. Group, Poughkeepsie, NY, USA", journalabr = "IBM J Res Dev", keywords = "370-XA architecture; computer architecture; computers; data storage, digital; dynamic address translation; Extended Architecture; IBM System/370; privileged instructions; virtual machines", oldlabel = "Gum83", treatment = "P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmrd/Gum83", } @Article{Kamrad:1983:ROA, author = "III J. M. Kamrad", key = "Kamrad", title = "Runtime Organization for the Ada Language System Programs", journal = "Ada Letters", volume = "III", number = "3", pages = "58--68", month = nov, year = "1983", bibdate = "Wed Mar 6 10:04:32 1985", abstract = "The runtime organization provides the execution environment for generated code of a source program. The runtime organization includes the primitive data elements, such as scalar and composite data objects; system data elements, such as stack and heaps; and a runtime system to provide functionality not supported in the target computer. In effect the runtime organization provides an abstract or virtual machine. This paper is a brief overview of the runtime organization that is the execution environment for the code generated by the Ada compiler in the Army Ada Language System. Since this compiler translates the full Ada language, the runtime organization must provide support not normally found in other languages, such as exception handling and tasking. As retargetability is a major goal of the Ada Language System, The runtime organization must also exist on many targets, both with or without an operating system support. While this paper specifically describes the runtime organization for the VAX/VMS 11/780, it does explore the design flexibility that enables the design to support generated code over a variety of targets.", } @InProceedings{Kojima:1983:AMI, author = "Tomihiko Kojima and Hidehiko Akita and Hisashi Hashimoto", title = "An Approach to a Machine Independent {UNIX} --- {UNIX} on {HITAC M-series} Virtual Machines", crossref = "STUG:1983:PUA", pages = "363--369", month = "Summer", year = "1983", bibdate = "Fri Oct 18 07:24:24 MDT 1996", bibsource = "ftp://ftp.uu.net/library/bibliography", acknowledgement = ack-nhfb, affiliation = "Hitachi Ltd.", } @Article{Mendelsohn:1983:RVF, author = "Noah Mendelsohn and Mark H. Linehan and William J. Anzick", title = "Reflections on {VM\slash Pass-Through}: a Facility for Interactive Networking", journal = j-IBM-SYS-J, volume = "23", number = "1-2", pages = "63--79", year = "1983", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Wed Jan 08 16:35:07 1997", bibsource = "Compendex database", abstract = "An introduction to Pass-Through networking describes features of the system, supported configurations, and use of Pass-Through within the IBM Corporation. A brief history of Pass-Through's development is also provided. Pass-Through is then used to motivate a technical discussion of interactive network technology and virtual machine subsystems. Topics covered include appropriate use of the virtual machine environment, choice of routing strategy, and performance considerations.", acknowledgement = ack-nhfb, classification = "723", journalabr = "IBM Syst J", keywords = "computer networks", } @InProceedings{Gold:1984:KR, author = "B. D. Gold and R. R. Linde and P. F. Cudney", title = "{KVM\slash 370} In Retrospect", crossref = "IEEE:1984:PSS", pages = "13--23", year = "1984", annote = "KVM/370 (Kernelized Virtual Machine System 370) is based on IBM's Virtual Machine operating system, VM/370. KVM/370 is a general purpose operating system that enforces DoD military security policy using kernel technology. Funded as a small research project in 1976, the system has undergone continuous development since 1978 when implementation was begun by System Development Corporation. This paper describes KVM/370's architecture, security controls and performance. Based on insights gained during the retrofit, recommendations are made as to how a more efficient system might be designed.", } @Article{Ibsen:1984:PVM, author = "Leif Ibsen", title = "A Portable Virtual Machine for {Ada}", journal = j-SPE, volume = "14", number = "1", pages = "17--29", month = jan, year = "1984", CODEN = "SPEXBL", ISSN = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", acknowledgement = ack-nhfb, } @InProceedings{Kim:1984:EVM, author = "K. H. Kim", title = "Evolution of a Virtual Machine Supporting Fault-Tolerant Distributed Processes at a Research Laboratory", crossref = "IEEE:1984:DE", pages = "620--628", month = apr, year = "1984", bibdate = "Sat Jan 27 14:07:28 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/icde/icde84.html#Kim84", URL = "http://dblp.uni-trier.de/db/conf/icde/Kim84.html", bookpages = "????", cdrom = "ICDE84/P620.pdf", cites-label = "B1 (\ldots{}); C1 (\ldots{}); H1 (books/sp/Hartmann77); H2 (\ldots{}); K1 (\ldots{}); K2 (\ldots{}); V1 (\ldots{})", oldlabel = "conf/icde/Kim84", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/icde/Kim84", } @Article{MacGregor:1984:MM, author = "Doug MacGregor and Dave Mothersole and Bill Moyer", title = "The {Motorola MC68020}", journal = j-IEEE-MICRO, volume = "4", number = "4", pages = "101--118", month = aug, year = "1984", CODEN = "IEMIDZ", ISSN = "0272-1732", bibdate = "Thu Dec 14 06:08:58 MST 2000", bibsource = "Compendex database; Science Citation Index database (1980--2000)", acknowledgement = ack-nhfb, classcodes = "B1265F (Microprocessors and microcomputers); C5130 (Microprocessor chips)", classification = "722; 723; 902", corpsource = "Motorola Inc., Austin, TX, USA", keywords = "32-bit microprocessor; cache; compatibility; computer interfaces; computer programming --- Modular Construction; computers, microprocessor; coprocessor interface; high-speed asynchronous bus; instruction; instruction set; microprocessor chips; Motorola MC 6802; Motorola MC68020; performance; programmer's model; system enhancements; testability; virtual memory/virtual machine", treatment = "P Practical", } @Article{SPE::Ibsen1984, author = "Leif Ibsen", title = "A Portable Virtual Machine for {Ada}", journal = j-SPE, volume = "14", number = "1", pages = "17--29", month = jan, year = "1984", } @Article{Steensgaard-Madsen:1984:DPL, author = "J. Steensgaard-Madsen and L. M. Olsen", title = "Definition of the programming language {MODEF}", journal = j-SIGPLAN, volume = "19", number = "2", pages = "92--110", month = feb, year = "1984", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6140D (High level languages)", keywords = "application programs; data abstraction; discrete events; high level languages; MODEF; programming; programming language; semantics; sequential process; statement-oriented approach; user defined operators; virtual machine virtual machine", treatment = "A Application; P Practical", } @MastersThesis{Turek:1984:IDV, author = "John Joseph E. Turek", title = "Issues in the design of a virtual network for the connection machine", type = "Thesis ({B.S.})", school = "Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology", address = "Cambridge, MA, USA", pages = "67", year = "1984", bibdate = "Mon Apr 10 10:56:30 2006", note = "Supervised by Thomas Knight.", acknowledgement = ack-nhfb, } @InCollection{Uehara:1984:BPB, author = "K. Uehara and R. Ochitani and O. Kakusho and J. Toyoda", booktitle = "1984 International Symposium on Logic Programming", title = "A Bottom-up Parser Base on Predicate Logic: a Survey of the Formalism and its Implementation Techniques", publisher = pub-IEEE, address = pub-IEEE:adr, year = "1984", ISBN = "0-8186-0522-7", ISBN-13 = "978-0-8186-0522-2", note = "CH2007-3/84/0000-0220\$01.00", abstract = "The authors present a grammar formalism for natural language analysis based on the subset of predictive logic, called PAMPS, and its implementation technique. PAMPS has a bottom-up, left-to-right, parallel parser, augmented by topdown filtering and a look-ahead facility. Rules of a PAMPS grammar can have procedures included in their right-hand sides, defined as Horn clauses. These procedures are executed in a to-down, depth-first manner. PAMPS can thus be seen to be an elaborate mixture of an efficient bottom-up parser and the programming language PROLOG. The authors have developed two versions of PAMPS implementation. One is an interpreter, and the other is a virtual machine and its compiler. The technique for the virtual machine is based on that of the DEC-10 PROLOG. Some modifications are added so that the technique for the virtual machine does not depend on any particular searching strategy. It runs faster than the interpreter by a factor of 20 to 76. The technique is also useful in implementing pseudo or-parallelism of PROLOG on a sequential machine.", keywords = "Program Compilers; Programming Theory; Software Engineering", } @InProceedings{Abramski:1985:SMV, author = "S. Abramski and R. Sykes", editor = "Jean-Pierre Jouannaud", booktitle = "{FPCA '85, Functional Programming Languages and Computer Architecture}", title = "{Secd-m: A Virtual Machine for Applicative Programming}", volume = "201", publisher = pub-SV, address = pub-SV:adr, pages = "81--98", year = "1985", series = "Lecture Notes in Computer Science", abstract = "We present a virtual machine to support {\em applicative multiprogramming\/} --- the description of concurrent, asynchronous systems such as operating systems in a functional style. The machine extend's Landin's secd machine to support multiple concurrent expression evaluation, non-determinism in the form of the fair merge, and a full range of input and output devices. This allows system programs to be written in a functional style. The secd-m machine has been implemented and a number of functional concurrent programs demonstrated.", keywords = "SECD, Abstract Machine, Operating System", } @InCollection{Abramsky:1985:SMV, author = "Samson Abramsky and R. Sykes", title = "{{\sc SECD-M}}: {A} virtual machine for applicative programming", crossref = "Jouannaud:1985:FPL", pages = "81--98", month = sep, year = "1985", bibdate = "Tue Jan 23 22:52:55 MST 2001", bibsource = "http://dblp.uni-trier.de/db/conf/fpca/fpca85.html#AbramskyS85", abstract = "We present a virtual machine to support applicative multiprogramming - the description of concurrent, asynchronous systems such as operating systems in a functional style. The machine extend's Landin's secd machine to support multiple concurrent expression evaluation, non-determinism in the form of the fair merge, and a full range of input and output devices. This allows system programs to be written in a functional style. The secd-m machine has been implemented and a number of functional concurrent programs demonstrated.", keywords = "functional nancy symposium parallel non-determinism", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/fpca/AbramskyS85", } @InProceedings{Bachrach:1985:XVM, author = "Jonathan Bachrach and John Wallerius and Jehan-Fran{\c{c}}ois Paris", title = "A {XINU} Virtual Machine", crossref = "USENIX:1985:SCP", pages = "348--355", month = "Summer", year = "1985", bibdate = "Fri Oct 18 07:24:24 MDT 1996", bibsource = "ftp://ftp.uu.net/library/bibliography", acknowledgement = ack-nhfb, affiliation = "University of California, San Diego", } @Article{Clocksin:1985:DSS, author = "W. F. Clocksin", title = "Design and simulation of a sequential {PROLOG} machine", journal = "New Generation Comput.", volume = "3", number = "1", address = "Japan", pages = "101--20", year = "1985", abstract = "PROLOG-X is an implemented portable interactive sequential prolog system in which clauses are incrementally compiled for a virtual machine called the ZIP machine. At present, the ZIP machine is emulated by software, but it has been designed to permit easy implementation in microcode or hardware. PROLOG-X running on the software-based emulator provides performance comparable with existing prolog interpreters. To demonstrate its efficiency, compatibility, and comprehensiveness of implementation, PROLOG-X has been used to compile and run several large applications programs. Several novel techniques are used in the implementation, particularly in the areas of the representation of the record database, the selection of clauses, and the compilation of arithmetic expressions.", keywords = "program compilers; PROLOG; program interpreters; virtual machines", } @Article{Gaudiot:1985:PES, author = "J. L. Gaudiot and M. D. Ercegovac", title = "Performance evaluation of a simulated data-flow computer with low-resolution actors", journal = j-J-PAR-DIST-COMP, volume = "2", number = "4", pages = "321--351", month = nov, year = "1985", CODEN = "JPDCER", ISSN = "0743-7315", bibdate = "Mon Apr 14 07:47:33 1997", bibsource = "Compendex database", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Southern California, Los Angeles, CA, USA", classification = "713; 723; 921; C5220 (Computer architecture); C5440 (Multiprocessing systems); C5470 (Performance evaluation and testing); C7430 (Computer engineering)", corpsource = "Comput. Res. Inst., Univ. of Southern California, Los Angeles, CA, USA", journalabr = "J Parallel Distrib Comput", keywords = "array handling; associative memory cycle time; chain; communication costs; communication issues; computer; computer architecture; computer programming languages; computer simulation; computer systems, digital --- Performance; computers --- Data Communication Systems; daisy; deterministic simulation; directed acyclic graphs; dual counter-rotating rings; evaluation; integrated circuits, VLSI; interconnection networks; low-resolution actors; Mathematical Models; operations; optimal double loop network; parallel processing; parallelism limitation; performance; performance degradation; performance evaluation; program structures; simulated data-flow; simulated data-flow computer; size actors; variable-; variable-resolution scheme; vector; virtual machines", treatment = "X Experimental", } @Manual{IBM:1985:VM, author = "{IBM}", title = "Virtual machine", organization = "IBM Corporation", address = "Endicott, NY, USA", edition = "Fourth", pages = "282", year = "1985", LCCN = "QA76.9.V5 V451 1985", bibdate = "Mon Apr 10 10:43:28 MDT 2006", bibsource = "melvyl.cdlib.org:210/CDL90", acknowledgement = ack-nhfb, remark = "Publication number SX20-4400-3.", subject = "Virtual computer systems; IBM 370 (Computer)", } @Article{Nanba:1985:VAV, author = "S. Nanba and N. Ohno and H. Kubo and H. Morisue and T. Ohshima and H. Yamagishi", title = "{VM\slash 4}: {ACOS-4} virtual machine architecture", journal = j-COMP-ARCH-NEWS, volume = "13", number = "3", pages = "171--178", month = jun, year = "1985", CODEN = "CANED2", ISSN = "0163-5964", bibdate = "Fri May 12 09:40:54 MDT 2006", bibsource = "", bibsource = "http://dblp.uni-trier.de/db/conf/isca/isca85.html#NanbaOKMOY85; http://portal.acm.org/", acknowledgement = ack-nhfb, oldlabel = "NanbaOKMOY85", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/isca/NanbaOKMOY85", } @Article{Ballard:1986:QSD, author = "M. B. Ballard and D. Maier and A. Wirfs-Brock", title = "{QUICKTALK}: a {Smalltalk-80} dialect for defining primitive methods", journal = j-SIGPLAN, volume = "21", number = "11", pages = "140--140", month = nov, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", abstract = "QUICKTALK is a dialect of Smalltalk-80 that can be compiled directly into native machine code, instead of virtual machine bytecodes. The dialect includes ``hints'' on the class of method arguments, instance variables, and class variables. We designed the dialect to describe primitive Smalltalk methods. QUICKTALK achieves improved performance over bytecodes by eliminating the interpreter loop on bytecode execution, by reducing the number of message send/returns via binding some target methods at compilation, and by eliminating redundant class checking. We identify changes to the Smalltalk-80 system and compiler to support the dialect, and give performance measurements.", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", conflocation = "Portland, OR, USA; 29 Sept.-2 Oct. 1986", conftitle = "OOPSLA '86. Object-Oriented Programming Systems, Languages and Applications. Conference Proceedings", corpsource = "Oregon Graduate Center, Beaverton, OR, USA", keywords = "bytecode execution; bytecodes; high level languages; interpreter loop; machine code; performance measurements measurements; primitive methods; QUICKTALK; redundant class checking; Smalltalk-80; virtual machine bytecodes", owner = "manning", pubcountry = "USA A14", sponsororg = "ACM", treatment = "P Practical", } @Article{Bhaskar:1986:VIO, author = "K. S. Bhaskar and J. K. Peckol and J. L. Beug", title = "{Virtual Instruments}: object-oriented program synthesis", journal = j-SIGPLAN, volume = "21", number = "11", pages = "303--303", month = nov, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", acknowledgement = ack-nhfb, classification = "C6115 (Programming support); C7410D (Electronic engineering)", conflocation = "Portland, OR, USA; 29 Sept.-2 Oct. 1986", conftitle = "OOPSLA '86. Object-Oriented Programming Systems, Languages and Applications. Conference Proceedings", keywords = "automatic test equipment; Berkeley Smalltalk; bottom-up synthesis; human interface models; interface models; object-oriented program synthesis; programming environment; programming environments; programming paradigm; software development; SUN workstation; test engineers; user interfaces; Virtual Instruments; virtual machines", pubcountry = "USA B05", sponsororg = "ACM", treatment = "P Practical", } @TechReport{Danvy:1986:LVM, author = "Olivier Danvy", title = "{LILA}: a Virtual Machine for Functional and Declarative Languages", number = "86--38", institution = "LITP, France", month = may, year = "1986", note = "Workshop on Future Directions in Computer Science and Software", } @InProceedings{Genter:1986:UVM, author = "Robert E. (Rick) Genter", title = "{Unix} as a Virtual Machine Environment", crossref = "USENIX:1986:SCP", pages = "475--485", month = "Summer", year = "1986", bibdate = "Fri Oct 18 07:24:24 MDT 1996", bibsource = "ftp://ftp.uu.net/library/bibliography", acknowledgement = ack-nhfb, affiliation = "BBN Laboratories Inc.", } @Article{Ishikawa:1986:COO, author = "Y. Ishikawa and M. Tokoro", title = "A concurrent object-oriented knowledge representation language {Orient 84\slash K}: its features and implementation", journal = j-SIGPLAN, volume = "21", number = "11", pages = "232--232", month = nov, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", acknowledgement = ack-nhfb, classification = "C6140D (High level languages); C6150J (Operating systems)", conflocation = "Portland, OR, USA; 29 Sept.-2 Oct. 1986", conftitle = "OOPSLA '86. Object-Oriented Programming Systems, Languages and Applications. Conference Proceedings", corpsource = "Department of Electr. Eng., Keio Univ., Yokohama, Japan", keywords = "behavior part; concurrent object oriented language; concurrent object-oriented knowledge representation language; high level languages; implementation issues; knowledge systems; knowledge-base part; monitor part; multiprocessing programs; object framework; Orient 84/K; virtual machine", pubcountry = "USA A23", sponsororg = "ACM", treatment = "P Practical", } @TechReport{Lee:1986:DSE, author = "Joon Sup Lee", title = "{Dartmouth-Smalltalk: An Exercise in Implementation}", type = "Technical Report", number = "PCS-TR86-108", institution = "Dartmouth College, Computer Science", address = "Hanover, NH, USA", month = jan, year = "1986", bibdate = "January 20, 1995", abstract = "This report discusses a preliminary implementation of the Smalltalk-80 virtual machine for VAX/Unix.", } @TechReport{McDonald:1986:TND, author = "D. McDonald and J. Brooks and B. Woolf and P. Werner", title = "Transition Networks for Discourse Management", type = "Technical Report", number = "UM-CS-1986-034", institution = "University of Massachusetts, Amherst, Computer Science", month = dec # " 31,", year = "1986", bibdate = "April 3, 1996", abstract = "Transition networks are a natural notation for formalizing the space of actions and interpretations through which a program must navigate when holding a conversation with a human user [7], [19]. However, dissatisfaction with the augmented transition network formalism that we used in earlier work on tutoring dialogs [28] has led us to develop the new formalism that we present in this paper. We have implemented a program framework --- a virtual machine --- that defines a node and arc notation interpreted semantically in terms of situations (arcs) that dictate the actions (nodes) that the system is to take. Our work is based on analyses of recorded conversations and grounded in an experimental man-machine interface by which a human lawyer would get advice from a legal reasoning program. We present the motivations behind a discourse manager and its place within a man-machine interface, a definition of our formalism, and illustrations of its use in two different domains.", language = "English", notes = "This report is only available in hardcopy form. For ordering hard copies of reports which are currently unavailable via ftp, please send email to: techrept@cs.umass.edu U.S. mail to: Librarian Computer Science Department Lederle Graduate Research Center University of Massachusetts Amherst, Ma. 01003", retrieval = "Send email to techrept@cs.umass.edu", revision = "April 3, 1996", } @Article{Samples:1986:SSB, author = "A. Dain Samples and David Ungar and Paul Hilfinger", key = "Samples \& Ungar \& Hilfinger", title = "{SOAR}: {Smalltalk} without bytecodes", journal = j-SIGPLAN, volume = "21", number = "11", pages = "107--118", month = nov, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", abstract = "We have implemented Smalltalk-80 on an instruction-level simulator for a RISC microcomputer called SOAR. Measurements suggest that even a conventional computer can provide high performance for Smalltalk-80 by abandoning the `Smalltalk Virtual Machine' in favor of compiling Smalltalk directly to SOAR machine code, linearizing the object table, and replacing reference counting with a new technique called Generation Scavenging. In order to implement these techniques, we had to find new ways of hashing objects, accessing often-used objects, invoking blocks, referencing activation records, managing activation record stacks, and converting the virtual machine images.", acknowledgement = ack-nhfb, annote = "High performance for Smalltalk-80 results from abandoning the Smalltalk Virtual Machine, compiling directly into machine code, linearizing the activation records on the stack, eliminating the object table, and replacing reference counting with generation scavenging. 22 references.", classification = "C6140 (Programming languages); C6150 (Systems software)", conflocation = "Portland, OR, USA; 29 Sept.-2 Oct. 1986", conftitle = "OOPSLA '86. Object-Oriented Programming Systems, Languages and Applications. Conference Proceedings", corpsource = "Department of Electr. Eng. and Comput. Sci., California Univ., Berkeley, CA, USA", keywords = "activation records; bytecodes; Generation Scavenging; hashing objects; instruction level simulator; invoking blocks; microcomputers; often-used objects; programming languages; reference counting; RISC microcomputer; SOAR; SOAR machine code; virtual machine images; virtual machine images invoking blocks; virtual machines", owner = "manning", pubcountry = "USA A11", sponsororg = "ACM", treatment = "P Practical", } @TechReport{Schoen:1986:CS, author = "Eric Schoen", title = "The {CAOS} System", type = "Technical Report", number = "CS-TR-86-1125", institution = "Stanford University, Department of Computer Science", pages = "76", month = mar, year = "1986", bibdate = "May 01, 1995", abstract = "The CAOS system is a framework designed to facilitate the development of highly concurrent real-time signal interpretation applications. It explores the potential of multiprocessor architectures to improve the performance of expert systems in the domain of signal interpretation. CAOS is implemented in Lisp on a (simulated) collection of processor-memory sites, linked by a high-speed communications subsystem. The {"}virtual machine{"} on which it depends provides remote evaluation and packet-based message exchange between processes, using virtual circuits known as streams. To this presentation layer, CAOS adds (1) a flexible process scheduler, and (2) an object-centered notion of agents, dynamically-instantiable entities which model interpreted signal features. This report documents the principal ideas, programming model, and implementation of CAOS. A model of real-time signal interpretation, based on replicated {"}abstraction{"} pipelines, is presented. For some applications, this model offers a means by which large numbers of processors may be utilized without introducing synchronization-necessitated software bottlen