In the 1950s, as mainframe computers became more powerful, it became obvious that their single-user limitation was wasting valuable resources. As computers often spend much of their time idly waiting for user input, it was determined that multiple users could share a machine, by using one user's idle time to service other users. Similarly, small slices of time spent waiting for disk, tape, or network input could be granted to other users.
These solutions alone were not sufficient to build a fully functional time-sharing system. In order to provide smooth service to multiple users, a time sharing system needed a way to deal with multiple processes that did not frequently pause for input/output. This required a hardware interrupt system capable of pausing a running process, and giving processor time to another process.
The first time-sharing operating systems were developed in the 1950s and 60s.
For a more information, see Computer multitasking.