Abstract
There is a decade of writing operating systems before the ‘classic’ period of the mid-1960s, when such complex operating systems as Multics or OS/360 were developed and the theoretical principles for designing an operating system were first outlined. The few accounts on these early systems mostly focus on those developed for IBM machines that dominated the market, but even there, there is a greater variation of systems than one would expect. During this period, running roughly from 1954 to 1964, not even the notion nor the name of ‘operating system’ had stabilized. Some used the term ‘monitor’, others ‘supervisor’, yet others ‘director’ or ‘executive’. These systems were still very closely tied up with the hardware, in particular, since processor memory was at a premium, the organization of the communication between the processor and external memory devices was a crucial issue. Magnetic tapes (and later disk drives) made operating systems really worthwhile, because it allowed for a faster I/O communication than punched cards or paper tape. The early operating systems were also were deeply entangled with programming systems. Programming languages, (macro) assembler systems, routine libraries, editing and debugging tools etc., were often, though not always and not necessarily, integral parts of early operating systems. Therefore, the question of what an operating system exactly is, and how it would differenciate itself from these other tools, was neither an easy nor unequivocal question during this early period. An operating system not only incorporates a vision on how to access the computer, but also on how to access the (variety of) user(s). These visions were influenced by local practices and design philosophies and often changed while accumulating experience in using the computer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This storyline captures only one (important) line of development and can be found in, e.g., Ceruzzi (2003, pp. 96–101), Tanenbaum (2001, pp. 6–18) or Krakowiak and Mossi´ere (2013); Krakowiak (2014). Though also Brinch Hansen (2001) follows this chronology, this presentation brings out that there were many systems and philosophies developing in parallel.
- 2.
The details of this systematic study cannot be included in this paper but will probably be published in book form with Lonely Scholar.
- 3.
Magnetic tapes were introduced as early as 1951 on the UNIVAC computer, but did not become common for other systems until the mid-1950s. It should also be remarked that punched cards and paper tape remained in use, mostly in parallel with magnetic tape.
- 4.
There are earlier (or contemporary) instances of an interrupt, in special projects such as the DYSEAC, the SAGE system or IBM’s Project Stretch, but its introduction on the ERA 1103A was the first ‘commercial’ appearance.
- 5.
For the languages preceding FORTRAN, see Kunth and Pardo (1979).
- 6.
As a General Electric’s advertisement from the 1960s remarked correctly, “time-sharing is actually computer sharing.”
- 7.
- 8.
We did not include information on computers that were not made in the U.S., but the same timeframe seems to be valid. For U.K. computers, e.g., the first operating systems appear in the beginning of the 1960s for the LEO III (1961) or Ferranti’s Atlas and ORION computers (1962).
- 9.
Two systems in this table are still the product of user development: the BKS system was developed by the Bettis-Knoll power plant; CDC’s CO-OP system was the result of the efforts of its user group CO-OP.
- 10.
- 11.
Nearly all operating systems would be customised upto a certain extent. An example of a extensive customisation is Thomson-Ramo-Woolridge’s version of IBSYS in 1962 (Nelson 1969).
- 12.
- 13.
I thank one of the anonymous reviewers for pointing this origin out.
- 14.
It should be noted that another interpretation of ‘open shop’ versus ‘closed shop’ exists (though it remains compatible with its trade union origins). In that interpretation, the ‘closed shop’ is the situation where only the operators and the machine code programmers can use the machine because the other users don’t know how to write in machine code. The ‘open shop’ situation then is when other users, now using a programming system, can start writing programs. These programs may possibly be executed in batches, see e.g. Breheim (1961) for such an ‘open shop’ system using FMS where the users are empowered by the FORTRAN programming language.
- 15.
This quote comes from a section written by John Carr III.
- 16.
After his involvement with Bell Labs’ BESYS-systems and the SHARE community, he went to RAND where he headed the team that made the RAND-SHARE operating system. Afterwards, he worked for IBM on the OS/360 system.
- 17.
There were other experiments in multi-computer systems around 1960, amongst them the Burroughs D-825 (1962) or the NBS’s Pilot computer (1959).
- 18.
- 19.
This technological evolution has to be contextualised socially, especially in the U.S. where this automation took place amid tensions between organised labour, corporate management, technology and science. See Noble (1984) for a thorough study on how the introduction of numerical control in the 1950s and 1960s has to be framed within the fights and negociations between management and workers on the shop floor during this period.
- 20.
An extensive state-of-the-art anno 1957 can be found in Grabbe (1957).
- 21.
See also Cohn (2015) for the transition from analogue to digital computing at Leeds & Northrup.
- 22.
Clark worked at Lincoln Lab on the Whirlwind and the Memory Test Computer at the time they were starting to prepare for project SAGE, he would later head the development of the TX-0 and TX-2. Remark that human or interactive intervention is not planned in Clark’s 1954 proposal, though such interaction would appear on the TX-0 and TX-2.
- 23.
The ‘computer utility’ has recently (and anachronically) been reclaimed as a precursor to cloud computing.
- 24.
For a history of ARPA sponsored research in timesharing and its eventual influence, see Waldrop (2002, Chapter 5 & 6).
- 25.
DEC’s PDP-1 owed much to the design of the TX-0, also its engineers closely communicated with MIT and BBN for the development of their time-sharing systems. DECUS, the PDP user’s group, would play an important role in spreading the implementation of time-sharing on the PDP-machines.
- 26.
An important part of CDC’s personnel, in particular William Norris and Seymour Cray, came from ERA where they had worked on the ERA 1103 and the Naval Tactical Defence System (NTDS), a computerized information processing system.
- 27.
Max Palevsky and Robert Beck, who founded SDS in 1961, came from Bendix and Packard-Bell where they had been involved in developing computers such as the Bendix G-15 and the PB-250 that were often used as process control computers.
- 28.
The 1965 issues of both trade magazines Computers and Automation and Datamation amply illustrate the early discussions.
- 29.
- 30.
It should be remarked that in other languages (and thus countries), sometimes different terms have prevailed. In many languages, such as Spanish, Italian, Swedish or Russian, a variant of ‘operating system’ is used, but in Germany, ‘Betriebssystem’ is the usual word, in France, ‘syst`eme d’exploitation’, in the Netherlands ‘besturingssysteem’.
- 31.
This transfer of meaning, from a part of a system to the whole system, is quite a natural linguistic process called ‘pars pro toto’ (the parts for the whole) or ‘metonymy’. Some everyday exemples of this process are: ‘I read the latest Stephen King’ (the author stands for the book), ‘Berlin expressed its support with the French people’ (Berlin, as a capital, standing for Germany or its gouvernment).
- 32.
As a matter of fact, in the ACM-publications on the SHARE 709 system, the term ‘operating program’ is used to denote the program running on the machine. This use of ‘operating’ makes the use of ‘operating system’ if not impossible, at the very least confusing.
- 33.
- 34.
The idea of programming language seems to have first developed in the user’s communities, notably USE (1955), and later proliferated. The emphasis on ‘language’ probably helped to stress that it was a coding technique that was universal and portable, cf. (Nofre et al. 2014). If one looks at FORTRAN in particular, a distinction is made within the FORTRAN system between the language, in which programs are written, and the translator.
References
Adams, C.W. 1955. Developments in programming research. In Proceedings of the Eastern Joint ACM-AIEE-IRE Computer Conference 1955, 75–79.
Adams, C.W. 1987. A batch-processing operating system for the Whirlwind I computer. Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 785–789.
Adams, C.W., S. Gill, and others eds. 1954. Digital Computers: Business Applications. Summer program 1954.
Akera, A. 2001. Voluntarism and the fruits of collaboration: The IBM user group share. Technology and Culture 42(4): 710–736.
Anderson, J.P., S.H. Hoffman, J. Shiman, and R.J. Williams. 1962. The D-825, a multiple-computer system for command & control. In Proceedings of the 1962 Fall Joint Computer Conference (AFIPS), vol. 22, 86–96.
Bauer, W.F. 1955. An integrated computation system for the ERA-1103. Communications of the ACM 3(3): 181–185.
Bauer, W.F. 1956. Use of automatic programming. Computers and Automation 5(11): 6–11.
Bauer, W.F. 1958. Computer design from the programmer’s viewpoint. In Proceedings of the Eastern Joint ACM-AIEE-IRE Computer Conference 1958, vol. 14, 46–51.
Bauer, W.F., and G.P. West. 1957. A system for general-purpose digital-analog computation. Communications of the ACM 4(1): 12–17.
Bauer, W.F., and A.M. Rosenberg. 1972. Software–historical perspectives and current trends. In Proceedings of the 1972 Fall Joint Conference (AFIPS), vol. 41, 993–1007.
Bemer, R. 1957. What the engineer should know about programming: How to consider a computer. Data Control Section, Automatic Control Magazine, Mar 1957, 66–69.
Bemer, R. 1962. The present status, achievement and trends of programming for commercial data processing. In Digitale informationswandler, ed. W. Hoffmann, 312–349. Wiesbaden: Vieweg.
Bennington, H.D., and C.H. Gaudette. 1956. Lincoln laboratory utility program system. In Proceedings of the Western Joint ACM-AIEE-IRE Computer Conference 1956, vol. 9, 21.
Bratman, H., and I.V. Boldt. 1959. The SHARE 709 system: Supervisory control. Communications of the ACM 6(2): 152–155.
Breheim, D.J. 1961. ‘Open Shop’ programming at rocketdyne speeds research and production. Computers and Automation 10(7): 8–9.
Brinch Hansen, P. 2001. In Classic operating systems: From batch processing to distributed systems. Berlin: Springer.
Bryan, G.E. 1954. The RAND share operating system manual for the IBM 7090. Memorandum RM–3327-PR, Santa Monica.
Campbell-Kelly, M. 2003. From airline reservations to sonic the Hedgehog: A history of the software industry. Cambridge: MIT Press.
Campbell-Kelly, M., and D.D. Garcia-Swartz, 2008. Economic perspectives on the history of the computer time-sharing industry, 1965–1985. IEEE Annals of the History of Computing 30(1): 16–36.
Ceruzzi, P. 2003. A history of modern computing, 2nd ed. Cambridge: MIT Press.
Clark, W. 1954. The multi-sequence program concept. Lincoln Lab Memorandum 6M-3144.
Clark, W.A., G.H. Mealy, and B.I Witt. 1966. The functional structure of OS/360. IBM Systems Journal 5(1): 3–51.
Cohn, J. 2015. Transitions from analog to digital computing in electric power systems. IEEE Annals of the History of Computing 37(3): 32–43.
Corbat´o, F.J., M.M. Dagget, and R.C. Daley. 1962. An experimental time-sharing system. In Proceedings of the 1962 Spring Joint Conference (AFIPS), vol. 21, 335–344.
Computer Research Corporation. 1965. Time-sharing system scorecard. No. 1 Spring 1964, No. 2.
Culler, G.J., and B.D. Fried. 1963. An online computing center for scientific problems. M19-3U3, TRW report.
Dines R.S. 1966. Telecommunications and supervisory control programs. Computers and Automation 15(5): 22–24.
Drummond, R.E. 1987. BESYS revisited. In Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 805–814.
Fisher, F.P., and G.F. Swindle. 1964. Computer programming systems. New York: Holt, Rinehart and Winston.
Frank, W.L. 1956. Organization of a program library for a digital computer center. Computers and Automation 5(3): 6–8.
Fredkin, E. 1963. The time-sharing of computers. Computers and Automation 12(11): 12–20.
Gilmore, J.T. Jr. 1957. TX-0 direct input utility system. Memorandum 6M-5097-1, Lincoln Lab.
Grabbe, E.N., ed. 1957. Automation in business and industry. London: Wiley.
Grabbe, E.N., S. Ramo, and D.E. Woolridge 1959. Handbook of automation, computation and control, vol. 2. New York: Wiley.
Haigh, T. 2002. Software in the 1960s as concept, service, and product. IEEE Annals of the History of Computing 24(1): 5–13.
Hassitt, A. 1967. Programming and computer systems. New York/London: Academic.
Homan, C.E., and G.F. Swindle. 1959. Programmer’s manual for the SHARE operating system. Poughkeepsie: IBM.
Hopper, G. 1954. ACM Glossary.
IBM. 1961. Reference Guide to the 709/7090 FORTRAN Programming System. IBM: Poughkeepsie. (includes material from IBM 709/7090 FORTRAN Monitor, form C28-6065).
IBM. 1964. IBM 7090/7094 IBSYS system operator’s guide. Poughkeepsie: IBM.
IBM. 1965. IBM field engineering education student self-study course: Introduction to teleprocessing. Poughkeepsie: IBM.
Knuth, D.E., and L. Pardo. 1979. The early development of programming languages. In Encyclopedia of computer science and technology, ed. Belzer, J., A.G. Holzman, and A. Kent, 419–496. New York: Marcel Dekker.
Krakowiak, S. 2014. Les dˊebuts d’une approche scientifique des systˋemes d’exploitation. Interstices.
Krakowiak, S., and J. Mossi´ere. 2013. La naissance des systˊemes d’exploitation. Interstices.
Larner, R.A. 1987. FMS: The IBM FORTRAN monitor system. In Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 815–820.
McCarthy, J., S. Boilen, E. Fredkin, and J.C.R. Licklider. 1963. A time-sharing debugging system for a small computer. In Proceedings of the 1963 Spring Joint Conference (AFIPS), vol. 23, 51–57.
Mealy, G.H. 1962. Operating systems. RAND Report P-2584. Partially reprinted in Rosen.
Mealy, G.H. 1987. Some threads in the development of early operating systems. In Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 779–784.
Mock, O.R. 1987. The North American 701 monitor. In Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 791–795.
Moncreiff, B. 1956. An automatic supervisor for the IBM 702. In Proceedings of the Western Joint ACM-AIEE-IRE Computer Conference 1956, vol. 9, 21–25.
Nelson, E. 1969. Computer installation at TRW systems—some experiences and lessons. Computers and Automation 18(8): 21–22.
Noble, A.S., and R.B. Talmadge. 1963. Design of an integrated programming and operating system, I & II. IBM System Journal 2: 152–181.
Noble, D.F. 1984. Forces of production: A social history of industrial automation. New York: Knopf.
Nofre, D., M. Priestley, and G. Alberts. 2014. When technology became language: The origins of the linguistic conception of computer programming, 1950–1960. Technology and Culture 55(1): 40–75.
Orchard-Hays, W. 1961. The evolution of programming systems. Proceedings of the IRE 49(1): 283–295.
Patrick, R.L. 1987. General motors/North American monitor for the IBM 704 computer. In Proceedings of the 1987 Spring Joint Conference (AFIPS), vol. 56, 796–803.
Rosen, S. 1967. Programming systems and languages. New York: McGraw-Hill.
Sackman, H. 1970. Man-computer problem solving. Princeton etc.: Auerbach.
Schwartz, J. 1968. Interactive systems: Promises, present and future. In Proceedings of the 1968 Fall Joint Conference (AFIPS), vol. 33 part I, 89–98.
Shell, D.L. 1959. SHARE 709 system: A cooperative effort. Communications of the ACM 6(2): 123–127.
Strachey, C. 1959. Time-sharing in large fast computers. In Proceedings International Conference on Information Processing, UNESCO (June 1959), Paris, paper B.2.19, 336–341.
Teager, H., and McCarthy, J. 1959. Time-shared program testing. Preprints of Papers ACM 14th National Meeting (Sept 1959), 12–1 to 12–2.
Tanenbaum, A. 2001. Modern operating systems, 2nd ed. Upper Saddle River: Prentice Hall.
Walden D., and T. Van Vleck. 2011. Compatible time-sharing system (1961–1973). Fiftieth anniversary commemorative overview. Washington, D.C.: IEEE Computer Society.
Waldrop, M. 2002. The dream machine: J.C.R. Licklider and the revolution that made computing personal. New York: Viking.
Acknowledgements
I would like to thank Baptiste M´el`es for inviting me to talk about Multics in his seminar Codes Sources and I. Astic, F. Anceau and P. Mounier-Kuhn for giving me the opportunity to expand on operating systems before 1964 at the CNAM seminar on the history of computing. Doing some research for these talks and for my course Introduction to the History of Computing at Paris 8 was the start for this study of early operating systems. Finally, I would like to thank the organizers of the third HAPOP colloquium in Paris where this paper was first presented as well as Liesbeth De Mol for discussing the paper with me during the writing process. Finally, my thanks go to two anonymous reviewers whose comments helped to improve the paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Bullynck, M. (2018). What Is an Operating System? A Historical Investigation (1954–1964). In: De Mol, L., Primiero, G. (eds) Reflections on Programming Systems. Philosophical Studies Series, vol 133. Springer, Cham. https://doi.org/10.1007/978-3-319-97226-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-97226-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-97225-1
Online ISBN: 978-3-319-97226-8
eBook Packages: Religion and PhilosophyPhilosophy and Religion (R0)