Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Sponsor by The Tattoo Collection
Operating system
Main Page | See live article | Alphabetical index

Operating system

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 application software such as word processing programs and Web browsers.

In general, the operating system is the first layer of software loaded into computer memory when it starts up. As the first software layer, all other software that gets loaded after it, depends on this software to provide them with various common core services. These common core services include, but are not limited to: disk access, memory management, task scheduling, and user interfacing. Since these basic common services are assumed to be provided by the OS, there is no need to re-implement those same functions over and over again in every other piece of software that you may use. The portion of code that performs these core services is called the "kernel" of the operating system. Operating system kernels evolved from libraries that provided the core services into unending programs that control system resources because of the early needs of accounting for computer usage and then protecting those records.

Table of contents
1 Introduction
2 Common core services
3 Today's operating systems
4 Classifications and terminology
5 Related articles
6 External links


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.

Common core services

As operating systems evolve, ever more services are expected to be common core. These days, an OS may be required to provide network and Internet connectivity. They may be required to protect the computer's other software from damage by malicious programs, such as viruses. The list of common core services is ever expanding.

Programs communicate with each other through Application Programming Interfaces, or API's. This is especially true between application programs and the OS. Just like humans communicate with computers through the User Interfaces (UI's), programs communicate with each other through the API's. The OS's common core services are accessed by application programs through the OS's API's.

Today's operating systems

As of the beginning of 2004, the major operating systems in widespread use on general-purpose computers (including personal computers) have consolidated into two families: the Microsoft Windows family and the Unix-like family. Mainframe computers and embedded systems use a variety of different operating systems, many with no direct connection to Windows or Unix.

The Microsoft Windows family of operating systems originated as a graphical layer on top of the older MS-DOS environment for the IBM PC. Windows runs on 32- and 64-bit Intel and AMD computers, although earlier versions also ran on the DEC Alpha and PowerPC architectures. Today, Windows is the most popular desktop operating system, enjoying a near-monopoly of around 95% of the worldwide desktop market share. It is also widely used on low-end and mid-range servers, supporting applications such as Web servers and database servers.

The Unix-like family is a more diverse group of operating systems, with several major sub-categories including System V, BSD, and Linux. The name "Unix" is a trademark of The Open Group which licenses it for use to any operating system that has been shown to conform to the definitions that they have cooperatively developed. The name is commonly used to refer to the large set of operating systems which resemble the original Unix. Unix systems run on a wide variety of machine architectures. Unix systems are used heavily as server systems in business, as well as workstations in academic and engineering environments. Free software Unix variants, such as Linux and BSD are increasingly popular, and have made inroads on the desktop market as well. Apple's Mac OS X, a BSD variant, has replaced Apple's earlier (non-Unix) Mac OS in a small but dedicated market, becoming one of the most popular Unix systems in the process.

Mainframe operating systems, such as IBM's z/OS, and embedded operating systems such as eCos, are usually unrelated to Unix and Windows.

Older operating systems which are still used in niche markets include the Windows-like OS/2 from IBM; VMS from Hewlett-Packard (formerly DEC); and Mac OS, the non-Unix precursor to Apple's Mac OS X.

Research and development of new kinds of operating systems is an active subfield of computer science.

Examples of operating systems

Classifications and terminology

An operating system is conceptually broken into three sets of components: a user interface (which may consist of a
graphical user interface and/or a command line interpreter or "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.

           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.

Kernel design ideologies include those of the monolithic kernel, microkernel, and exokernel. Traditional commercial systems such as UNIX and Windows (including Windows NT), 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, Mac OS X 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