skip to main content
10.1145/800217.806614acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
Article
Free access

Hints for computer system design

Published: 10 October 1983 Publication History

Abstract

Experience with the design and implementation of a number of computer systems, and study of many other systems, has led to some general hints for system design which are described here. They are illustrated by a number of examples, ranging from hardware such as the Alto and the Dorado to applications programs such as Bravo and Star.

References

[1]
Birrell, A.D. et. al. Grapevine: an exercise in distributed computing. Comm. ACM25, 4, April 1982, p 260-273.
[2]
Bobrow, D.G. et. al. Tenex: a paged time-sharing system for the PDP-10. Comm. ACM15, 3, March 1972, p 135-143.
[3]
Boggs, D.R. et. al. Pup: an internetwork architecture. IEEE Trans. Communications COM-28, 4, April 1980, p 612-624.
[4]
Breed, L.M and Lathwell, R.H. The implementation of APL/360. In Interactive Systems for Experimental Applied Mathematics, Klerer and Reinfelds, eds., Academic Press, 1968, p 390-399.
[5]
Britton, K.H., et. al. A procedure for designing abstract interfaces for device interface modules. Proc. 5th Int'l. Conf. Software Engineering, 1981, p 195-204.
[6]
Brooks, F.B. The Mythical Man-Month. Addison-Wesley, 1975.
[7]
Burton, R.R. et. al. Interlisp-D overview. In Papers on Interlisp-D, Technical report SSL-80-4, Xerox Palo Alto Research Center, 1981.
[8]
Clark, D.W. et. al. The memory system of a high-performance personal computer. IEEE Trans. ComputersTC-30, 10, Oct. 1981, p 715-733.
[9]
Creasy, R.J. The origin of the VM/370 time-sharing system, IBM J. Res. Develop. 25, 5, Sep. 1981, p 483-491.
[10]
Deutsch, L.P. and Grant, C.A. A flexible measurement tool for software systems. Proc IFIP Cong. 1971, North-Holland.
[11]
Deutsch, L.P. and Bobrow, D.G. An efficient incremental automatic garbage collector. Comm. ACM19, 9, Sept 1976.
[12]
Deutsch, L.P. Private communication, February 1982.
[13]
Dijkstra, E.W. et. al. On-the-fly garbage collection: an exercise in cooperation. Comm. ACM21, 11, Nov. 1978, p 966-975.
[14]
Ditzel, D.R. and McLellan. H.R. Register allocation for free: the C machine stack cache. SIGPLAN Notices17, 4, April 1982, p 48-56.
[15]
Geschke, C.M. et. al. Early experience with Mesa. Comm. ACM20, 8, Aug. 1977, p 540-553.
[16]
Gifford, D.K. Weighted voting for replicated data. Operating Systems Review13, 5, Dec. 1979, p 150-162.
[17]
Gray, J. et. al. The recovery manager of the System R database manager. Comput. Surveys13, 2, June 1981, p 223-242.
[18]
Hansen, P.M. et. al. A performance evaluation of the Intel iAPX 432. Computer Architecture News10, 4, June 1982, p 17-26.
[19]
Hoare, C.A.R. Hints on programming language design. SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Boston, Oct. 1973.
[20]
Hoare, C.A.R. Monitors: an operating system structuring concept. Comm. ACM17, 10, Oct. 1974, p 549-557.
[21]
Ingalls, D. The Smalltalk graphics kernel. Byte6, 8, Aug. 1981, p 168-194.
[22]
Janson, P.A. Using type-extension to organize virtual-memory mechanisms. Operating Systems Review15, 4, Oct. 1981, p 6-38.
[23]
Knuth, D.E. An empirical study of Fortran programs. Software—Practice and Experience1, 2, Mar. 1971, p 105-133.
[24]
Lampson, B.W. Bravo manual. In Alto Users Handbook, Xerox Palo Alto Research Center, 1976.
[25]
Lampson, B.W. and Redell, D.D. Experience with processes and monitors in Mesa. Comm. ACM23, 2, Feb. 1980, p 105-117.
[26]
Lampson, B.W. et. al. Electronic image processing system. U.S. Patent 4,203,154, May 1980.
[27]
Lampson, B.W. Replicated commit. Circulated at a workshop on Fundamental Principles of Distributed Computing, Pala Mesa, Ca., Dec. 1980.
[28]
Lampson, B.W. Atomic transactions. In Distributed Systems: An Advanced Course, Lecture Notes in Computer Science 105, Springer, 1981, p 246-265.
[29]
Lampson, B.W. and Sproull, R.S. An open operating system for a single-user machine. Operating Systems Review13, 5, Dec. 1979,p 98-105.
[30]
Lampson, B.W. and Sturgis, H.E. Reflections on an operating system design. Comm. ACM19, 5, May 1976, p 251-265.
[31]
McNeil, M. and Tracz, W. PL/1 program efficiency. SIGPLAN Notices15, 6, June 1980, p 46-60.
[32]
McQuillan, J.M. and Walden, D.C. The ARPA network design decisions. Comput. Networks1, Aug. 1977, p 243-289.
[33]
Metcalfe, R.M. and Boggs, D.R. Ethernet: distributed packet switching for local computer networks. Comm. ACM19, 7, July 1976, p 395-404.
[34]
Mitchell, J.G. Design and Construction of Flexible and Efficient Interactive Programming Systems. Garland, 1979.
[35]
Mitchell, J.G. and Dion. J. A comparison of two network-based file servers. Comm. ACM25, 4, April 1982, p 233-245.
[36]
Needham, R.M. Personal communication. Dec. 1980.
[37]
Newman, W.M. and Sproull, R.F. Principles of Interactive Computer Graphics. 2nd ed., McGraw-Hill, 1979.
[38]
Parnas, D.L. On the criteria to be used in decomposing systems into modules. Comm. ACM15, 12, Dec. 1972, p 1053-1058.
[39]
Patterson, D.A. and Sequin, C.H. RISC I: a reduced instruction set VLSI computer. 8th Symp. Computer Architecture, Minneapolis, May 1981, p 443-457.
[40]
Paxton, W.H. A client-based transaction system to maintain data integrity. Operating Systems Review13, 5, Dec. 1979, p 18-23.
[41]
Radin, G.H. The 801 minicomputer. SIGPLAN Notices17, 4, April 1982, p 39-47.
[42]
Redell, D.D. et. al. Pilot: an operating system for a personal computer. Comm. ACM 23, 2, Feb. 1980, p 81-91.
[43]
Reed, D. Naming and synchronization in a decentralized computer system, MIT LCS TR-205, Sept. 1978.
[44]
Ritchie, D.M. and Thompson, K. The Unix time-sharing system. Bell Syst. Tech. J. 57, 6, July 1978, p 1905-1930.
[45]
Rovner, P. Private communication, Dec. 1982.
[46]
Saltzer, J.H., et. al. End-to-end arguments in system design. Proc. 2nd Int'l. Conf. Distributed Computing Systems, Paris, April 1981, p 509-512.
[47]
Smith, D.C. et. al. Designing the Star user interface. Byte 7, 4, April 1982, p 242-282.
[48]
Smith, J.E. A study of branch prediction strategies. 8th Symp. Computer Architecture, Minneapolis, May 1981, p 135-148.
[49]
Sturgis, H.E. et. al. Issues in the design and use of a distributed file system. Operating Systems Review14, 3, July 1980, p 55-69.
[50]
Sturgis, H.E. A Post-Mortem for a Time-Sharing System. Technical report CSL-74-1, Xerox Palo Alto Research Center, 1974.
[51]
Sweet, R., and Sandman, J. Static analysis of the Mesa instruction set. SIGPLAN Notices17, 4, April 1982, p 158-166.
[52]
Tanenbaum, A. Implications of structured programming for machine architecture. Comm. ACM21, 3, March 1978, p 237-246.
[53]
Thacker, C.P. et. al. Alto: a personal computer. In Computer Structures: Readings and Examples, 2nd ed., Siewiorek, Bell and Newell, eds., McGraw-Hill, 1981.
[54]
Traiger, I.L. Virtual memory management for data base systems. Operating Systems Review16, 4, Oct. 1982, p 26-48.

Cited By

View all

Index Terms

  1. Hints for computer system design

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SOSP '83: Proceedings of the ninth ACM symposium on Operating systems principles
      October 1983
      154 pages
      ISBN:0897911156
      DOI:10.1145/800217
      • cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 17, Issue 5
        October 1983
        154 pages
        ISSN:0163-5980
        DOI:10.1145/773379
        Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 10 October 1983

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate 174 of 961 submissions, 18%

      Upcoming Conference

      SOSP '25
      ACM SIGOPS 31st Symposium on Operating Systems Principles
      October 13 - 16, 2025
      Seoul , Republic of Korea

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)1,414
      • Downloads (Last 6 weeks)627
      Reflects downloads up to 24 Dec 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

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media