A proposal for certain process management and intercommunication primitives

Ed. Note: This paper is being published in two parts. Sections 1-6 present the basic primitives, and appear in this issue; Section 7, which applies the primitives to a number of examples, will be published in January. As in the past, the Bibliography has been included with the first part of the paper.-7

[1]  Jerome A. Feldman,et al.  Recent developments in SAIL: an ALGOL-based language for artificial intelligence , 1972, AFIPS '72 (Fall, part II).

[2]  F. J. Corbató,et al.  Introduction and overview of the multics system , 1965, AFIPS '65 (Fall, part I).

[3]  G. Bell,et al.  Time-sharing bibliography , 1966 .

[4]  Malcolm C. Harrison,et al.  SHARER, a time sharing system for the CDC 6600 , 1967, Commun. ACM.

[5]  Robert W. Floyd Non-deterministic algorithms , 1966 .

[6]  Alexander G. Fraser,et al.  On the interface between computers and data communications systems , 1972, CACM.

[7]  David Lorge Parnas More on simulation languages and design methodology for computer systems , 1969, AFIPS '69 (Spring).

[8]  Norman Abramson,et al.  The ALOHA System-Another Alternative for Computer Communications , 1899 .

[9]  R. M. Needham Handling difficult faults in operating systems , 1971, SOSP '71.

[10]  James P. Anderson,et al.  Program structures for parallel processing , 1965, Commun. ACM.

[11]  Donald P. Karp,et al.  Protocol for a Computer Network , 1973, IBM Syst. J..

[12]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[13]  Robert E. Kahn,et al.  Computer communication network design: experience with theory and practice , 1899, AFIPS '72 (Spring).

[14]  David C. Walden,et al.  A system for interprocess communication in a resource sharing computer network , 1972, CACM.

[15]  Gérald Belpaire,et al.  Semantic aspects of concurrent processes , 1973 .

[16]  Paul G. Sorenson,et al.  Interprocess communication in real-time systems , 1973, SOSP '73.

[17]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[18]  M. W. Pirtle,et al.  A facility for experimentation in man-machine interaction , 1965, AFIPS '65 (Fall, part I).

[19]  Wladyslaw M. Turski SODA - A Dual Activity Operating System , 1968, Comput. J..

[20]  Jerome H. Saltzer,et al.  A hardware architecture for implementing protection rings , 1971, SOSP '71.

[21]  Edsger Wybe Dijkstra,et al.  Cooperating Sequential Processes, Technical Report EWD-123 , 1965 .

[22]  Jerome A. Feldman,et al.  System Support for the Stanford Hand-Eye System , 1971, IJCAI.

[23]  Norman R. Nielsen,et al.  The simulation of time sharing systems , 1967, Commun. ACM.

[24]  A. Nico Habermann,et al.  Prevention of system deadlocks , 1969, CACM.

[25]  Bernard Lang A new technique for data monitoring , 1972, SIGP.

[26]  Daniel G. Bobrow,et al.  TENEX, a paged time sharing system for the PDP - 10 , 1972, CACM.

[27]  Sam Howry A multiprogramming system for process control , 1971, SOSP '71.

[28]  Jean-Paul Rossiensky,et al.  A Kernel Approach to System Programming: SAM , 1970 .

[29]  Norman M. Abramson,et al.  THE ALOHA SYSTEM: another alternative for computer communications , 1899, AFIPS '70 (Fall).

[30]  Robert Balzer An overview of the ISPL computer systems design , 1973, CACM.

[31]  David Lorge Parnas,et al.  On facilitating parallel and multiprocessing in ALGOL , 1966, Communications of the ACM.

[32]  Gerald J. Burnett,et al.  A distributed processing system for general purpose computing , 1967, AFIPS '67 (Fall).

[33]  T. J. Dingwall,et al.  Communication Within Structured Operating Systems , 1973 .

[34]  Richard C. Holt,et al.  A short discussion of interprocess communication in the sue/360/370 operating system , 1973, SIGPLAN-SIGOPS Interface Meeting.

[35]  Brian Randell,et al.  Process Structuring , 1973, CSUR.

[36]  Allen Newell,et al.  Computer Structures: Readings and Examples, , 1971 .

[37]  Arthur J. Bernstein,et al.  Analysis of Programs for Parallel Processing , 1966, IEEE Trans. Electron. Comput..

[38]  J. D Ichbiah,et al.  General Concepts of the Simula 67 Programming Language , 1972 .

[39]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[40]  James W. Havender Avoiding Deadlock in Multitasking Systems , 1968, IBM Syst. J..

[41]  Nelson Herbert Weiderman,et al.  Synchronization and simulation in operating system construction , 1971 .

[42]  Richard E. Schwemm Experience gained in the development and use of TSS , 1971, AFIPS '72 (Spring).

[43]  C. V. Ramamoorthy,et al.  A survey of techniques for recognizing parallel processable streams in computer programs , 1899, AFIPS '69 (Fall).

[44]  James H. Morris Protection in programming languages , 1973, CACM.

[45]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[46]  Butler W. Lampson,et al.  A scheduling philosophy for multiprocessing systems , 1968, CACM.

[47]  Niklaus Wirth On multiprogramming, machine coding, and computer organization , 1969, CACM.

[48]  Melvin E. Conway,et al.  A multiprocessor system design , 1899, AFIPS '63 (Fall).

[49]  Edsger W. Dijkstra A class of allocation strategies inducing bounded delays only , 1971, AFIPS '72 (Spring).

[50]  Robert Balzer,et al.  PORTS: a method for dynamic interprogram communication and job control , 1971, AFIPS '71 (Spring).

[51]  Michael J. Flynn,et al.  Intrinsic multiprocessing , 1967, AFIPS '67 (Spring).

[52]  L. G. Tesler,et al.  A language design for concurrent processes , 1899, AFIPS '68 (Spring).

[53]  Anatol Holt,et al.  Events and conditions: introduction , 1970 .

[54]  William R. Crowther,et al.  Improvements in the design and performance of the ARPA network , 1972, AFIPS '72 (Fall, part II).

[55]  Howard Lee Morgan An interrupt based organization for management information systems , 1970, CACM.

[56]  Jerome H. Saltzer,et al.  Traffic control in a multiplexed computer system , 1966 .

[57]  James E. Murphy Resource Allocation With Interlock Detection in a Multi-Task System , 1899 .

[58]  BelpaireGérald,et al.  Semantic aspects of concurrent processes , 1973 .

[59]  Melvin E. Conway,et al.  Design of a separable transition-diagram compiler , 1963, CACM.

[60]  Niklaus Wirth,et al.  A note on “Program structures for parallel processing” , 1966, CACM.

[61]  Gerald Estrin,et al.  Proper termination of flow-of-control in programs involving concurrent processes , 1972, SIGP.

[62]  Michael J. Spier,et al.  The multics interprocess communication facility , 1969, SOSP '69.

[63]  Jean-Loup Baer,et al.  A Survey of Some Theoretical Aspects of Multiprocessing , 1973, CSUR.

[64]  Jack B. Dennis,et al.  Programming generality, parallelism and computer architecture , 1968, IFIP Congress.

[65]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition , 1997 .

[66]  Sacha Krakowiak,et al.  Process management and resource sharing in the multiaccess system "ESOPE" , 1969, SOSP '69.

[67]  Richard P. Parmelee,et al.  Virtual Storage and Virtual Machine Concepts , 1972, IBM Syst. J..

[68]  Butler W. Lampson,et al.  A note on the confinement problem , 1973, CACM.

[69]  J. Carver Hill Synchronizing processors with memory-content-generated interrupts , 1973, CACM.

[70]  R. Stockton Gaines,et al.  An operating system based on the concept of a supervisory computer , 1972, CACM.

[71]  Elliott Irving Organick,et al.  Computer system organization: The B5700/B6700 series (ACM monograph series) , 1973 .

[72]  Michael J. Spier,et al.  An experimental implementation of the kernel/domain architecture , 1973, SOSP '73.

[73]  Stuart E. Madnick Multi-processor software lockout , 1968, ACM '68.

[74]  G. F. Leonard,et al.  An environment for an operating system , 1964, ACM National Conference.

[75]  Arie Shoshani,et al.  Synchronization in a parallel-accessed data base , 1969, CACM.

[76]  John M. Chambers A user-controlled synchronization method , 1973, OPSR.

[77]  Michael R. McGuire,et al.  Further comments on Dijkstra's concurrent programming control problem , 1972, CACM.

[78]  John B. Johnston,et al.  Structure of multiple activity algorithms , 1969, SOSP '69.

[79]  Dan Cohen,et al.  A parallel process definition and control system , 1899, AFIPS '68 (Fall, part II).

[80]  A. Nico Habermann Synchronization of communicating processes , 1971, SOSP '71.

[81]  Per Brinch Hansen,et al.  Structured multiprogramming , 1972, CACM.

[82]  D. R. Fitzwater,et al.  Consequent procedures in conventional computers , 1899, AFIPS '64 (Fall, part I).

[83]  C. V. Ramamoorthy,et al.  Recognition and representation of parallel processable streams in computer programs-II (Task/process Parallelism) , 1969, ACM '69.

[84]  James G. Mitchell The Design and Construction of Flexible and Efficient Interactive Programming Systems , 1970, Outstanding Dissertations in the Computer Sciences.

[85]  Elliott I. Organick,et al.  The Multics system , 1972 .

[86]  William R. Crowther,et al.  The interface message processor for the ARPA computer network , 1899, AFIPS '70 (Spring).

[87]  Malcolm C. Harrison Implementations of the SHARER2 time-sharing system , 1968, CACM.

[88]  E. C. Van Horn,et al.  COMPUTER DESIGN FOR ASYNCHRONOUSLY REPRODUCIBLE MULTIPROCESSING , 1966 .

[89]  William B. Easton Process synchronization without long-term interlock , 1971, SOSP '71.

[90]  G. R. Frank,et al.  The structure of the MU5 operating system , 1972, Comput. J..

[91]  N. G. de Bruijn,et al.  Additional comments on a problem in concurrent programming control , 1967, Commun. ACM.

[92]  Sacha Krakowiak,et al.  Process management and resource sharing in the multiaccess system in ESOPE , 1970, CACM.

[93]  Butler W. Lampson,et al.  A user machine in a time-sharing system , 1966 .

[94]  W. J. Chandler,et al.  Interference between communicating parallel processes , 1972, CACM.

[95]  Rafael O. Fontao A concurrent algorithm for avoiding deadlocks in multiprocess multiple resource systems , 1971, SOSP '71.

[96]  Mario Gerla,et al.  The design of store-and-forward (s/f) networks for computer communications , 1973 .

[97]  Michael T. Alexander,et al.  Organization and features of the Michigan terminal system , 1899, AFIPS '72 (Spring).

[98]  Richard A. Meyer,et al.  A Virtual Machine Time-Sharing System , 1970, IBM Syst. J..

[99]  Per Brinch Hansen,et al.  The nucleus of a multiprogramming system , 1970, CACM.

[100]  David Allen Fisher,et al.  Control structures for programming languages , 1970 .

[101]  Ole-Johan Dahl,et al.  Coroutine sequencing in a block structured environment , 1971 .

[102]  William E. Riddle,et al.  Communicating semaphores , 1971 .

[103]  David Lorge Parnas On simulating networks of parallel processes in which simultaneous events may occur , 1969, CACM.

[104]  Butler W. Lampson,et al.  Dynamic protection structures , 1899, AFIPS '69 (Fall).

[105]  S. Rao Kosaraju,et al.  Limitations of Dijkstra's Semaphore Primitives and Petri nets , 1973, SOSP '73.

[106]  Andrei P. Ershov Parallel programming , 1971 .

[107]  Robert David Russell A model for deadlock-free resource allocation , 1972 .

[108]  Per Brinch Hansen,et al.  Operating System Principles , 1973 .

[109]  Vinton Gray Cerf,et al.  Multiprocessors, semaphores, and a graph model of computation , 1972 .

[110]  Dennis J. Frailey A practical approach to managing resources and avoiding deadlocks , 1973, CACM.

[111]  Maurice V. Wilkes,et al.  Time-sharing computer systems , 1968 .

[112]  Richard C. Holt,et al.  Some Deadlock Properties of Computer Systems , 1972, CSUR.

[113]  Vinton G. Cerf,et al.  HOST-HOST communication protocol in the ARPA network , 1899, AFIPS '70 (Spring).

[114]  F. J. Corbató,et al.  Multics: the first seven years , 1972, AFIPS '72 (Spring).

[115]  David Lorge Parnas,et al.  Concurrent control with “readers” and “writers” , 1971, CACM.

[116]  Isu Fang,et al.  FOLDS, a declarative formal language definition system , 1972 .

[117]  Edward G. Coffman,et al.  A general-purpose time-sharing system , 1964, AFIPS '64 (Spring).

[118]  Peter Jensen The grok project data structures and process communication , 1973 .

[119]  Arthur J. Bernstein,et al.  Process control and communication , 1969, SOSP '69.

[120]  David Beech,et al.  A Structural View of PL/I , 1970, CSUR.

[121]  Gary D. Hornbuckle A multiprogramming monitor for small machines , 1967, CACM.

[122]  Larry L. Constantine,et al.  Control of sequence and parallelism in modular programs , 1968, AFIPS '68 (Spring).

[123]  John H. Howard Mixed solutions for the deadlock problem , 1973, CACM.

[124]  Marvin V. Zelkowitz Interrupt driven programming , 1971, CACM.

[125]  Thomas H. Bredt A survey of models for parallel computing , 1970 .

[126]  Dean Hanawalt Vanderbilt Controlled information sharing in a computer utility , 1969 .

[127]  Harris Hyman Comments on a problem in concurrent programming control , 1966, CACM.

[128]  Robert F. Rosin,et al.  Supervisory and Monitor Systems , 1969, CSUR.

[129]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[130]  John A. Gosden,et al.  Explicit parallel processing description and control in programs for multi- and uni-processor computers , 1899, AFIPS '66 (Fall).

[131]  F. J. Corbató,et al.  The Compatible Time-Sharing System: A Programmer's Guide , 1963 .

[132]  Ascher Opler,et al.  Procedure-oriented language statements to facilitate parallel processing , 1965, CACM.

[133]  Suhas S. Patil,et al.  COORDINATION OF ASYNCHRONOUS EVENTS , 1970 .

[134]  Gene F. Leonard,et al.  More on extensible machines , 1966, CACM.

[135]  Peter J. Denning,et al.  Protection: principles and practice , 1972, AFIPS '72 (Spring).

[136]  Peter J. Denning,et al.  Third Generation Computer Systems , 1971, CSUR.

[137]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[138]  Robert W. Floyd,et al.  Nondeterministic Algorithms , 1967, JACM.

[139]  Donald D. Chamberlin The "single-assignment" approach to parallel processing , 1972, AFIPS '71 (Fall).

[140]  P. G. Hebalkar,et al.  DEADLOCK-FREE SHARING OF RESOURCES IN ASYNCHRONOUS SYSTEMS , 1970 .

[141]  Roger M. Needham,et al.  Protection systems and protection implementations , 1899, AFIPS '72 (Fall, part I).

[142]  David M. Dahm,et al.  A system organization for resource allocation , 1967, CACM.

[143]  David Lorge Parnas,et al.  SODAS and a methodology for system design , 1967, AFIPS '67 (Fall).