Multi-user software is computer software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving the CPU idle while it waits for I/O operations to complete. However, the term "multitasking" is more common in this context.
An example is a Unix or Unix-like system where multiple remote users have access (such as via a serial port or Secure Shell) to the Unix shell prompt at the same time. Another example uses multiple X Window sessions spread across multiple terminals powered by a single machine - this is an example of the use of thin client. Similar functions were also available in a variety of non-Unix-like operating systems, such as Multics, VM/CMS, OpenVMS, MP/M, Concurrent CP/M, Concurrent DOS, FlexOS, Multiuser DOS, REAL/32, OASIS, THEOS, PC-MOS, TSX-32 and VM/386.
Some multi-user operating systems such as Windows versions from the Windows NT family support simultaneous access by multiple users (for example, via Remote Desktop Connection) as well as the ability for a user to disconnect from a local session while leaving processes running (doing work on their behalf) while another user logs into and uses the system. The operating system provides isolation of each user's processes from other users, while enabling them to execute concurrently[dubious ].
The complementary term, single-user, is most commonly used when talking about an operating system being usable only by one person at a time, or in reference to a single-user software license agreement. Multi-user operating systems such as Unix sometimes have a single user mode or runlevel available for emergency maintenance. Examples of single-user operating systems include MS-DOS, OS/2 and Classic Mac OS.