In computing, time-sharing is the concurrent sharing of a computing resource among many tasks or users by giving each task or user a small slice of processing time. This quick switch between tasks or users gives the illusion of simultaneous execution.[1][2] It enables multi-tasking by a single user or enables multiple-user sessions.

Developed during the 1960s, its emergence as the prominent model of computing in the 1970s represented a major technological shift in the history of computing. By allowing many users to interact concurrently with a single computer, time-sharing dramatically lowered the cost of providing computing capability, made it possible for individuals and organizations to use a computer without owning one,[3] and promoted the interactive use of computers and the development of new interactive applications.

History

edit

Batch processing

edit

The earliest computers were extremely expensive devices, and very slow in comparison to later models. Machines were typically dedicated to a particular set of tasks and operated by control panels, the operator manually entering small programs via switches in order to load and run a series of programs. These programs might take hours to run. As computers grew in speed, run times dropped, and soon the time taken to start up the next program became a concern. Newer batch processing software and methodologies, including batch operating systems such as IBSYS (1960), decreased these "dead periods" by queuing up programs ready to run.[4]

Comparatively inexpensive card punch or paper tape writers were used by programmers to write their programs "offline". Programs were submitted to the operations team, which scheduled them to be run. Output (generally printed) was returned to the programmer. The complete process might take days, during which time the programmer might never see the computer. Stanford students made a short film humorously critiquing this situation.[5]

The alternative of allowing the user to operate the computer directly was generally far too expensive to consider. This was because users might have long periods of entering code while the computer remained idle. This situation limited interactive development to those organizations that could afford to waste computing cycles: large universities for the most part.

Time-sharing

edit
 
Unix time-sharing at the University of Wisconsin, 1978

The concept is claimed to have been first described by Robert Dodds in a letter he wrote in 1949 although he did not use the term time-sharing.[6] Later John Backus also described the concept, but did not use the term, in the 1954 summer session at MIT.[7] Bob Bemer used the term time-sharing in his 1957 article "How to consider a computer" in Automatic Control Magazine and it was reported the same year he used the term time-sharing in a presentation.[6][8][9] In a paper published in December 1958, W. F. Bauer wrote that "The computers would handle a number of problems concurrently. Organizations would have input-output equipment installed on their own premises and would buy time on the computer much the same way that the average household buys power and water from utility companies."[10]

Christopher Strachey, who became Oxford University's first professor of computation, filed a patent application in the United Kingdom for "time-sharing" in February 1959.[11][12] He gave a paper "Time Sharing in Large Fast Computers"[13] at the first UNESCO Information Processing Conference in Paris in June that year, where he passed the concept on to J. C. R. Licklider.[14] This paper was credited by the MIT Computation Center in 1963 as "the first paper on time-shared computers".[15]

The meaning of the term time-sharing has shifted from its original usage. From 1949 to 1960, time-sharing was used to refer to multiprogramming without multiple user sessions.[6] Later, it came to mean sharing a computer interactively among multiple users. In 1984 Christopher Strachey wrote he considered the change in the meaning of the term time-sharing a source of confusion and not what he meant when he wrote his paper in 1959.[6]

There are also examples of systems which provide multiple user consoles but only for specific applications, they are not general-purpose systems. These include SAGE (1958), SABRE (1960)[6] and PLATO II (1961), created by Donald Bitzer at a public demonstration at Robert Allerton Park near the University of Illinois in early 1961. Bitzer has long said that the PLATO project would have gotten the patent on time-sharing if only the University of Illinois had not lost the patent for two years.[16]

The first interactive, general-purpose time-sharing system usable for software development, Compatible Time-Sharing System, was initiated by John McCarthy at MIT writing a memo in 1959.[17] Fernando J. Corbató led the development of the system, a prototype of which had been produced and tested by November 1961.[18] Philip M. Morse arranged for IBM to provide a series of their mainframe computers starting with the IBM 704 and then the IBM 709 product line IBM 7090 and IBM 7094.[18] IBM loaned those mainframes at no cost to MIT along with the staff to operate them and also provided hardware modifications mostly in the form of RPQs as prior customers had already commissioned the modifications.[19][18] There were certain stipulations that governed MIT's use of the loaned IBM hardware. MIT could not charge for use of CTSS.[20] MIT could only use the IBM computers for eight hours a day; another eight hours were available for other colleges and universities; IBM could use their computers for the remaining eight hours, although there were some exceptions. In 1963 a second deployment of CTSS was installed on an IBM 7094 that MIT has purchased using ARPA money. This was used to support Multics development at Project MAC.[18]

JOSS began time-sharing service in January 1964.[21] Dartmouth Time-Sharing System (DTSS) began service in March 1964.[22]

Development

edit

Throughout the late 1960s and the 1970s, computer terminals were multiplexed onto large institutional mainframe computers (centralized computing systems), which in many implementations sequentially polled the terminals to see whether any additional data was available or action was requested by the computer user. Later technology in interconnections were interrupt driven, and some of these used parallel data transfer technologies such as the IEEE 488 standard. Generally, computer terminals were utilized on college properties in much the same places as desktop computers or personal computers are found today. In the earliest days of personal computers, many were in fact used as particularly smart terminals for time-sharing systems.

DTSS's creators wrote in 1968 that "any response time which averages more than 10 seconds destroys the illusion of having one's own computer".[23] Conversely, timesharing users thought that their terminal was the computer,[24] and unless they received a bill for using the service, rarely thought about how others shared the computer's resources, such as when a large JOSS application caused paging for all users. The JOSS Newsletter often asked users to reduce storage usage.[25] Time-sharing was nonetheless an efficient way to share a large computer. As of 1972 DTSS supported more than 100 simultaneous users. Although more than 1,000 of the 19,503 jobs the system completed on "a particularly busy day" required ten seconds or more of computer time, DTSS was able to handle the jobs because 78% of jobs needed one second or less of computer time. About 75% of 3,197 users used their terminal for 30 minutes or less, during which they used less than four seconds of computer time. A football simulation, among early mainframe games written for DTSS, used less than two seconds of computer time during the 15 minutes of real time for playing the game.[26] With the rise of microcomputing in the early 1980s, time-sharing became less significant, because individual microprocessors were sufficiently inexpensive that a single person could have all the CPU time dedicated solely to their needs, even when idle.

However, the Internet brought the general concept of time-sharing back into popularity. Expensive corporate server farms costing millions can host thousands of customers all sharing the same common resources. As with the early serial terminals, web sites operate primarily in bursts of activity followed by periods of idle time. This bursting nature permits the service to be used by many customers at once, usually with no perceptible communication delays, unless the servers start to get very busy.

Time-sharing business

edit

Genesis

In the 1960s, several companies started providing time-sharing services as service bureaus. Early systems used Teletype Model 33 KSR or ASR or Teletype Model 35 KSR or ASR machines in ASCII environments, and IBM Selectric typewriter-based terminals (especially the IBM 2741) with two different seven-bit codes.[27] They would connect to the central computer by dial-up Bell 103A modem or acoustically coupled modems operating at 10–15 characters per second. Later terminals and modems supported 30–120 characters per second. The time-sharing system would provide a complete operating environment, including a variety of programming language processors, various software packages, file storage, bulk printing, and off-line storage. Users were charged rent for the terminal, a charge for hours of connect time, a charge for seconds of CPU time, and a charge for kilobyte-months of disk storage.

Common systems used for time-sharing included the SDS 940, the PDP-10, the IBM 360, and the GE-600 series. Companies providing this service included GE's GEISCO, the IBM subsidiary The Service Bureau Corporation, Tymshare (founded in 1966), National CSS (founded in 1967 and bought by Dun & Bradstreet in 1979), Dial Data (bought by Tymshare in 1968), AL/COM, Bolt, Beranek, and Newman (BBN) and Time Sharing Ltd. in the UK.[28] By 1968, there were 32 such service bureaus serving the US National Institutes of Health (NIH) alone.[29] The Auerbach Guide to Timesharing (1973) lists 125 different timesharing services using equipment from Burroughs, CDC, DEC, HP, Honeywell, IBM, RCA, Univac, and XDS.[30][31]

Rise and fall

edit

In 1975, acting president of Prime Computer Ben F. Robelen told stockholders that "The biggest end-user market currently is time-sharing".[32] For DEC, for a while the second largest computer company (after IBM), this was also true: Their PDP-10 and IBM's 360/67[33] were widely used[34] by commercial timesharing services such as CompuServe, On-Line Systems, Inc. (OLS), Rapidata and Time Sharing Ltd.

The advent of the personal computer marked the beginning of the decline of time-sharing.[citation needed] The economics were such that computer time went from being an expensive resource that had to be shared to being so cheap that computers could be left to sit idle for long periods in order to be available as needed.[citation needed]

Rapidata as an example
edit

Although many time-sharing services simply closed, Rapidata[35][36] held on, and became part of National Data Corporation.[37] It was still of sufficient interest in 1982 to be the focus of "A User's Guide to Statistics Programs: The Rapidata Timesharing System".[38] Even as revenue fell by 66%[39] and National Data subsequently developed its own problems, attempts were made to keep this timesharing business going.[40][41][42]

  • Time Sharing Limited (TSL, 1969–1974) - launched using DEC systems. PERT was one of its popular offerings. TSL was acquired by ADP in 1974.
  • OLS Computer Services (UK) Limited (1975–1980) - using HP & DEC systems.

The computer utility

edit

Beginning in 1964, the Multics operating system[43] was designed as a computing utility, modeled on the electrical or telephone utilities. In the 1970s, Ted Nelson's original "Xanadu" hypertext repository was envisioned as such a service.

Security

edit

Time-sharing was the first time that multiple processes, owned by different users, were running on a single machine, and these processes could interfere with one another.[44] For example, one process might alter shared resources which another process relied on, such as a variable stored in memory. When only one user was using the system, this would result in possibly wrong output - but with multiple users, this might mean that other users got to see information they were not meant to see.

To prevent this from happening, an operating system needed to enforce a set of policies that determined which privileges each process had. For example, the operating system might deny access to a certain variable by a certain process.

The first international conference on computer security in London in 1971 was primarily driven by the time-sharing industry and its customers.[45]

Time-sharing in the form of shell accounts has been considered a risk.[46]

Notable time-sharing systems

edit

Significant early timesharing systems:[30]

See also

edit

References

edit
  1. ^ "Time-sharing definition – Glossary | NordVPN". nordvpn.com (in Portuguese). 2023-11-23. Retrieved 2024-06-17.
  2. ^ "Time Sharing Operating System". GeeksforGeeks. 2020-04-28. Retrieved 2024-06-17.
  3. ^ IBM advertised, early 1960s, with a headline: "This man is sharing a $2 million computer"
  4. ^ "History of Operating Systems" (PDF).
  5. ^ "Ellis D. Kropotchev Silent Film - CHM Revolution". www.computerhistory.org. Retrieved 2023-05-26.
  6. ^ a b c d e Lee, J.A.N. (1992). "Claims to the term 'time-sharing'". IEEE Annals of the History of Computing. 14 (1): 16–54. doi:10.1109/85.145316. S2CID 30976386.
  7. ^ Backus, John, Digital Computers: Advanced Coding Techniques Archived 2022-08-06 at the Wayback Machine, MIT 1954, page 16-2. The first known description of computer time-sharing.
  8. ^ Bemer, Bob (March 1957). "Origins of Timesharing". bobbemer.com. Archived from the original on 2017-07-02. Retrieved June 24, 2016.
  9. ^ Middleburg, C.A. (2010). "Searching Publications on Operating Systems". arXiv:1003.5525 [cs.OS].
  10. ^ Bauer, W. F. (December 1958). Computer design from the programmer's viewpoint] (PDF). Eastern Joint Computer Conference. Archived from the original (PDF) on 2016-07-23. One of the first descriptions of computer time-sharing.
  11. ^ "Computer Pioneers - Christopher Strachey". history.computer.org. Retrieved 2020-01-23. What Strachey proposed in his concept of time-sharing was an arrangement that would preserve the direct contact between programmer and machine, while still achieving the economy of multiprogramming.
  12. ^ "Computer - Time-sharing and minicomputers". Encyclopedia Britannica. Retrieved 2020-01-23. In 1959 Christopher Strachey in the United Kingdom and John McCarthy in the United States independently described something they called time-sharing.
  13. ^ Strachey, Christopher (1959-06-15). Time sharing in large fast computers. UNESCO Information Processing conference. Retrieved 30 May 2023.
  14. ^ Gillies, James M.; Gillies, James; Gillies, James; Cailliau, Robert (2000). How the Web was Born: The Story of the World Wide Web. Oxford University Press. p. 13. ISBN 978-0-19-286207-5.
  15. ^ F. J. Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide (MIT Press, 1963) ISBN 978-0-262-03008-3. "To establish the context of the present work, it is informative to trace the development of time-sharing at MIT. Shortly after the first paper on time-shared computers by C. Strachey at the June 1959 UNESCO Information Processing conference, H.M. Teager and J. McCarthy delivered an unpublished paper "Time-Shared Program Testing" at the August 1959 ACM Meeting."
  16. ^ Brian Dear, Chapter 4 -- The Diagram, The Friendly Orange Glow, Pantheon Books, New York, 2017; pages 71-72 discuss the development of time-sharing and the University of Illinois loss of the patent.
  17. ^ "Reminiscences on the Theory of Time-Sharing". John McCarthy's Original Website. Retrieved 2020-01-23. in 1960 'time-sharing' as a phrase was much in the air. It was, however, generally used in my sense rather than in John McCarthy's sense of a CTSS-like object.
  18. ^ a b c d Walden, David; Van Vleck, Tom, eds. (2011). "Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview" (PDF). IEEE Computer Society. Retrieved February 20, 2022.
  19. ^ Watson Jr., Thomas J. (1990). Father, Son, and Co.: My Life at IBM and Beyond. New York: Bantam Books. p. 244-245. ISBN 9780553070118. When we started delivering our first commercial machines, our customers often found that the most difficult thing about having a computer was finding somebody who could run it. We couldn't produce all those technicians ourselves. Yet there was not a single university with a computer curriculum. So I went up to MIT in the mid-1950s and urged them to start training computer scientists. We made a gift of a large computer and the money to run it.
  20. ^ Lee, J.A.N.; Rosin, Robert F (1992). "Time-Sharing at MIT". IEEE Annals of the History of Computing. 14 (1): 18. doi:10.1109/85.145317. S2CID 30631012. Retrieved October 3, 2022. Corbato: No, that was one of the interesting aspects. One of the terms of IBM's donation for the use of the equipment was that we were not to charge for it. It was free all right.
  21. ^ J. C. Shaw (1964). "JOSS: a designer's view of an experimental on-line computing system". Proceeding AFIPS '64 (Fall, part I) Proceedings of the October 27-29, 1964, fall joint computer conference, part I. pp. 455–464. doi:10.1145/1464052.1464093. ISBN 9781450378895. S2CID 16483923.
  22. ^ Rankin, Joy Lisi (2018), A People's History of Computing in the United States, Cambridge, Massachusetts: Harvard University Press, ISBN 9780674970977
  23. ^ Kemeny, John G.; Kurtz, Thomas E. (11 October 1968). "Dartmouth Time-Sharing". Science. 162 (3850): 223–228. Bibcode:1968Sci...162..223K. doi:10.1126/science.162.3850.223. PMID 5675464.
  24. ^ "TRANSCRIPTS OF 1974 National Computer Conference Pioneer Day Session". Dartmouth Time Sharing System. Dartmouth College. 1974.
  25. ^ Marks, Shirley (December 1971). The JOSS Years: Reflections on an experiment (PDF) (Technical report). Rand. pp. 32–33. Retrieved 2019-06-19.
  26. ^ Kemeny, John G. (1972). Man and the Computer. New York: Charles Scribner's Sons. pp. 32–37, 41–42. ISBN 9780684130095. LCCN 72-1176.
  27. ^ IBM 2741 Communication Terminal (PDF). IBM. p. 12. Archived from the original (PDF) on 2017-03-16. Retrieved 2015-10-06.
  28. ^ Jeffrey R. Yost, Making IT Work: A History of the Computer Services Industry, 2017, ISBN 0262342197 p. 158
  29. ^ "Information Technology Corporate Histories Collection". Computer History Museum. Retrieved on 2013-11-29 from http://www.computerhistory.org/corphist/view.php?s=stories&id=136.
  30. ^ a b c d Auerbach Guide to Time Sharing (PDF). Auerbach Publishers, Inc. 1973. Retrieved 2013-11-29.
  31. ^ DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1
  32. ^ Upton, Molly (1975-06-11). "Prime President Predicts '75 Orders On Target, Despite Recent Slowdown". Computerworld. p. 35. Retrieved 2024-10-23.
  33. ^ One Two-page IBM print ad was headlined "100 or more people can use IBM's new time-sharing computer at the same time." Originals were/are? on eBay
  34. ^ p.1425, Encyclopedia of Computer Science, Litton Educational Publishing, Inc.
  35. ^ https://groups.google.com/forum/#!topic/alt.folklore.computers/aE4TwORruB8 - "I worked for RapiData Timesharing for about a year circa 1969..."
  36. ^ someone else: "I worked there for almost 2 years 1977 to 1979." alt.folklore.computers/aE4TwORruB8/EdpKfFAlBncJ
  37. ^ "Stocks". Bloomberg.com. 2023-05-26. Retrieved 2023-05-26.
  38. ^ Bruce Bosworth, ISBN 978-089529-1-677
  39. ^ Computerworld, Oct. 6, 1986, p.179, "Rapidata revenue was $11 million ... in 1986, down from ... ($31 million in 1982)."
  40. ^ Computerworld, Aug.25,1986, p.5, "National Data Corp. said it is close to reaching an agreement with a buyer of its Rapidata timesharing division. In May, National Data said it would close down ..."
  41. ^ National Data Corp became NDC-Health Corp in 2001 (bizjournals.com/atlanta/stories/2001/10/29/daily25.html)
  42. ^ As for a place in history, Rapidata is listed in 'The AUERBACH Guide to Time Sharing (1973)' http://bitsavers.informatik.uni-stuttgart.de/pdf/auerbach/GuideToTimesharing_Jan73.pdf
  43. ^ "Multics Commands and Active Functions (AG92-06)" (PDF). BitSavers. Honeywell Bull, Inc. February 1985. Archived from the original (PDF) on June 6, 2022. Retrieved January 10, 2021.
  44. ^ Silberschatz, Abraham; Galvin, Peter; Gagne, Greg (2010). Operating system concepts (8th ed.). Hoboken, N.J.: Wiley & Sons. p. 591. ISBN 978-0-470-23399-3.
  45. ^ O'Neill, Judy Elizabeth (1992). The Evolution of Interactive Computing Through Time-sharing and Networking (Thesis). OCLC 1011609244.[page needed]
  46. ^ Toxen, Bob (May 2007). "The Seven Deadly Sins of Linux Security: Avoid these common security risks like the devil". Queue. 5 (4): 38–47. doi:10.1145/1255421.1255423. Most recent vulnerabilities are not directly exploitable remotely on most systems. This means that most systems are not at risk for remote attack from the Internet. Many of the vulnerabilities may be taken advantage of by someone with a regular shell account on the system.
  47. ^ Babcock, J. D. (1967). "A brief description of privacy measures in the RUSH time-sharing system". Proceedings of the April 18-20, 1967, spring joint computer conference on - AFIPS '67 (Spring). p. 301. doi:10.1145/1465482.1465528.
  48. ^ Hartley, D. F. (1968), The Cambridge multiple-access system: user's reference manual, Cambridge: Cambridge Univ. Press, ISBN 978-0901224002
  49. ^ "Time Sharing", James Miller. Retrieved 30 November 2013.

Further reading

edit
  • Nelson, Theodor (1974). Computer Lib: You Can and Must Understand Computers Now; Dream Machines: "New Freedoms Through Computer Screens— A Minority Report". Self-published. ISBN 0-89347-002-3. pp. 56–57.
  • Fredkin, Edward (Nov 1963). "The Time Sharing of Computers" (PDF). Computers and Automation. XII (11): 12–13, 16–20.: "The author relates a short history of time-sharing, the initial time-sharing experiments, the modifications of existing computers and those designed specifically for time-sharing, project MAC, significant features of the system, services, languages, programs, scope displays and light pens, and intercommunication.[1]
edit
→ derivation     >> strong influence     > some influence/precedence
 CTSS 
> IBM M44/44X
>> CP-40/CMS CP[-67]/CMS  VM/370 → VM/SE versions → VM/SP versions → VM/XA versions → VM/ESAz/VM
VP/CSS
> TSS/360
> TSO for MVT → for OS/VS2 → for MVS → ... → for z/OS
>> MULTICS and most other time-sharing platforms
  1. ^ Allen, Ruth; (U.S.), National Library of Medicine (1969). An Annotated Bibliography of Biomedical Computer Applications. 70: National Library of Medicine.{{cite book}}: CS1 maint: location (link)