An operating system performs basic system tasks such as controlling input and output devices, facilitating networking, managing file systems, managing applications, allocating memory and prioritizing system requests.
Modern operating systems provide a graphical user interface (GUI) shell where the user can interact with the OS, launch applications and manage their computer system. Most OSs still have a command line interpreter, and some (notably Linux) are often operated without a GUI to conserve resources. Networked computers can often be managed remotely, although there are security implications to this.
User interactions with an OS include installing and managing devices, installing and managing applications, saving and managing files and configuring the OS itself. Application interactions include allocating memory, accessing processing time, accessing files and negotiating network access.
The first computers did not have operating systems - they were manually configured to perform a single series of tasks. By the early 1960s, vendors were supplying extensive tools for streamlining the development, scheduling, and execution of jobs on these batch processing systems.
Through the 1960s, several major concepts drove the development of operating systems. The development of the IBM System/360 produced a wide family of mainframe computers, for which a single operating system was planned. The OS/360 system was successful, and modern IBM systems are still descended from this early OS. The OS/360 also introduced the hard disk for permanent storage, and seamless time-sharing of system resources between multiple concurrent users.
The Multics timesharing system was the most famous of a number of new operating systems developed to take advantage of the time-sharing concept; and was an inspiration to a number of operating systems developed in the 1970s, notably Unix by Dennis Richie and Ken Thompson.
The first microcomputers did not have the capacity (or need) for the elaborate operating systems that had been developed for mainframes and minis. Minimal operating systems were developed to manage these systems, often loaded from ROM and known as Monitors. One notable early disk-based operating system was CP/M, which was supported on many early microcomputers. CP/M was the main inspiration for Microsoft's MS-DOS, which became wildly popular as the operating system chosen for the IBM PC. The major alternative throughout the 1980s in the microcomputer market was Mac OS, still exclusive to the Apple Macintosh computer.
By the 1990s, the microcomputer had evolved to the point where robust and complex operating systems were increasingly desirable. Microsoft's response to this change was the development of Windows NT, which served as the basis for Microsoft's desktop operating system line starting in 2001. Apple rebuilt their operating system on top of a Unix core as Mac OS X, also released in 2001.
Public-developed reimplementations of Unix, assembled with the tools from the GNU Project, also became popular; versions based on the Linux kernel are by far the most popular, with the BSD-derived UNIXes holding a small portion of the server market.
The growing complexity of embedded devices has led to increasing use of embedded operating systems. In some cases, the "operating system" software is directly linked to the application to produce a monolithic special-purpose program. In the simplest embedded systems, there is no distinction between the OS and the application. Embedded systems that have certain time requirements are known as Real-time operating systems.
The choice of OS may be dependant on the hardware architecture, specifically the CPU, with only Linux and BSD running on almost any CPU. Windows NT 3.1, which is no longer supported, was ported to the DEC Alpha and MIPS Magnum. Mainframe computers and embedded systems use a variety of different operating systems, many with no direct connection to Windows or Unix. QNX and VxWorks are two common embedded operating systems, the latter being used in network infrastructure hardware equipment. A "Datacenter" variant of Windows Server 2003 is also available for some mainframe systems.