Operating system

From Wikipedia, the free encyclopedia.

Jump to: navigation, search

In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs and web browsers.

Network operating system is another type of operating system.

Contents

Introduction

Early computers lacked operating systems (see History of operating systems). A human operator would manually load and run programs. When programs were developed to load and run other programs, it was natural to draw their name from the human job they replaced.

Most current usage of the term "operating system" today, by both popular and professional sources, refers to all the software that is required in order for the user to manage the system and to run third-party application software for that system. That is, the common understanding includes not only the low-level "kernel" that interacts directly with the hardware, but also libraries required by applications as well as basic programs to manipulate files and configure the system.

The exact delineation between the operating system and application software is not precise, however, and is occasionally subject to controversy. For example, one of the key questions in the United States v. Microsoft antitrust trial was whether Microsoft's Internet Explorer web browser was part of its Windows operating system or if it was a separable piece of application software. As another example, the GNU/Linux naming controversy is, in part, due to disagreement about the relationship between the Linux kernel and the Linux operating system.

The lowest level of any operating system is its kernel, 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 access to other hardware devices. Like the term "operating system" itself, the question of what exactly should form the "kernel" is subject to some controversy—with various camps advocating "microkernels", "monolithic kernels", and so on—with debates over whether things like file systems should be included in the kernel.

System Calls

System calls are operations/services that are requested by applications from the operating system. As noted on the System Call page, "System calls often use a special machine code instruction which causes the processor to change mode (e.g. to "supervisor mode" or "protected mode")."

Common core services

As operating systems evolve, ever more services are expected to be common core. Since the 1990s, OS's have often been 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 APIs (Application Programming Interfaces), similar to how humans interact with programs through user interfaces. This is especially true between application programs and the OS. The OS's common core services are accessed by application programs through the OS's APIs. Thus an OS enables the communication between hardware and software. CPU scheduling is also a main function of the operating system.

See also: POSIX

Today's operating systems

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

Unix-like systems

The Unix-like family is a 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. They 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. They have made inroads on the desktop market as well, particularly with "user-friendly" Linux distributions such as Ubuntu Linux.

Some proprietary Unix variants like HP's HP-UX and IBM's AIX are designed to run only on that vendor's proprietary hardware. Others, such as Solaris, can run on both proprietary hardware and on commodity x86 PCs. Apple's Mac OS X, a BSD variant derived from NeXTSTEP and FreeBSD, has replaced Apple's earlier (non-Unix) Mac OS in a small but dedicated market, in the process becoming the most popular proprietary Unix system.

Over the past several years, free Unix systems have supplanted proprietary ones in many markets. For instance, scientific modeling and computer animation were once the province of SGI's IRIX. Today, they are dominated by Linux-based clusters

Microsoft Windows

The Microsoft Windows family of operating systems originated as a graphical layer on top of the older MS-DOS environment for the IBM PC. Modern versions are based on the newer Windows NT core that first took shape in OS/2. Windows runs on 32- and 64-bit Intel and AMD computers, although earlier versions also ran on the DEC Alpha, MIPS and PowerPC architectures (and there was work in progress to make it work also on the SPARC architecture).

Today, Windows is a popular desktop operating system, enjoying a near-monopoly of around 90% 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.

Other operating systems

Mainframe operating systems, such as IBM's z/OS, and embedded operating systems such as QNX, eCos, and PalmOS, are usually unrelated to Unix and Windows, except Windows CE, Windows NT Embedded 4.0 and Windows XP Embedded which are related to Windows and several *BSDs and Linux distributions tailored for the requirements of an embedded system.

Older operating systems which are still used in niche markets include the Windows-like OS/2 from IBM; VMS from Hewlett-Packard (formerly DEC); Mac OS, the non-Unix precursor to Apple's Mac OS X; RISC OS, which is specifically designed to run on ARM processor architectures; and AmigaOS, the first graphical user interface (GUI) based operating system with advanced multimedia capabilities available to the general public.

Research and development of new kinds of operating systems is an active subfield of computer science. Microsoft Singularity is a research project to develop an operating system with better memory protection.

Examples of operating systems

For more examples, see the list 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 GUI 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 
                          |          |
                          +----------+
               1               2                 3

In some operating systems the shell and the kernel are completely separate entities, allowing you to run varying combinations of shell and kernel (e.g. UNIX), in others their separation is only conceptual.

Kernel design ideologies include those of the monolithic kernel, microkernel, and exokernel. Many of the major commercial systems such as UNIX, Windows (including Windows NT), and Linux use a monolithic approach, while some newer systems use a microkernel (such as in Apple's Mac OS X, AmigaOS, QNX, and BeOS). The microkernel approach is also very popular among research operating systems. Both approaches have produced successful systems and have their advantages. Many embedded systems use ad hoc exokernels.

See also

General topics

Other topics

External links

Look up Operating system on Wiktionary, the free dictionary
Personal tools