skip to main content
article
Free access

Principles of computer system organization

Published: 01 November 1970 Publication History
First page of PDF

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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[9]
C1. Codd, E. F. A Relational Model of Data for Large Shared Data Banks. CACM 13, 6 (June 1970), 377--387.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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."]]
[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.]]
[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.]]
[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.]]
[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).]]
[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.]]
[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.]]
[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.]]
[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,]]
[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}.]]
[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.]]
[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.]]
[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."]]
[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.]]
[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.]]
[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.]]
[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.]]
[42]
L2. Liptay, J. S. The Cache. IBM Sys. J. 7, 1 (1968). A description of the cache store on the IBM 360/85.]]
[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.]]
[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.]]
[45]
N1. Session "Resource Sharing in Computer Networks" in AFIPS 1970 SJCC Proc. 543--598.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[55]
S2. Sammet, J. E., Programming Languages. Prentice-Hall (1969). Encyclopedic coverage, comparing and contrasting over 100 programming languages.]]
[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.]]
[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.]]
[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.]]
[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.]]
[60]
**T1. Trimble, George. Time Sharing Bibliography. Computing Reviews 9, 5 (May 1968).]]
[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.]]
[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.]]
[63]
*W2, Watson, R. W. Time Sharing System Design Concepts. McGraw-Hill (1970).]]
[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.]]
[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.]]
[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}.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1970
Published in SIGCSE Volume 2, Issue 3

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)195
  • Downloads (Last 6 weeks)23
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media