An approach to interactive computing in which a single computer is used to provide apparently simultaneous interactive general-purpose computing to multiple users by sharing processor time.
Time-sharing is related to multitasking in that both systems involve a single computer processor executing multiple processes in an apparently simultaneous manner. Time-sharing, however, refers to a computer supporting multiple simultaneous users, while multitasking more broadly terms the simultaneous execution of multiple processes (regardless of the number of users.)
Because early mainframe computers were extremely expensive, it was not possible to allow a single user exclusive access to the machine for interactive use. But because computers in interactive use often spend much of their time idly waiting for user input, it was suggested 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.