skip to main content
article
Free Access

Principles of computer system organization

Published:01 November 1970Publication History
First page image

References

  1. **A1. ACM. Proceedings of Symposium on Storage Allocation. CACM 4, 10 (Oct 1961). These papers argue the cases and techniques for static and dynamic storage allocation. They provide a complete picture of the state of considered thought on storage allocation as of 1961.]]Google ScholarGoogle Scholar
  2. A2. ACM. Proceedings of Symposium on Operating Systems Principles. (Gatlinburg, Tenn., Oct 1967). Some of the papers appear in CACM 11, 5 (May 1968). These papers provide collectively a summary of the ideas through the middle 1960's. The session titles are: virtual memory, memory management; extended core memory systems; philosophies of process control; system theory and design; computer communications and networks.]]Google ScholarGoogle Scholar
  3. A3. ACM. Proceedings of Symposium on Data Communications. (Pine Mt., Georgia, Oct. 1969). These papers provide a summary of the ideas on computer data communications and networks as of 1969. The session titles are: advanced networks; advances in data communications technology; preprocessors for data communications; legal, political, and privacy considerations; graphic displays and terminals; systems optimization; human factors; software implications.]]Google ScholarGoogle Scholar
  4. A4. ACM. Proceedings of Second Symposium on Operating Systems Principles. (Princeton University, Oct 1969). These papers provide collectively a summary of ideas through the late 1960's. The session titles are: general principles of operating system design; virtual memory implementation; process management and communication; systems and techniques; instrumentation and measurement.]]Google ScholarGoogle Scholar
  5. **A5. ACM. Proceedings of the Project MAC Conference on Concurrent Systems and Parallel Computation. (Wood's Hole, Mass., June 1970). To appear. These papers cover various aspects of parallel computation, such as petri Net theory, program schemata, and speed-independent asynchronous circuits. A complete bibliography of relevant literature is included.]]Google ScholarGoogle Scholar
  6. A6. Alexander, M. T. Time Sharing Supervisor Programs (Notes). univ. of Michigan Computing Center (May 1969). A comparison of four systems: the Michigan MTS, Multics, CP/67 and TSS/360.]]Google ScholarGoogle Scholar
  7. **A7. Arden, B. W., and Boettner, D. Measurement and Performance of a Multiprogramming System. Proc. 2nd ACM Symp. on Op. Sys. Princ. (Oct 1969), 130--146 (ref. A4). A description of simple but useful performance evaluation techniques on the Michigan Time Sharing (MTS) system.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B1. Belady, L. A. A Study of Replacement Algorithms for virtual Storage Computers. IBM Sys. J. 5, 2 (1966)7 78--101. A detailed empirical study covering several aspects of program behavior besides those relating to paging algorithms.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C1. Codd, E. F. A Relational Model of Data for Large Shared Data Banks. CACM 13, 6 (June 1970), 377--387.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. **C2. Coffman, E. G. Jr., and Kleinrock, L. Computer Scheduling Methods and Their Counter-measures. AFIPS 1968 SJCC Proc., 11--21. A review of the basic time sharing scheduling models and results, and of ways to gain high priority for service.]]Google ScholarGoogle Scholar
  11. C3. Corbato, F. J. PL/I as a Tool for Systems Programming. MIT Project Mac Report MAC-M-378 (July 1968). Argues the case for a high-level operating systems programming language and gives Multics experience with PL/I.]]Google ScholarGoogle Scholar
  12. *C4. Corbato, F. J., Dagget, M. M., and Daley, R. C. An Experimental Time Sharing System. AFIPS 1962 FJCC Proc., 335. (Also in R3). Overview of CTSS (Compatible Time Sharing System) at MIT, including the proposal for the multilevel feedback queue.]]Google ScholarGoogle Scholar
  13. *C5. Corbato. F. J., and Vyssotsky, V. A. Introduction and Overview of the Multics System. AFIPS 1965 FJCC Proc., 306. (Also in R3). A description of the hardware and software facilities for the Multics system at MIT.]]Google ScholarGoogle Scholar
  14. *C6. Creech, B. A. Implementation of Operating Systems. Digest 1970 IEEE International Convention, IEEE Publ. 70 C 15, 118--119. Stresses the importance of a programming language for systems programming, and reports experience with Burroughs B6500 system.]]Google ScholarGoogle Scholar
  15. *C7. Critchlow, A. J. Generalized Multiprogramming and Multiprocessing Systems. AFIPS 1963 FJCC Proc., 107--126. A review tracing the evolution of multiprogramming and multiprocessing concepts through the early 1960's.]]Google ScholarGoogle Scholar
  16. C8. Crisman, P. A. (ed.) The Compatible Time Sharing System: A Programmer's Guide. MIT Press (1965). The complete description and specification of CTSS.]]Google ScholarGoogle Scholar
  17. D1. Daley, R. C., and Dennis, J. B. Virtual Memory, Processes, and Sharing in Multics. CACM 11, 5 (May 1968), 306. (Ref. A2). A description of the hardware and software facilities of the GE 645 that are used to implement virtual memory, processes, linkages, and sharing in Multics.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D2. Daley, R. C., and Neumann, P. G A General Purpose File System for Secondary Storage. AFIPS 1965 FJCC Proc., 213. Describes a file directory hierarchy structure, its use and conventions, and implementation problems.]]Google ScholarGoogle Scholar
  19. *D3. Denning, P. J. The Working Set Model for Program Behavior. CACM 11, 5 (May 1968), 323--333. (Also in A2). A machine independent model for program behavior is proposed and studied.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D4, Denning, P. J. Equipment Configuration in Balanced Computer Systems. IEEE Trans. C-18, (Nov 1969), 1008--1012. (Also I1). Some aspects of designing systems with understandable behavior are defined and applied to the equipment configuration problem.]]Google ScholarGoogle Scholar
  21. **D5. Denning, P. J. Virtual Memory. Computing Surveys 2, 3 (Sep 1970). A survey and tutorial covering the definitions, implementations, policies, and theory of automatic storage allocation. A complete bibliography of papers relating to storage allocation is included.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. *D6. Dennis, J. B. Segmentation and the Design of Multiprogrammed Computer Systems. JACM 12, 4 (Oct 1965), 589--602. The segmented name space and addressing mechanism are proposed and developed.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. **D7. Dennis, J. B. A Position Paper on Computing and Communications. CACM 11, 5 (May 1968), 370--377. (Also in A2). The problems that face computer networks are outlined and some solutions proposed.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D8. Dennis, J. B. Programming Generality, Parallelism, and Computer Architecture. IFIPS Cong. Proc. (1968); MIT Project MAC Computation Structures Group Memo No. 32 (Aug 1968). Defines "programming generality" and explores its consequences in system design.]]Google ScholarGoogle Scholar
  25. D9. Dennis, J. B. Future Trends in Time Sharing Systems. MIT Computation Structures Group Memo No. 36-1 (June 1969). Classifies time sharing systems and emphasizes the importance of programming generality in achieving the "information utility."]]Google ScholarGoogle Scholar
  26. **D10. Dennis, J. B., and Van Horn, E. C. Programming Semantics for Multiprogrammed Computations. CACM 9, 3 (Mar 1966), 143--155. The System requirements for implementing segmentation, protection, sharing, parallelism, and multiprogramming are described; the "capability" idea is introduced.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. **D11. Dijkstra, E. W. Solution of a Problem in Concurrent Programming Control. CACM 8, 9 (Sep 1965), 569. This is the first published solution to the mutual exclusion problem, programmed in standard Algol without lock and unlock machine instructions being available.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. *D12. Dijkstra, E. W. Cooperating Sequential Processes. Programming Languages. (F. Genuys, ed.) Academic Press (1968), 43--112. The first study of parallel processes, including a wellillustrated and complete development of the minimum requirements on the coordination and synchronization primitives.]]Google ScholarGoogle Scholar
  29. D13. Dijkstra, E. W. The Structure of THE-Multiprogramming System. CACM 11, 5 (May 1968), 341--346. (Also in A2). An overview of a process-oriented, multilevel, highly organized operating system. Includes an appendix on the synchronizing primitives P and V. (THE = Technische Hogeschool Eindhoven).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. G1. Gaver, D. P. Statistical Methods for Improving Simulation Efficiency. Carnegie-Mellon Univ., Management Sci. Res. Grp Rpt No. 169 (Aug 1969), Discusses a number of methods for shortening the computation time of simulation.]]Google ScholarGoogle Scholar
  31. G2. Graham, R. M. Protection in an Information Processing Utility, CACM 11, 5 (May 1968), 365--369. Also in A2), A description of the "ring" protection system in Multics.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. H1. Habermann, A. N. On the Harmonious Cooperation of Abstract Machines. Ph.D. Dissertation, Technische Hogeschool Eindhoven, Netherlands, Dept. of Mathematics (1967). A formal model for cooperating parallel processes, using finite state machines; includes the "banker's algorithm" for preventing system deadlock.]]Google ScholarGoogle Scholar
  33. H2. Habermann, A. N. Prevention of System Deadlock. CACM 12, 7 (July 1969), 373--377, Definition of the deadlock problems and the "banker's algorithm" solution,]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. H3. Hansen, P. B. The Nucleus of a Multiprogramming System. CACM 13, 4 (Apr 1970), 238, A specification of the bare minimum requirements on a multiprocess computer operating system; closely related to the philosophy of Dijkstra's THE system {D12}.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. **H4. Hoffman, L. J. Computers and Privacy: A Survey, Computing, Surveys 1, 2 (June 1969): 85--104. An overview of the philosophical, legal, and social implications of the privacy problem, with emphasis on technical solutions.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. H5. Horning, J. J., and Randell, B, Structuring Complex Processes. IBM T. J. Watson Research Center Report RC2459 (May 1969). A formal model for the definition, control, and composition of processes.]]Google ScholarGoogle Scholar
  37. I1. IEEE. Proceedings of 1969 Computer Group Conference. IEEE, Trans, C-18, 11 (Nov 1969). Of interest is the session "computer system models and analysis."]]Google ScholarGoogle Scholar
  38. I2. Irons, E. T. Experience with an Extensible Language. CACM 13, 1 Jan 1970), 31--40, Another example of the success achievable in designing a time sharing operating system (for the CDC 6600) using a higher-level language.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. **K1. Kilburn, T., Edwards, D. B. G., Lanigan, M. J., and Sumner, F. H. One-Level Storage System. IRE Trans, EC-11, (Apr 1962), 223. The first detailed description of the paging mechanism on the Atlas computer system, including the loop-detecting "learning" paging algorithm.]]Google ScholarGoogle Scholar
  40. **K2. Kleinrock, L. A Continuum of Time Sharing Scheduling Algorithms, AFIPS 1970 SJCC Proc. A large class of time sharing schedulers is defined in terms of piecewise linear priority time functions.]]Google ScholarGoogle Scholar
  41. L1. Lampson, B. W. Dynamic Protection Structures, AFIPS 1969 FJCC Proc., 27--38. An exposition of the programming implications and power of a, "capability" system of protection.]]Google ScholarGoogle Scholar
  42. L2. Liptay, J. S. The Cache. IBM Sys. J. 7, 1 (1968). A description of the cache store on the IBM 360/85.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. **M1. McCarthy, J., Corbato, F. J., and Dagget, M. M. The Linking Segment Subprogram Language and Linking Loader. CACM 6, 7 (Jul 1963), 391--395. (Also in R3). Describes a mechanism for achieving program modularity.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. **M2. McKinney, J. M. A Survey of Analytical Time Sharing Models. Computing Surveys 1, 2 (Jun 1969), 105--116. The important queueing theory models for time sharing scheduling are defined, and the analytical results stated.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. N1. Session "Resource Sharing in Computer Networks" in AFIPS 1970 SJCC Proc. 543--598.]]Google ScholarGoogle Scholar
  46. **P1. Parkhill, D. The Challenge of the Computer Utility. Addison-Wesley (1966). A good description of the issues, philosophy, methods, hopes, and fears extant during the early 1960's, when enthusiasm for the computer utility ran high.]]Google ScholarGoogle Scholar
  47. P2. Poole, P. C., and Waite, W. M. Machine Independent Software. Proc. 2nd ACM Symp. on Op. Sys. Princ. (Oct 1969), 19--24. Describes the requirements and objectives for realizing transportable software. See also W1.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. R1. Randell, B. A Note on Storage Fragmentation and Program Segmentation. CACM 12, 7 (Jul 1969), 365--369. Defines internal and external fragmentation, compares their relative effects, and proposes "partitioned segmentation" as a way to control fragmentation.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. **R2. Randell, B., and Kuehner, C. J. Dynamic Storage Allocation Systems. CACM 11, 5 (May 1968), 297--306. Various automatic storage allocation systems and hardware are compared and defined. A good bibliography is included.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. R3. Rosen, S. (ed.) Programming Systems and Languages. McGraw-Hill (1967). A collection of "classic" papers in programming language design, definition, assemblers, compilers, and operating systems to 1966.]]Google ScholarGoogle Scholar
  51. *R4. Rosen, S. Electronic Computers: A Historical Survey. Computing Surveys 1, 1 (Mar 1969), 7--36. An overview of electronic computing machines through the middle 1960's. The emphasis is on the properties of the various machines and the forces that led to their development. An extensive bibliography is included.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. **R5. Rosin, R. F. Supervisory and Monitor Systems. Computing Surveys 1, 1 (Mar 1969), 37--54. An historical overview of second and third generation operating systems, with emphasis on IBM approaches.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. **R6. Rosin, R. F. Contemporary Concepts of Microprogramming and Emulation. Computing Surveys 1, 3 (Dec 1969), 197--212. Introduces the principles of and motivations for microprogramming; it should be read in conjunction with W8.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. S1. Saltzer, J. H. Traffic Control in a Multiplexed Computer System. MIT Project MAC Report MAC-TR-30 (1966). A description of the operating principles of the Multics interprocess communication facility.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. S2. Sammet, J. E., Programming Languages. Prentice-Hall (1969). Encyclopedic coverage, comparing and contrasting over 100 programming languages.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. S3. Sayre, D. Is Automatic Folding of Programs Efficient Enough to Displace Manual? CACM 12, 12 (Dec 1969), 656--660. Potent empirical evidence supporting the assertion that automatic storage allocation can be at least as cost-effective as manual storage allocation.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. S4. Selwyn, L. L. Computer Resource Accounting in a Time Sharing Environment. AFIPS 1970 SJCC Proc., 119--129. A description of the management, accounting, and pricing systems of CTSS-like systems. Should be read in conjunction with W9, S6.]]Google ScholarGoogle Scholar
  58. S5. Sharpe, W. F. The Economics of Computers. Columbia University Press (1969). This is a self-contained text covering the economic theory peculiar to computers, and to system selection and evaluation.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. S6. Sutherland, I. E. A Futures Market in Computer Time. CACM, 11, 6 (June 1968), 449. Describes a supply-and-demand pricing system for computer utilities, and shows it is stable. See also S6, W9.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. **T1. Trimble, George. Time Sharing Bibliography. Computing Reviews 9, 5 (May 1968).]]Google ScholarGoogle Scholar
  61. V1. Van Horn, E. C. Computer Design for Asynchronously Reproducible Multiprocessing. MIT Project MAC Report MAC-TR-34 (1966). One of the first Ph.D. dissertations addressing the problems of determinate computation by parallel processes.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. W1. Waite, W. M. The Mobile Programing System: STAGE2. CACM 13, 7 (July 1970), 415--421. Describes a bootstrap sequence technique for implementing transportable software.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. *W2, Watson, R. W. Time Sharing System Design Concepts. McGraw-Hill (1970).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. **W3. Wegner, P. (ed.) Introduction to Systems Programming. Academic Press (1964). A collection of some "classic, papers on operating system principles during the early 1960's.]]Google ScholarGoogle Scholar
  65. W4. Wegner, P, Programming Languages, Information Systems, and Machine Orqanization. McGraw-Hill (1968). Discusses the general aspects of third generation machine and software organization; assemblers and macro generators; Algol and its implementation; PL/I and simulation languages.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. W5. Wilkes, M. V. Slave Memories and Dynamic Storage Allocation. IEEE Trans. EC-14, (1965), 270--271. Proposes an automatic multilevel memory, the predecessor of the "cache store" {L2}.]]Google ScholarGoogle Scholar
  67. *W6. Wilkes, M. V. Computers Then and Now. JACM, 15, 1 (Jan 1968), 1--7. A well-written, thought provoking piece containing historical perspective and evaluation of trends, written by Wilkes for his Turing Lecture.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. *W7. Wilkes, M. V. Time Sharing Computer Systems. Am. Elsevier (1968). A 96-page overview of the properties and problems of CTSS-like time sharing systems.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. W8. Wilkes, M. V. A Model for Core Space Allocation in a Time Sharing System. AFIPS 1969 SJCC Proc., 265--271. Uses experience with time sharing systems to develop a minimal relationship between processor and core allocation policies.]]Google ScholarGoogle Scholar
  70. W9. Wilkes, M. V. The Growth of Interest in Microprogramming: A Survey. Computing Surveys 1, 2 (Sep 1969), 139--145. This survey traces only the historical development of microprogramming; it should be read in conjunction with R6.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. W10. Wilkes, M. V., and Hartley, D. F. The Management System A New Species of Software? Datamation (Sep 1969), 73--75. Outlines the motivation and requirements for a management system, and illustrates with the Cambridge University Multiple-Access System. Should be read in conjunction with S4, S6.]]Google ScholarGoogle Scholar
  72. W11. Wulf, W. A. Performance Monitors for Multiprogramming Systems. Proc. 2nd ACM Symp. on Op. Sys. Princ. (Oct 1969), 175--181. (Also A4). A proposal for a general method of performance monitoring and control of usage rates.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGCSE Bulletin
    ACM SIGCSE Bulletin  Volume 2, Issue 3
    November 1970
    126 pages
    ISSN:0097-8418
    DOI:10.1145/873641
    Issue’s Table of Contents

    Copyright © 1970 Author

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 November 1970

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!