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.