Skip to main content

The Evolution of Operating Systems

  • Chapter
Classic Operating Systems

Abstract

The author looks back on the first half century of operating systems and selects his favorite papers on classic operating systems. These papers span the entire history of the field from the batch processing systems of the 1950s to the distributed systems of the 1990s. Each paper describes an operating system that combines significant ideas in an elegant way. Most of them were written by the pioneers who had the visions and the drive to make them work. The author summarizes each paper and concludes that operating systems are based on a surprisingly small number of ideas of permanent interest.

P. Brinch Hansen, The evolution of operating systems. In Classic Operating Systems: From Batch Processing to Distributed Systems, P. Brinch Hansen, Ed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho 1984. Foreword. Bell Laboratories Technical Journal63, 8, Part 2 (October), 1573–1576.

    Article  Google Scholar 

  2. R. S. Barton 1961. A new approach to the functional design of a digital computer. Joint Computer Conference19, 393–396.

    Google Scholar 

  3. H. Bratman and I. V. Boldt, Jr. 1959. The SHARE 709 system: supervisory control. Journal of the ACM6, 2 (April), 152–155.

    Article  MATH  Google Scholar 

  4. P. Brinch Hansen 1968. The Structure of the RC 4000 Monitor. Regnecentralen, Copenhagen, Denmark (February).

    Google Scholar 

  5. P. Brinch Hansen 1969. RC 4000 Software: Multiprogramming System. Regnecen-tralen, Copenhagen, Denmark, (April). Article 12.

    Google Scholar 

  6. P. Brinch Hansen 1970. The nucleus of a multiprogramming system. Communications of the ACM13, 4 (April), 238–241, 250.

    Article  MATH  Google Scholar 

  7. P. Brinch Hansen 1973. Operating System Principles. Prentice-Hall, Englewood Cliffs, NJ.

    MATH  Google Scholar 

  8. P. Brinch Hansen 1975. The programming language Concurrent Pascal. IEEE Transactions on Software Engineering1, 2 (June), 199–207.

    Article  Google Scholar 

  9. P. Brinch Hansen, 1976a. The Solo operating system: a Concurrent Pascal program. Software—Practice and Experience 6, 2 (April-June), 141–149. Article15.

    Google Scholar 

  10. P. Brinch Hansen, 1976b. The Solo operating system: processes, monitors and classes. Software—Practice and Experience6, 2 (April-June), 165–200. Article 16.

    Article  MATH  Google Scholar 

  11. P. Brinch Hansen 1978. Distributed Processes: a concurrent programming concept. Communications of the ACM21, 11 (November), 934–941.

    Article  MATH  Google Scholar 

  12. P. Brinch Hansen 1979. A keynote address on concurrent programming. Computer12, 5 (May), 50–56.

    Article  Google Scholar 

  13. P. Brinch Hansen 1982. Programming a Personal Computer. Prentice-Hall, Engle-wood Cliffs, NJ.

    MATH  Google Scholar 

  14. P. Brinch Hansen 1993. Monitors and Concurrent Pascal: a personal history. SIG-PLAN Notices28, 3 (March), 1–35.

    Article  Google Scholar 

  15. P. Brinch Hansen 1999. Java’s insecure parallelism. SIGPLAN Notices34, 4 (April), 38–45.

    Article  Google Scholar 

  16. C. Bron 1972. Allocation of virtual store in the THE multiprogramming system. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott Eds., Academic Press, New York, 168–184.

    Google Scholar 

  17. F. P. Brooks, Jr. 1975. The Mythical Man-Month: Essays on Soßware Engineering. Addison-Wesley, Reading, MA.

    Google Scholar 

  18. D. R. Brownbridge, L. F. Marshall and B. Randell 1982. The Newcastle Connection or Unixes of the World Unite! SoftwarePractice and Experience12, 12 (December), 1147–1162. Article 23.

    Article  Google Scholar 

  19. D. Burns, E. N. Hawkins, D. R. Judd and J. L. Venn 1966. The Egdon system for the KDF9. The Computer Journal8, 4 (January), 297–302. Article 6.

    Article  Google Scholar 

  20. F. J. Corbató, M. Merwin-Daggett and R. C. Daley 1962. An experimental timesharing system. Spring Joint Computer Conference21, 335–344.

    MATH  Google Scholar 

  21. F. J. Corbató and V. A. Vyssotsky 1965. Introduction and overview of the Multics system. Fall Joint Computer Conference27, 185–196.

    Google Scholar 

  22. P. A. Crisman Ed. 1965. The Compatible Time-Sharing System: A Programmer’s Guide. Second Edition, The MIT Press, Cambridge, MA.

    Google Scholar 

  23. R. C. Daley and P. G. Neumann 1965. A general-purpose file system for secondary storage. Fall Joint Computer Conference27, 213–229. Article 8.

    Google Scholar 

  24. J. B. Dennis and E. C. van Horn 1966. Programming semantics for multipro-grammed computations. Communications of the ACM9, 3 (March), 143–155.

    Article  Google Scholar 

  25. E. W. Dijkstra 1968a. The structure of the THE multiprogramming system. Com-munications of the ACM11, 5 (May), 341–346. Article 11.

    Article  MATH  Google Scholar 

  26. E. W. Dijkstra 1968b. Cooperating sequential processes. In Programming Languages, F. Genuys Ed., Academic Press, New York, 43–112.

    Google Scholar 

  27. E. W. Dijkstra 1971. Hierarchical ordering of sequential processes. Acta Informatica1, 2, 115–138.

    Article  MathSciNet  Google Scholar 

  28. D. C. Englebart and W. K. English 1968. A research center for augmenting human intellect. Fall Joint Computer Conference33, 395–410.

    Google Scholar 

  29. A. G. Fraser 1972. File integrity in a disc-based multi-access system. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott Eds., Academic Press, New York, 227–248. Article 9.

    Google Scholar 

  30. J. Gosling, B. Joy and G. Steele 1996. The Java Language Specification.Addison-Wesley, Reading, MA.

    MATH  Google Scholar 

  31. A. N. Habermann 1967. On the harmonious cooperation of abstract machines. Ph.D. thesis. Technological University, Eindhoven, The Netherlands.

    Google Scholar 

  32. G. H. Hardy 1969. A Mathematician’s Apology. Foreword by C. P. Snow. Cam-bridge University Press, New York.

    MATH  Google Scholar 

  33. M. Hiltzik 1999. Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age. Harper Business, New York.

    Google Scholar 

  34. C. A. R. Hoare 1974. Monitors: an operating system structuring concept. Com-munications of the ACM17, 10 (October), 549–557.

    Article  MATH  Google Scholar 

  35. D. J. Howarth 1972a. A re-appraisal of certain design features of the Atlas I supervisory system. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott Eds., Academic Press, New York, 371–377.

    Google Scholar 

  36. D. J. Howarth 1972b. Quoted in Studies in Operating Systems, R. M. McKeag and R. Wilson Eds., Academic Press, New York, 390.

    Google Scholar 

  37. A. C. Kay and A. Goldberg 1977. Personal dynamic media. IEEE Computer10, 3 (March), 31–41.

    Article  Google Scholar 

  38. B. W. Kernighan and D. M. Richie 1978. The C Programming Language.Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  39. T. Kilburn, R. B. Payne and D. J. Howarth 1961. The Atlas supervisor. National Computer Conference20, 279–294. Article 3.

    Google Scholar 

  40. B. W. Lampson and R. F. Sproull 1979. An open operating system for a single-user machine. Operating Systems Review13, 5 (November), 98–105. Article 18.

    Google Scholar 

  41. B. W. Lampson and D. D. Redell 1980. Experience with processes and monitors in Mesa. Communications of the ACM23, 2 (February), 105–117.

    Article  Google Scholar 

  42. B. W. Lampson 1988. Personal distributed computing: The Alto and Ethernet software. In A History of Personal Workstations, A. Goldberg Ed., Addison-Wesley, Reading, MA, 291–344.

    Google Scholar 

  43. B. W. Lampson 2000. Personal communication, March 20.

    Google Scholar 

  44. S. Lauesen 1975. A large semaphore based operating system. Communications of the ACM18, 7 (July), 377–389. Article 11

    Article  MATH  Google Scholar 

  45. S. Lavington 1980. Early British Computers. Digital Press, Bedford, MA.

    Google Scholar 

  46. P. J. Leach, P. H. Levine, B. P. Douros, J. A. Hamilton, D. L. Nelson and B. L. Stumpf 1983. The architecture of an integrated local network. IEEE Journal on Selected Areas in Communications1, 5, 842–856.

    Article  Google Scholar 

  47. J. A. N. Lee 1992. Claims to the term “time-sharing.” IEEE Annals of the History of Computing14, 1, 16–17.

    Article  Google Scholar 

  48. B. H. Liskov 1972. The design of the Venus operating system. Communications of the ACM15, 3 (March), 144–149.

    Article  Google Scholar 

  49. W. C. Lynch 1966. Description of a high capacity fast turnaround university computing center. Communications of the ACM9, 2 (February), 117–123. Article 5.

    Article  Google Scholar 

  50. W. C. Lynch 1972. An operating system designed for the computer utility environment. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott Eds., Academic Press, New York, 341–350.

    Google Scholar 

  51. R. A. Maddux and H. D. Mills 1979. Review of “The Architecture of Concurrent Programs.” IEEE Computer12, (May), 102–103.

    Google Scholar 

  52. J. McCarthy 1959. A time-sharing operator program for our projected IBM 709. Unpublished memorandum to Professor P. M. Morse, MIT, January 1. Reprinted in IEEE Annals of the History of Computing14, 1, 1992, 20–23.

    Google Scholar 

  53. J. McCarthy 1962. Time-sharing computer systems. In Computers and the World of the Future, M. Greenberger Ed., The MIT Press, Cambridge, MA, 221–248.

    Google Scholar 

  54. J. McCarthy, S. Boilen, E. Fredkin and J. C. R. Licklider 1963. A time-sharing debugging system for a small computer. Spring Joint Computer Conference23, 51–57.

    Google Scholar 

  55. R. M. McKeag 1976a. Burroughs B5500 Master Control Program. In Studies in Operating Systems, R. M. McKeag and R. Wilson Eds., Academic Press, New York, 1–66.

    Google Scholar 

  56. R. M. McKeag 1976b. THE multiprogramming system. In Studies in Operating Systems, R. M. McKeag and R. Wilson Eds., Academic Press, New York, 145–184.

    Google Scholar 

  57. F. B. MacKenzie 1965. Automated secondary storage management. Datamation11, 11 (November), 24–28.

    Google Scholar 

  58. P. B. Medawar 1979. Advice to a Young Scientist. Harper & Row, New York.

    Google Scholar 

  59. C. Oliphint 1964. Operating system for the B 5000. Datamation10, 5 (May), 42–54. Article 4.

    Google Scholar 

  60. E. I. Organiek 1973. Computer System Organization: The B5700/B6700 Series. Academic Press, New York.

    Google Scholar 

  61. R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey and P. Winterbottom 1995. Plan 9 from Bell Labs. Lucent Technologies.

    Google Scholar 

  62. L. Poole 1984. A tour of the Mac desktop. Macworld1, (May-June), 19–26.

    Google Scholar 

  63. G. Popek, B. Walter, J. Chow, D. Edwards, C. Kline, G. Rudison and G. Thiel 1981. Locus: a network transparent, high reliability distributed system. ACM Symposium on Operating Systems Principles, Pacific Grove, CA, 169–177.

    Google Scholar 

  64. D. D. Redell, Y. K. Dalai, T. R. Horsley, H. C. Lauer, W. C. Lynch, P. R. McJones, H. G. Murray and S. C. Purcell 1980. Pilot: an operating system for a personal computer. Communications of the ACM23, 2 (February), 81–92. Article 19.

    Article  Google Scholar 

  65. M. Richards 1969. BCPL: a tool for compiler writing and system programming. Spring Joint Computer Conference34, 557–566..

    Google Scholar 

  66. D. M. Ritchie and K. Thompson 1974. The Unix time-sharing system. Communications of the ACM17, 7(July), 365–375. Article 10.

    Article  MATH  Google Scholar 

  67. D. M. Ritchie 1984. The evolution of the Unix time-sharing system. Bell Laboratories Technical Journal63, 8, Part 2 (October), 1577–1593.

    Article  Google Scholar 

  68. D. J. Roche 1972. Burroughs B5500 MCP and time-sharing MCP. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott Eds., Academic Press, New York, 307–320.

    Google Scholar 

  69. S. Rosen Ed. 1967. Programming Systems and Languages. McGraw-Hill, New York.

    MATH  Google Scholar 

  70. R. F. Rosin Ed. 1987. Prologue: the Burroughs B 5000. Annals of the History of Computing9, 1, 6–7.

    Article  Google Scholar 

  71. R. F. Rosin and J. A. N. Lee Eds. 1992. The CTSS interviews. Annals of the History of Computing14, 1, 33–51.

    Google Scholar 

  72. R. F. Rosin 2000. Personal communication, March 20.

    Google Scholar 

  73. G. F. Ryckman 1983. The IBM 701 computer at the General Motors Research Laboratories. IEEE Annals of the History of Computing5, 2 (April), 210–212. Article 1.

    Article  Google Scholar 

  74. R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh and B. Lyon 1985. Design and implementation of the Sun Network Filesystem. Usenix Conference, (June), 119–130.

    Google Scholar 

  75. A. C. Shaw 1974. The Logical Design of Operating Systems. Prentice-Hall, Engle-wood Cliffs, NJ.

    MATH  Google Scholar 

  76. S. K. Shrivastava and F. Panzieri 1982. The design of a reliable remote procedure call mechanism. IEEE Transactions on Computers31, 7(July), 692–697. Article 22.

    Article  Google Scholar 

  77. R. Slater 1987. Portraits in Silicon. The MIT Press, Cambridge, MA, 273–283.

    MATH  Google Scholar 

  78. D. C. Smith, C. Irby, R. Kimball and Eric Harslem 1982. The Star user interface: an overview. National Computer Conference, 515–528. Article 20.

    Google Scholar 

  79. R. B. Smith 1961. The BKS system for the Philco-2000. Communications of the ACM4,2(February), 104 and 109. Article 2.

    Article  Google Scholar 

  80. M. Stonebraker 1981. Operating system support for database management. Com-munications of the ACM24, 7(July), 412–418.

    Article  Google Scholar 

  81. J. E. Stoy and C. Strachey 1972. OS6—an experimental operating system for a small computer. The Computer Journal15, 2 & 3, 117–124 & 195–203. Article 17.

    Article  MATH  Google Scholar 

  82. C. Strachey 1959. Time sharing in large fast computers. Information Processing, (June), UNESCO, 336–341.

    Google Scholar 

  83. C. Strachey 1974. Letter to Donald Knuth, May 1. Quoted in Lee (1992).

    Google Scholar 

  84. D. Swinehart, G. McDaniel and D. R. Boggs 1979. WFS: a simple shared file system for a distributed environment. ACM Symposium on Operating Systems Principles, Pacific Grove, CA, (December), 9–17. Article 21.

    Google Scholar 

  85. D. C. Swinehart, P. T. Zellweger and R. B. Hagmann 1985. The structure of Cedar. SIGPLAN Notices20, 7(July), 230–244.

    Article  Google Scholar 

  86. A. S. Tanenbaum, R. van Renesse, H. van Staveren, G. J. Sharp, S. J. Muilender, J. Jansen and G. van Rossum 1990. Experiences with the Amoeba distributed operating system, Communications of the ACM33, 12 (December), 46–63.

    Article  Google Scholar 

  87. B. H. Tay and A. L. Ananda 1990. A survey of remote procedure calls. Operating Systems Review24, 3 (July), 68–79.

    Article  Google Scholar 

  88. J. E. White 1976. A high-level framework for network-based resource sharing. National Computer Conference, (June), 561–570.

    Google Scholar 

  89. M. V. Wilkes 1985. Memoirs of a Computer Pioneer. The MIT Press, Cambridge, MA.

    Google Scholar 

  90. R. Wilson 1976. The Titan supervisor. In Studies in Operating Systems, R. M. McKeag and R. Wilson Eds., Academic Press, New York, 185–263.

    Google Scholar 

  91. W. A. Wulf, E. S. Cohen, W. M. Corwin, A. K. Jones, R. Levin, C. Pierson and F. J. Pollack 1974. Hydra: the kernel of a multiprocessor operating system. Communications of the ACM17,6(June), 337–345.

    Article  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer Science+Business Media New York

About this chapter

Cite this chapter

Hansen, P.B. (2001). The Evolution of Operating Systems. In: Hansen, P.B. (eds) Classic Operating Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4757-3510-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4757-3510-9_1

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-2881-8

  • Online ISBN: 978-1-4757-3510-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics