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