Time-sharing

From Computer History Wiki
Revision as of 15:47, 19 December 2016 by Jnc (talk | contribs) (A decent start)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Time-sharing refers to an operating system which allows the use of a single computer in real time by multiple users at the same time - as opposed to the ealier batch operating systems, in which users submitted 'jobs', which were run, after which the results (print-out, etc) were returned to them.

With the growth of the personal computer, most computers are no longer used in this way. However, the technical features needed to allow time-sharing (e.g. support for multiple processes running simultaneously) are such that current OS's are effectively time-sharing OS's. (In fact, some of the most common current ones, such as Unix and its descendants, such as Linux, started off as actual time-sharing OS's.)

Most time-sharing OS's relied upon hardware features to prevent one user (or process) from interfering with another. These features typically included the provision of two modes for the CPU, a 'user' mode in which users ran, and a 'kernel' or 'executive' mode, used by the OS - the former had restricted capabilities (e.g. it was usually not able to peform I/O operations). Memory protection (originally 'base and bounds registers) were also used, to prevent a rogue or erroneous used program from damaging other users, or the OS itself. In later machines, virtual memory included this functionality.