In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations, as well as running applications such as word processing programs and Web browsers.
Colloquially, the term is most often used to mean all the software which "comes with" a computer system before any applications are installed.
The operating system ensures that other applications are able to use memory, input and output devices and have access to the file system. If multiple applications are running, the operating system schedules these such that all processes have sufficient processor time where possible and do not interfere with each other.
At the beginning of 2004, there were essentially two major families of operating system in widespread use (in addition to many less popular OSes): the Microsoft Windows family; and the UNIX-Linux-Mac OS X family (Linux being indirectly related to UNIX, and Mac OS X being directly related to it).
UNIX is widely used in academic institutions and back-end implementations, while Windows is popular among home users as well as businesses for front-end use. On the client side, Windows is by far the most widely-used operating system with studies variously placing Microsoft's market share anywhere from 90-98%. Linux is widely used in web servers, and is making inroads into home and business environments. Mac OS X (which is derived from UNIX) and its predecessors (which were not) are popular with a relatively small but loyal group of home users and multimedia designers.
An operating system is conceptually broken into three sets of components: a user interface (called a shell), low-level system utilities, and a kernel--which is the heart of the operating system. As the name implies, the shell is an outer wrapper to the kernel, which in turn talks directly to the hardware.
Examples of operating systems
Classifications and terminology
Hardware <-> Kernel <-> Shell <-> Applications
In some operating systems the shell and the kernel are completely separate entities, allowing you to run varying combinations of shell and kernel (eg UNIX), in others their separation is only conceptual (eg Windows).
Kernel design ideologies include those of the monolithic kernel, microkernel, and exokernel. Traditional commercial systems such as UNIX and Windows, as well as the newer Linux, use a monolithic approach, while the trend in more modern systems is to use a microkernel (such as in QNX, BeOS, Windows NT etc). The microkernel approach is also very popular among research OSes. Many embedded systems use ad-hoc exokernels.
Related articles
General topics
Other topics
External links