May 22, 2019
If you've read much about the early spread of computer use, then you have probably heard the of "time-sharing systems". But what exactly is time-sharing, and what has it turned into in the modern day? To put it simply, time-sharing is one method that was used to allow multiple users to share a single computer. So, why was this idea a big deal?
At the dawn of the computing era all systems were mainframes: prohibitively expensive machines the size of entire rooms. To use one of these computers you would have to load up your program on punch cards and go down to the computer department at your institution or business. Once there your stack of punch cards would be submitted to another person who would schedule out on a calendar when your program could run and when you could expect it's outputs. Not really a streamlined or very interactive process. This did change somewhat as teletype terminals started to hit the scene, but this still just let one user on the system at a time.
Time-sharing had been talked about as early as 1954 by Jack Backus at the MIT Summer Session. Backus posited that "by time sharing, a big computer could be used as several small ones; there would need to be a reading station for each user". However, time-sharing wasn't actually implemented until MIT's CTSS hit the scene in 1962. From there, many more systems started cropping up, leading to Multics, Unix, and eventually embedding itself into more modern systems.
A system like time-sharing is impressive when you realize one thing: a computer can only even run one instruction at a time. Time-sharing just makes it look like a computer can do two or more things at once. It accomplishes this by being able to pause, store the current program running and it's state, and then restoring the next program state to run. If you work much with modern operating systems, then this should sound familiar. Essentially, time-sharing is the same as multitasking today. Instead of switching between states, modern multitasking systems do "context swaps".
One of the other changes as time-sharing evolved into a normal part of computer operation has to do with computers themselves. As multitasking became more and more important, processors started to support it as a feature in hardware. By the time you hit the 1990s, multitasking has become ubiquitous even in personal computers.