All Topics  
Operating system

 

   Email Print
   Bookmark   Link






 

Operating system



 
 
An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer. The operating system acts as a host for applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware
Computer hardware

A personal computer is made up of computer hardware, multiple physical components onto which can be loaded into a multitude of software that perform the functions of the computer....
.






Discussion
Ask a question about 'Operating system'
Start a new discussion about 'Operating system'
Answer questions from other users
Full Discussion Forum



Encyclopedia


An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer. The operating system acts as a host for applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware
Computer hardware

A personal computer is made up of computer hardware, multiple physical components onto which can be loaded into a multitude of software that perform the functions of the computer....
. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers, including handheld computers, desktop computers, supercomputers, and even video game consoles, use an operating system of some type. Some of the oldest models may however use an embedded operating system
Embedded operating system

An embedded operating system is an operating system for embedded system. These operating systems are designed to be very compact and efficient, forsaking many functions that non-embedded computer operating systems provide, and which may not be used by the specialized applications they run....
, that may be contained on a compact disk or other data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
.

Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind of software user interface (UI) like typing commands by using command line interface
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 (CLI) or using a graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 (GUI, commonly pronounced “gooey”). For hand-held and desktop computers, the user interface is generally considered part of the operating system. On large multi-user systems like Unix and Unix-like systems, the user interface is generally implemented as an application program that runs outside the operating system. (Whether the user interface should be included as part of the operating system is a point of contention.)

Common contemporary operating systems include GNU
GNU

GNU is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU's Not Unix; it was chosen because its design is Unix-like, but differs from Unix by being free software and containing no Unix code....
, Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, BSD and Solaris. Microsoft Windows has a significant majority of market share in the desktop and notebook computer markets, while servers generally run on Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 or Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 systems. Embedded device markets are split amongst several operating systems.

Program execution

The operating system acts as an interface between an application and the hardware. The user interacts with the hardware from "the other side". The operating system is a set of services which simplifies development of applications. Executing a program involves the creation of a process by the operating system. The kernel creates a process by assigning memory and other resources, establishing a priority for the process (in multi-tasking systems), loading program code into memory, and executing the program. The program then interacts with the user and/or other devices performing its intended function.

Interrupts

Interrupts are central to operating systems as they provide an efficient way for the operating system to interact and react to its environment. The alternative is to have the operating system "watch" the various sources of input for events (polling) that require action -- not a good use of CPU resources. Interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
-based programming is directly supported by most CPUs. Interrupts provide a computer with a way of automatically running specific code in response to events. Even very basic computers support hardware interrupts, and allow the programmer to specify code which may be run when that event takes place.

When an interrupt is received the computer's hardware automatically suspends whatever program is currently running, saves its status, and runs computer code previously associated with the interrupt. This is analogous to placing a bookmark in a book when someone is interrupted by a phone call and then taking the call. In modern operating systems interrupts are handled by the operating system's kernel. Interrupts may come from either the computer's hardware or from the running program.

When a hardware device triggers an interrupt the operating system's kernel decides how to deal with this event, generally by running some processing code. How much code gets run depends on the priority of the interrupt (for example: a person usually responds to a smoke detector alarm before answering the phone). The processing of hardware interrupts is a task that is usually delegated to software called device drivers, which may be either part of the operating system's kernel, part of another program, or both. Device drivers may then relay information to a running program by various means.

A program may also trigger an interrupt to the operating system. If a program wishes to access hardware for example, it may interrupt the operating system's kernel, which causes control to be passed back to the kernel. The kernel will then process the request. If a program wishes additional resources (or wishes to shed resources) such as memory, it will trigger an interrupt to get the kernel's attention.

Protected mode and supervisor mode


Modern CPUs support something called dual mode operation. CPUs with this capability use two modes: protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
 and supervisor mode, which allow certain CPU functions to be controlled and affected only by the operating system kernel. Here, protected mode does not refer specifically to the 80286 (Intel's x86 16-bit microprocessor) CPU feature, although its protected mode is very similar to it. CPUs might have other modes similar to 80286 protected mode as well, such as the virtual 8086 mode
Virtual 8086 mode

In the 80386 microprocessor and later, Virtual 8086 mode, also called virtual real mode or VM86, allows the execution of real mode applications that are protected mode#Real_mode_application_compatibility directly in protected mode....
 of the 80386 (Intel's x86 32-bit microprocessor or i386).

However, the term is used here more generally in operating system theory to refer to all modes which limit the capabilities of programs running in that mode, providing things like virtual memory addressing and limiting access to hardware in a manner determined by a program running in supervisor mode. Similar modes have existed in supercomputers, minicomputers, and mainframes as they are essential to fully supporting UNIX-like multi-user operating systems.

When a computer first starts up, it is automatically running in supervisor mode. The first few programs to run on the computer, being the BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
, bootloader and the operating system have unlimited access to hardware - and this is required because, by definition, initializing a protected environment can only be done outside of one. However, when the operating system passes control to another program, it can place the CPU into protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
.

In protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
, programs may have access to a more limited set of the CPU's instructions. A user program may leave protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
 only by triggering an interrupt, causing control to be passed back to the kernel. In this way the operating system can maintain exclusive control over things like access to hardware and memory.

The term "protected mode resource" generally refers to one or more CPU registers, which contain information that the running program isn't allowed to alter. Attempts to alter these resources generally causes a switch to supervisor mode, where the operating system can deal with the illegal operation the program was attempting (for example, by killing the program).

Memory management


Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already used by another program. Since programs time share, each program must have independent access to memory.

Cooperative memory management, used by many early operating systems assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen anymore, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs, or viruses may purposefully alter another program's memory or may affect the operation of the operating system itself. With cooperative memory management it takes only one misbehaved program to crash the system.

Memory protection
Memory protection

Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
 enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging
Paging

In computer operating systems that have their main memory divided into page , paging is a transfer of pages between main memory and an auxiliary store, such as hard disk drive....
. All methods require some level of hardware support (such as the 80286 MMU) which doesn't exist in all computers.

In both segmentation and paging, certain protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
 registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses will trigger an interrupt which will cause the CPU to re-enter supervisor mode, placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the kernel will generally resort to terminating the offending program, and will report the error.

Windows 3.1-Me had some level of memory protection, but programs could easily circumvent the need to use it. Under Windows 9x all MS-DOS applications ran in supervisor mode, giving them almost unlimited control over the computer. A general protection fault
General protection fault

A General Protection Fault in the Intel x86 and AMD x86-64 CPU Architectures, and other unrelated architectures, is a fault which can encompass several cases where protection mechanisms within the processor architecture are violated by any of the programs that are running, whether it be the kernel or user program....
 would be produced indicating a segmentation violation had occurred, however the system would often crash anyway.

In most Linux systems, part of the hard disk is reserved for virtual memory when the Operating system is being installed on the system. This part is known as swap space. Windows systems use a swap file instead of a partition
Disk partitioning

Disk partitioning is the dividing of the data storage space of a hard disk drive into separate areas referred to as partitions. A partition editor program can be used to create, delete or modify these partitions....
.

Virtual memory


The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks.

If a program tries to access memory that isn't in its current range of accessible memory, but nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault
Page fault

In computer storage technology, a page is a fixed-length block of memory that is used as a unit of transfer between physical memory and external storage like a hard disk, and a page fault is an interrupt to the software raised by the hardware, when a program accesses a page that is mapped in address space, but not loaded in physical memory....
.

When the kernel detects a page fault it will generally adjust the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application's memory is stored, or even whether or not it has actually been allocated yet.

In modern operating systems, application memory which is accessed less frequently can be temporarily stored on disk or other media to make that space available for use by other programs. This is called swapping
Paging

In computer operating systems that have their main memory divided into page , paging is a transfer of pages between main memory and an auxiliary store, such as hard disk drive....
, as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand.

Multitasking


Multitasking
Computer multitasking

In computing, multitasking is a method by which multiple tasks, also known as Computer process, share common processing resources such as a Central processing unit....
 refers to the running of multiple independent computer programs on the same computer, giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time sharing, which means that each program uses a share of the computer's time to execute.

An operating system kernel contains a piece of software called a scheduler
Scheduling (computing)

Scheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. In modern operating systems, there are typically many more processes running than there are CPUs available to run them....
 which determines how much time each program will spend executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 and memory. At a later time control is returned to the kernel through some mechanism, so that another program may be allowed to use the CPU. This so-called passing of control between the kernel and applications is called a context switch
Context switch

A context switch is the computing process of storing and restoring the State of a Central processing unit such that multiple Process es can share a single CPU resource....
.

An early model which governed the allocation of time to programs was called cooperative multitasking. In this model, when control is passed to a program by the kernel, it may execute for as long as it wants before explicitly returning control to the kernel. This means that a malicious or malfunctioning program may not only prevent any other programs from using the CPU, but it can hang the entire system if it enters an infinite loop
Infinite loop

An infinite loop is a sequence of instructions in a computer program which control flow#Loops endlessly, either due to the loop having no terminating condition or having one that can never be met....
.

The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the CPU. This implies that all programs must be limited in how much time they are allowed to spend on the CPU without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
 timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above sections on Interrupts and Dual Mode Operation.)

On many single user operating systems cooperative multitasking is perfectly adequate, as home computers generally run a small number of well tested programs. Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 was the first version of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 which enforced preemptive multitasking, but it didn't reach the home user market until Windows XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
, (since Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 was targeted at professionals.)

Disk access and file systems


Access to files stored on disks is a central feature of all operating systems. Computers store data on disks using files, which are structured in specific ways in order to allow for faster access, higher reliability, and to make better use out of the drive's available space. The specific way in which files are stored on a disk is called a file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
, and enables files to have names and attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree.

Early operating systems generally supported a single type of disk drive and only one kind of file system. Early file systems were limited in their capacity, speed, and in the kinds of file names and directory structures they could use. These limitations often reflected limitations in the operating systems they were designed for, making it very difficult for an operating system to support more than one file system.

While many simpler operating systems support a limited range of options for accessing storage systems, operating systems like UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 support a technology known as a virtual file system
Virtual file system

A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way....
 or VFS. An operating system like UNIX supports a wide array of storage devices, regardless of their design or file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
s to be accessed through a common application programming interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (API). This makes it unnecessary for programs to have any knowledge about the device they are accessing. A VFS allows the operating system to provide programs with access to an unlimited number of devices with an infinite variety of file systems installed on them through the use of specific device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s and file system drivers.

A connected storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
 such as a hard drive is accessed through a device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
. The device driver understands the specific language of the drive and is able to translate that language into a standard language used by the operating system to access all disk drives. On UNIX this is the language of block devices.

When the kernel has an appropriate device driver in place, it can then access the contents of the disk drive in raw format, which may contain one or more file systems. A file system driver is used to translate the commands used to access each specific file system into a standard set of commands that the operating system can use to talk to all file systems. Programs can then deal with these file systems on the basis of filenames, and directories/folders, contained within a hierarchical structure. They can create, delete, open, and close files, as well as gather various information about them, including access permissions, size, free space, and creation and modification dates.

Various differences between file systems make supporting all file systems difficult. Allowed characters in file names, case sensitivity
Case sensitivity

self-ref|For a discussion of case-sensitivity in Wikipedia page titles, see...
, and the presence of various kinds of file attribute
File attribute

A file attribute is metadata that describes or is associated with a computer file. For example, an operating system often keeps track of calendar date a file was created and last modified, as well as the file's size and file extension ....
s makes the implementation of a single interface for every file system a daunting task. Operating systems tend to recommend the use of (and so support natively) file systems specifically designed for them; for example, NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
 in Windows and ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
 and ReiserFS
ReiserFS

ReiserFS is a general-purpose, journaling file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux....
 in Linux. However, in practice, third party drives are usually available to give support for the most widely used filesystems in most general-purpose operating systems (for example, NTFS is available in Linux through NTFS-3g
NTFS-3G

NTFS-3G is an open source cross-platform implementation of the Microsoft Windows NTFS file system with read-write support. NTFS-3G uses the Filesystem in Userspace file system interface, so it can run unmodified on many different operating systems....
, and ext2/3 and ReiserFS are available in Windows through and ).

Device drivers


A device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
 is a specific type of computer software developed to allow interaction with hardware devices. Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. It is a specialized hardware-dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.

The key design goal of device drivers is abstraction
Abstraction

Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose....
. Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, OSes essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these OS mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver will ensure that the device appears to operate as usual from the operating systems' point of view for any person.

Networking


Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
 for sharing resources such as computing
Remote procedure call

Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer's operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer's graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH
SSH

SSH may refer to:* Secure Shell, a common network protocol for remote administration of Unix computers* Sharm el-Sheikh International Airport, in IATA airport code...
 which allows networked users direct access to a computer's command line interface.

Client/server networking involves a program on a computer somewhere which connects via a network to another computer, called a server. Servers, usually running UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 or Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server's network address
Network address

Network address may refer to:*base address*classful address*IP address*IPX address*logical address*network layer address,*X.25/X.21 address...
. Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel.

Many operating systems support one or more vendor-specific or open networking protocols as well, for example, SNA
Systems Network Architecture

Systems Network Architecture is IBM's proprietary computer network architecture created in 1974. It is a complete protocol stack for interconnecting computers and their resources....
 on IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 systems, DECnet
DECnet

DECnet is a suite of network protocols created by Digital Equipment Corporation, originally released in 1975 in order to connect two PDP-11 minicomputers....
 on systems from Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
, and Microsoft-specific protocols (SMB
Server Message Block

In computer networking, Server Message Block operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
) on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access. Protocols like ESound, or esd can be easily extended over the network to provide sound from local applications, on a remote system's sound hardware.

Security


A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.

The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between "privileged" and "non-privileged", systems commonly have a form of requester identity, such as a user name. To establish identity there may be a process of authentication. Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all (such as reading files over a network share).

In addition to the allow/disallow model of security, a system with a high level of security will also offer auditing options. These would allow tracking of requests for access to resources (such as, "who has been reading this file?"). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.

External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. External requests are often passed through device drivers to the operating system's kernel, where they can be passed onto applications, or carried out directly. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense
United States Department of Defense

The United States Department of Defense is the federal department charged with coordinating and supervising all agencies and functions of the government relating directly to national security and the Military of the United States....
 (DoD) created the Trusted Computer System Evaluation Criteria
Trusted Computer System Evaluation Criteria

Trusted Computer System Evaluation Criteria is a United States Government of the United States United States Department of Defense standard that sets basic requirements for assessing the effectiveness of computer security controls built into a computer system....
 (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select computer systems being considered for the processing, storage and retrieval of sensitive or classified information
Classified information

Classified information is sensitive information to which access is restricted by law or regulation to particular classes of persons. A formal security clearance is required to handle classified documents or access classified data....
.

Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocol
File Transfer Protocol

File Transfer Protocol is a network protocol used to transfer data from one computer to another through a network such as the Internet.FTP is a file transfer protocol for exchanging and manipulating files over a Transmission Control Protocol computer network....
s (FTP), most of which can have compromised security. At the front line of security are hardware devices known as firewalls
Firewall (networking)

A firewall is an integrated collection of security measures designed to prevent unauthorized electronic access to a networked computer system....
 or intrusion detection/prevention systems. At the operating system level, there are a number of software firewalls available, as well as intrusion detection/prevention systems. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.

An alternative strategy, and the only sandbox
Sandbox (computer security)

In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
 strategy available in systems that do not meet the Popek and Goldberg virtualization requirements
Popek and Goldberg virtualization requirements

The Popek and Goldberg virtualization requirements are a set of sufficient conditions for a computer architecture to efficiently support system virtualization....
, is the operating system not running user programs as native code, but instead either emulates
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
 a processor or provides a host for a p-code
P-Code machine

In computer programming, a p-code machine or pseudo-code machine is a virtual machine designed to execute p-code . This term is applied both generically to all such machines , and to specific implementations, the most famous being the p-Machine of UCSD Pascal....
 based system such as Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read. Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing.

Example: Microsoft Windows

While the Windows 9x
Windows 9x

Windows 9x is the family of Microsoft Windows operating systems that comprises the hybrid 16/32-bit Windows versions: Windows 95, Windows 98, which were produced in the 1990s, and often also Windows Me, which was produced in 2000....
 series offered the option of having profiles for multiple users, they had no concept of access privileges
Principle of least privilege

In information security, computer science, and other fields, the principle of least privilege, also known as the principle of minimal privilege or just least privilege, requires that in a particular abstraction layer of a computing environment, every module must be able to access only such information and Resource that are nec...
, and did not allow concurrent access; and so were not true multi-user
Multi-user

Multi-user is a term that defines an operating system or application software that allows concurrent access by multiple User s of a computer. Time-sharing systems are multi-user systems....
 operating systems. In addition, they implemented only partial memory protection
Memory protection

Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
. They were accordingly widely criticised for lack of security.

The Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 series of operating systems, by contrast, are true multi-user, and implement absolute memory protection. However, a lot of the advantages of being a true multi-user operating system were nullified by the fact that, prior to Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
, the first user account created during the setup process was an administrator
Superuser

On many computer operating systems, the superuser, or root, is a special user account used for system administration.Many older operating systems on computers intended for personal and home use, including MS-DOS and Windows 9x, do not have the concept of multiple accounts and thus have no separate administrative account; anyone using...
 account, which was also the default for new accounts. Though Windows XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
 did have limited accounts, the majority of home users did not change to an account type with fewer rights – partially due to the number of programs which unnecessarily required administrator rights – and so most home users ran as administrator all the time.

Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
 changes this by introducing a privilege elevation system called User Account Control
User Account Control

User Account Control is a technology and security infrastructure introduced with Microsoft's Windows Vista operating system. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an System administrator authorizes an increase in privilege level....
. When logging in as a standard user, a logon session is created and a token containing only the most basic privileges is assigned. In this way, the new logon session is incapable of making changes that would affect the entire system. When logging in as a user in the Administrators group, two separate tokens are assigned. The first token contains all privileges typically awarded to an administrator, and the second is a restricted token similar to what a standard user would receive. User applications, including the Windows Shell
Windows Shell

The Microsoft Windows Shell is the main GUI in Windows. The Windows shell includes well-known Windows components such as the Taskbar and the Start menu....
, are then started with the restricted token, resulting in a reduced privilege environment even under an Administrator account. When an application requests higher privileges or "Run as administrator" is clicked, UAC will prompt for confirmation and, if consent is given (including administrator credentials if the account requesting the elevation is not a member of the administrators group), start the process using the unrestricted token.

Example: Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
/Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....

Linux and UNIX both have two tier security, which limits any system-wide changes to the root user, a special user account on all UNIX-like systems. While the root user has virtually unlimited permission to affect system changes, programs running as a regular user are limited in

File system support in modern operating systems


Support for file systems is highly varied among modern operating systems although there are several common file systems which almost all operating systems include support and drivers for.

Solaris

The SUN Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 Solaris Operating System
Solaris Operating System

Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
 in earlier releases defaulted to (non-journaled or non-logging) UFS
UFS

UFS may refer to:* Unix File System, a file system used by many Unix and Unix-like operating systems* United Feature Syndicate, commonly known as United Media...
 for bootable and supplementary file systems. Solaris (as most Operating Systems based upon Open Standards and/or Open Source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
) defaulted to, supported, and extended UFS
UFS

UFS may refer to:* Unix File System, a file system used by many Unix and Unix-like operating systems* United Feature Syndicate, commonly known as United Media...
.

Support for other file systems and significant enhancements were added over time, including Veritas Software
VERITAS Software

Veritas Software Corp. was an international software company that was founded in 1983 as Tolerant Systems, renamed Veritas Software Corp. in 1989, and merged with Symantec in 2005....
 Corp. (Journaling) VxFS, SUN Microsystems (Clustering) QFS
QFS

QFS is an open source filesystem from Sun Microsystems. It is tightly integrated with SAM, the Storage and Archive Manager, and hence is often referred to as SAM-QFS....
, SUN Microsystems (Journaling) UFS
UFS

UFS may refer to:* Unix File System, a file system used by many Unix and Unix-like operating systems* United Feature Syndicate, commonly known as United Media...
, and SUN Microsystems (open source, poolable, 128 bit compressible, and error-correcting) ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
.

Kernel extensions were added to Solaris to allow for bootable Veritas VxFS operation. Logging or Journaling
Journaling

Journaling may refer to:* Keeping a diary* Journaling file systems, a technique in computer file systems to prevent corruption* Autobiographical therapeutic writing...
 was added to UFS
UFS

UFS may refer to:* Unix File System, a file system used by many Unix and Unix-like operating systems* United Feature Syndicate, commonly known as United Media...
 in SUN's Solaris 7. Releases of Solaris 10, Solaris Express, OpenSolaris
OpenSolaris

File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
, and other Open Source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 variants of Solaris Operating System
Solaris Operating System

Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
 later supported bootable ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
.

Logical Volume Management
Logical volume management

In computer storage, logical volume management or LVM is a method of allocating space on mass storage devices that is more flexible than conventional partition schemes....
 allows for spanning a file system across multiple devices for the purpose of adding redundancy, capacity, and/or throughput. Legacy environments in Solaris
Solaris

Solaris may refer to:* Solaris , a science fiction novel by Stanislaw Lem* Solaris from Sun MicrosystemsSolaris may also refer to:...
 may use Solaris Volume Manager
Solaris Volume Manager

Solaris Volume Manager is a software package for creating, modifying and controlling Redundant array of independent disks-0 volumes, RAID-1 volumes, RAID 0+1 volumes, RAID 1+0 volumes, RAID-5 volumes, and soft partitions....
 (formerly known as Solstice DiskSuite.) Multiple operating systems (including Solaris) may use Veritas Volume Manager
Veritas Volume Manager

The Veritas Volume Manager, VVM or VxVM is a proprietary software logical volume management from Veritas Software . It is available for Microsoft Windows, AIX Operating System, Solaris , Linux, and HP-UX....
. Modern Solaris based Operating Systems eclipse the need for Volume Management through leveraging virtual storage pools in ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
.

Linux


Many Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 distributions support some or all of ext2
Ext2

The ext2 or second extended filesystem is a file system for the Linux kernel . It was initially designed by R?my Card as a replacement for the extended file system ....
, ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
, ext4
Ext4

The ext4 or fourth extended filesystem is a journaling file system developed as the successor to ext3. It was born as a series of backwards-compatible extensions to add to ext3 64-bit storage limits and other performance improvements....
, ReiserFS
ReiserFS

ReiserFS is a general-purpose, journaling file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux....
, Reiser4
Reiser4

Reiser4 is a computer file system, successor to the ReiserFS file system, developed from scratch by Namesys and sponsored by Defense Advanced Research Projects Agency as well as Linspire....
, JFS , XFS
XFS

XFS is a high-performance journaling file system created by Silicon Graphics, originally for their IRIX operating system and later ported to Linux kernel....
 , GFS
Global File System

In computing, the Global File System is a shared disk file system for Linux computer clusters.GFS and GFS2 differ from distributed file systems because it allows all nodes to have direct concurrent access to the same shared block storage....
, GFS2
Global File System

In computing, the Global File System is a shared disk file system for Linux computer clusters.GFS and GFS2 differ from distributed file systems because it allows all nodes to have direct concurrent access to the same shared block storage....
, OCFS
OCFS

OCFS stands for Oracle Cluster File System. It is a shared disk file system developed by Oracle Corporation and released under the GNU General Public License....
, OCFS2, and NILFS
NILFS

NILFS is a log-structured file system implementation for Linux. It is being developed by the Nippon Telephone and Telegraph CyberSpace Laboratories and released under the terms of the GNU General Public License ....
. The ext file systems, namely ext2, ext3 and ext4 are based on the original Linux file system. Others have been developed by companies to meet their specific needs, hobbyists, or adapted from UNIX, Microsoft Windows, and other operating systems. Linux has full support for XFS
XFS

XFS is a high-performance journaling file system created by Silicon Graphics, originally for their IRIX operating system and later ported to Linux kernel....
 and JFS, along with FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 (the MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 file system), and HFS
Hierarchical File System

Hierarchical File System , is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy disk and hard disks, it can also be found on read-only media such as CD-ROMs....
 which is the primary file system for the Macintosh
Macintosh

File:Imac alu.pngMacintosh, commonly shortened to Mac, is a brand name which covers several lines of personal computers designed, developed, and marketed by Apple Inc....
.

In recent years support for Microsoft Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
's NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
 file system has appeared in Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, and is now comparable to the support available for other native UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 file systems. ISO 9660
ISO 9660

ISO 9660, also called CDFS by some manufacturers, a standard published by the International Organization for Standardization , defines a file system for CD-ROM media....
 and UDF
Universal Disk Format

The Universal Disk Format is a format specification of a file system for storing files on Optical disc. It is an implementation of the ISO/IEC 13346 standard ....
 are supported which are standard file systems used on CDs, DVDs, and BluRay discs. It is possible to install Linux on the majority of these file systems. Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored on, whether it is a hard drive, CD or DVD, or even contained within a file located on another file system.

Microsoft Windows


Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 currently supports NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
 and FAT
File Allocation Table

File Allocation Table or FAT is a computer file system architecture now widely used on most computer systems and most memory cards, such as those used with digital cameras....
 file systems, along with network file system
Network File System

Network File System is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a computer network as easily as if the network devices were attached to its local disks....
s shared from other computers, and the ISO 9660
ISO 9660

ISO 9660, also called CDFS by some manufacturers, a standard published by the International Organization for Standardization , defines a file system for CD-ROM media....
 and UDF
UDF

UDF stands for:in aviation:* UHF Direction Finder, a kind of radio direction finding * Unducted fan, a type of jet enginein informatics:...
 filesystems used for CDs, DVD
DVD

DVD, also known as "Digital Versatile Disc" or "Digital Video Disc,"is a popular optical disc data storage device media format. Its main uses are video and data storage....
s, and other optical discs such as BluRay. Under Windows each file system is usually limited in application to certain media, for example CDs must use ISO 9660 or UDF, and as of Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
, NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
 is the only file system which the operating system can be installed on. Windows Embedded CE 6.0, Windows Vista Service Pack 1, and Windows Server 2008 support ExFAT
ExFAT

exFAT is a proprietary format file system suited especially for flash drives, introduced by Microsoft for embedded devices in Windows Embedded CE 6.0 and in their desktop operating system, starting with Windows Vista#Service Pack 1....
, a file system more suitable for flash drives.

Mac OS X


Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 supports HFS+
HFS Plus

HFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System as the primary file system used in Apple Macintosh computers ....
 with journaling as its primary file system. It is derived from the Hierarchical File System
Hierarchical File System

Hierarchical File System , is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy disk and hard disks, it can also be found on read-only media such as CD-ROMs....
 of the earlier Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
. Mac OS X has facilities to read and write FAT, NTFS (only read, although an open-source cross plataform implementation known as NTFS 3G provides read-write support to Microsoft Windows NTFS file system for Mac OS X users.), UDF, and other file systems, but cannot be installed to them. Due to its UNIX heritage Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 now supports virtually all the file systems supported by the UNIX VFS. Recently Apple Inc. started work on porting Sun Microsystem's
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
 filesystem to Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 and preliminary support is already available in Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 10.5.

Special-purpose file systems


FAT file systems are commonly found on floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
s, flash memory
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
 cards, digital camera
Digital camera

A digital camera is a camera that takes video or still photographs, or both, digitally by recording digital image via an electronics .Many compact digital still cameras can record sound and moving video as well as still photographs....
s, and many other portable devices because of their relative simplicity. Performance of FAT compares poorly to most other file systems as it uses overly simplistic data structures, making file operations time-consuming, and makes poor use of disk space in situations where many small files are present. ISO 9660
ISO 9660

ISO 9660, also called CDFS by some manufacturers, a standard published by the International Organization for Standardization , defines a file system for CD-ROM media....
 and Universal Disk Format
Universal Disk Format

The Universal Disk Format is a format specification of a file system for storing files on Optical disc. It is an implementation of the ISO/IEC 13346 standard ....
 are two common formats that target Compact Disc
Compact Disc

A Compact Disc is an optical disc used to store Data , originally developed for storing digital audio. The CD, available on the market since October 1982, remains the standard physical medium for sale of commercial Sound recording and reproduction to the present day....
s and DVD
DVD

DVD, also known as "Digital Versatile Disc" or "Digital Video Disc,"is a popular optical disc data storage device media format. Its main uses are video and data storage....
s. Mount Rainier
Mount Rainier (packet writing)

Mount Rainier is a format for writable optical discs which provides the packet writing and defect management. Its goal is the replacement of the floppy disk....
 is a newer extension to UDF supported by Linux 2.6 kernels and Windows Vista that facilitates rewriting to DVDs in the same fashion as has been possible with floppy disks.

Journalized file systems


File systems may provide journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
, which provides safe recovery in the event of a system crash. A journaled file system writes some information twice: first to the journal, which is a log of file system operations, then to its proper place in the ordinary file system. Journaling is handled by the file system driver, and keeps track of each operation taking place that changes the contents of the disk. In the event of a crash, the system can recover to a consistent state by replaying a portion of the journal. Many UNIX file systems provide journaling including ReiserFS
ReiserFS

ReiserFS is a general-purpose, journaling file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux....
, JFS
JFS

JFS is an abbreviation for:* JFS , a particular journaling file system created by IBM* Journaling file system , a type of file systems* Journal of Food Science, the official scientific journal of the Institute of Food Technologists....
, and Ext3
Ext3

The ext3 or third extended filesystem is a journaling file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions....
.

In contrast, non-journaled file systems typically need to be examined in their entirety by a utility such as fsck
Fsck

The system utility fsck is a tool for checking the consistency of a file system in Unix and Unix-like such as Linux.Generally, fsck is run automatically at boot time when the system detects that a file system is in an inconsistent state, indicating a non-graceful shutdown, such as a Crash or power loss....
 or chkdsk
CHKDSK

CHKDSK is a command on computers running DOS, OS/2 and Microsoft Windows operating systems that displays the file system integrity status of hard disks and floppy disk and can fix logical file system errors....
 for any inconsistencies after an unclean shutdown. Soft updates
Soft updates

In computer file systems, soft updates are an approach to maintaining disk integrity after a crash or power outage. They are an alternative to journaling file systems....
 is an alternative to journaling that avoids the redundant writes by carefully ordering the update operations. Log-structured file systems and ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
 also differ from traditional journaled file systems in that they avoid inconsistencies by always writing new copies of the data, eschewing in-place updates.

Graphical user interfaces


Most modern computer systems support graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
s (GUI), and often include them. In some computer systems, such as the original implementations of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 and the Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, the GUI is integrated into the kernel.

While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of context switch
Context switch

A context switch is the computing process of storing and restoring the State of a Central processing unit such that multiple Process es can share a single CPU resource....
es required for the GUI to perform its output functions. Other operating systems are modular
Modularity (programming)

Modular programming is a software design technique that increases the extent to which software is composed from separate parts, called modules. Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components....
, separating the graphics subsystem from the kernel and the Operating System. In the 1980s UNIX, VMS and many others had operating systems that were built this way. Linux and Mac OS X are also built this way. Modern releases of Microsoft Windows such as Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
 implement a graphics subsystem that is mostly in user-space, however versions between Windows NT 4.0
Windows NT 4.0

Windows NT 4.0 is a Preemption , Graphical user interface and business-oriented operating system designed to work with either uniprocessor or Symmetric multiprocessing computers....
 and Windows Server 2003
Windows Server 2003

Windows Server 2003 is a Server operating system produced by Microsoft. Introduced on 24 April 2003 as the successor to Windows 2000 Server, it is considered by Microsoft to be the cornerstone of its Windows Server System line of business server products....
's graphics drawing routines exist mostly in kernel space. Windows 9x
Windows 9x

Windows 9x is the family of Microsoft Windows operating systems that comprises the hybrid 16/32-bit Windows versions: Windows 95, Windows 98, which were produced in the 1990s, and often also Windows Me, which was produced in 2000....
 had very little distinction between the interface and the kernel.

Many computer operating systems allow the user to install or create any user interface they desire. The X Window System
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
 in conjunction with GNOME
Gnome

A gnome is a mythical creature characterized by its extremely small size and wiktionary:subterranean lifestyle. The word gnome is derived from the New Latin gnomus....
 or KDE
KDE

KDE is a free software project based around its flagship product, a desktop environment for Unix-like systems. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system....
 is a commonly-found setup on most Unix and Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
  (BSD, Linux, Minix
Minix

MINIX is a Unix-like computer operating system based on a microkernel Software architecture. Andrew S. Tanenbaum wrote the operating system to be used for educational purposes; MINIX also inspired the creation of the Linux kernel....
) systems. A number of Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included Windows shell
Windows Shell

The Microsoft Windows Shell is the main GUI in Windows. The Windows shell includes well-known Windows components such as the Taskbar and the Start menu....
, but the shell itself cannot be separated from Windows.

Numerous Unix-based GUIs have existed over time, most derived from X11. Competition among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort to standardize in the 1990s to COSE
COSE

The Common Open Software Environment or COSE was an initiative formed in March 1993 by the major Unix vendors of the time to create open, unified operating system standards....
 and CDE
Common Desktop Environment

The Common Desktop Environment is a desktop environment for Unix, based on the Motif widget toolkit. Hewlett-Packard OpenVMS uses CDE as its standard desktop environment....
 failed for the most part due to various reasons, eventually eclipsed by the widespread adoption of GNOME and KDE. Prior to open source-based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination (and was the basis upon which CDE was developed).

Graphical user interfaces evolve over time. For example, Windows has modified its user interface almost every time a new major version of Windows is released, and the Mac OS GUI changed dramatically with the introduction of Mac OS X in 2001.

History


The first computers did not have operating systems. By the early 1960s, commercial computer vendors were supplying quite extensive tools for streamlining the development, scheduling, and execution of jobs on batch processing
Batch processing

Batch processing is execution of a series of Computer programs on a computer without human interaction.Batch jobs are set up so they can be run to completion without human interaction, so all input data is preselected through Script s or command-line parameters....
 systems. Examples were produced by UNIVAC
UNIVAC

UNIVAC is the name of a business unit and division of the Remington Rand company formed by the 1950 purchase of the Eckert-Mauchly Computer Corporation, founded four years earlier by ENIAC inventors J....
 and Control Data Corporation
Control Data Corporation

Control Data Corporation was one of the pioneering supercomputer firms. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s to what was effectively a spinoff, after Seymour Cray left the company to found Cray Research, Inc....
, amongst others.

The operating systems originally deployed on mainframes, and, much later, the original microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
 operating systems, only supported one program at a time, requiring only a very basic scheduler. Each program was in complete control of the machine while it was running. Multitasking (timesharing) first came to mainframes in the 1960s.

In 1969-70, UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 first appeared on the PDP-7
PDP-7

The Digital Equipment Corporation PDP-7 is a minicomputer produced by Digital Equipment Corporation. Introduced in 1965, the first to use their Flip Chip technology, with a cost of only $72,000 USD, it was cheap but powerful....
 and later the PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
. It soon became capable of providing cross-platform time sharing using preemptive multitasking, advanced memory management, memory protection, and a host of other advanced features. UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 soon gained popularity as an operating system for mainframes and minicomputers alike.

MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 provided many operating system like features, such as disk access. However, many DOS programs bypassed it entirely and ran directly on hardware. IBM's version, PC DOS, ran on IBM microcomputers, including the IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 and the IBM PC XT, and MS-DOS came into widespread use on clones of these machines.

IBM PC compatible
IBM PC compatible

IBM PC compatible computers are those generally similar to the original IBM Personal Computer, IBM Personal Computer XT, and IBM Personal Computer/AT....
s could also run Microsoft Xenix, a UNIX-like operating system from the early 1980s. Xenix
Xenix

Xenix is a version of the Unix operating system, licensed by Microsoft from AT&T in the late 1970s. The Santa Cruz Operation later acquired exclusive rights to the software, and eventually began distributing it as SCO UNIX....
 was heavily marketed by Microsoft as a multi-user alternative to its single user MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 operating system. The CPUs of these personal computers could not facilitate kernel memory protection or provide dual mode operation, so Microsoft Xenix relied on cooperative multitasking and had no protected memory.

The 80286-based IBM PC AT was the first IBM compatible personal computer capable of using dual mode operation, and providing memory protection. However, the adoption of these features by software vendors was delayed due to numerous bugs in their implementation on the 286, and were only widely accepted with the release of the Intel 80386.

Classic Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, and Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 1.0-3.11 supported only cooperative multitasking (Windows 95, 98, & ME supported preemptive multitasking only when running 32-bit applications, but ran legacy 16-bit applications using cooperative multitasking), and were very limited in their abilities to take advantage of protected memory. Application programs running on these operating systems must yield CPU time to the scheduler when they are not using it, either by default, or by calling a function.

Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
's underlying operating system kernel which was a designed by essentially the same team as Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
's VMS
VMS

VMS may stand for:* OpenVMS or VAX/VMS, a server computer operating system* FreeVMS, a computer operating system* Variable-message sign, an electronic traffic sign often used on highways...
, a UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
-like operating system which provided protected mode operation for all user programs, kernel memory protection, preemptive multi-tasking, virtual file system support, and a host of other features.

Classic AmigaOS
AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000....
 and versions of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 from Windows 1.0
Windows 1.0

Windows 1.0 is a 16-bit graphical operating environment that was released on 20 November 1985. It was Microsoft's first attempt to implement a Computer multitasking graphical user interface-based operating environment on the personal computer platform....
 through Windows Me
Windows Me

Windows Millennium Edition, or Windows Me , is a hybrid 16-bit/32-bit graphical operating system released on 14 September 2000 by Microsoft....
 did not properly track resources allocated by processes at runtime. If a process had to be terminated, the resources might not be freed up for new programs until the machine was restarted.

The AmigaOS did have preemptive multitasking.

Mainframes


Through the 1960s, many major features were pioneered in the field of operating systems. The development of the IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 System/360
System/360

The IBM System/360 is a mainframe computer system family announced by IBM on April 7, 1964. It was the first family of computers making a clear distinction between computer architecture and implementation, allowing IBM to release a suite of compatible designs at different price points....
 produced a family of mainframe computer
Mainframe computer

Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing....
s available in widely differing capacities and price points, for which a single operating system OS/360 was planned (rather than developing ad-hoc programs for every individual model). This concept of a single OS spanning an entire product line was crucial for the success of System/360 and, in fact, IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
`s current mainframe operating systems are distant descendants
History of IBM mainframe operating systems

The history of operating systems running on IBM mainframes is a notable chapter of history of operating systems#The mainframe era, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers....
 of this original system; applications written for the OS/360 can still be run on modern machines. In the mid-70's, the MVS
MVS

Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframes....
, the descendant of OS/360 offered the first implementation of using RAM as a transparent cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
 for disk resident data.

OS/360 also pioneered a number of concepts that, in some cases, are still not seen outside of the mainframe arena. For instance, in OS/360, when a program is started, the operating system keeps track of all of the system resources that are used including storage, locks, data files, and so on. When the process is terminated for any reason, all of these resources are re-claimed by the operating system. An alternative CP-67
CP-67

CP-67 was the control program portion of CP/CMS, a virtual machine operating system developed for the IBM System/360-67 by IBM's Cambridge Scientific Center....
 system started a whole line of operating systems focused on the concept of virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
s.

Control Data Corporation
Control Data Corporation

Control Data Corporation was one of the pioneering supercomputer firms. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s to what was effectively a spinoff, after Seymour Cray left the company to found Cray Research, Inc....
 developed the SCOPE
SCOPE (software)

SCOPE, an acronym for Supervisory Control Of Program Execution, was the name used by the Control Data Corporation for a number of operating system projects in the 1960s....
 operating system in the 1960s, for batch processing. In cooperation with the University of Minnesota, the KRONOS and later the NOS
NOS

NOS may refer to:*Nitrous Oxide Systems, a manufacturer of nitrous systems for high-performance automobiles*NOS , a beverage named after Nitrous Oxide Systems...
 operating systems were developed during the 1970s, which supported simultaneous batch and timesharing use. Like many commercial timesharing systems, its interface was an extension of the Dartmouth BASIC operating systems, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO operating system, which used plasma panel displays and long-distance time sharing networks. Plato was remarkably innovative for its time, featuring real-time chat, and multi-user graphical games.

Burroughs Corporation introduced the B5000 in 1961 with the MCP, (Master Control Program
MCP (Burroughs Large Systems)

The MCP is the Proprietary software operating system of the Burroughs large systems including the Unisys Clearpath/MCP systems. Originally written in 1961 in ESPOL , which itself was an extension of Burroughs Corporation Extended ALGOL, in the 1970s it was converted to NEWP, a better structured, more robust, and more secure form of ESP...
) operating system. The B5000 was a stack machine
Stack machine

In computer science, a stack machine is a model of computation in which the computer's memory takes the form of one or more stack s. The term also refers to an actual computer implementing or simulating the idealized stack machine....
 designed to exclusively support high-level languages with no machine language or assembler, and indeed the MCP was the first OS to be written exclusively in a high-level language – ESPOL
ESPOL

ESPOL was a compiler for an ALGOL 60 superset that provided capabilities of what would later be known as Mohols, machine oriented high order languages, such as interrupting a processor on a multiprocessor system ...
, a dialect of ALGOL
Algol

Algol , known colloquially as the Demon Star, is a bright star in the constellation Perseus . It is one of the best known eclipsing binary, the first such star to be discovered, and also one of the first variable stars to be discovered....
. MCP also introduced many other ground-breaking innovations, such as being the first commercial implementation of virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
. MCP is still in use today in the Unisys
Unisys

Unisys Corporation , based in Blue Bell, Pennsylvania, Pennsylvania, United States, and incorporated in Delaware, is a global provider of information technology services and programs....
 ClearPath/MCP line of computers.

UNIVAC, the first commercial computer manufacturer, produced a series of EXEC operating systems. Like all early main-frame systems, this was a batch-oriented system that managed magnetic drums, disks, card readers and line printers. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BASIC system.

General Electric and MIT developed General Electric Comprehensive Operating Supervisor (GECOS), which introduced the concept of ringed security privilege levels. After acquisition by Honeywell it was renamed to General Comprehensive Operating System
General Comprehensive Operating System

GCOS is a family of operating systems oriented toward mainframe computers.The original version of GCOS was developed by General Electric from 1962; originally called GECOS ....
 (GCOS).

Digital Equipment Corporation developed many operating systems for its various computer lines, including TOPS-10
TOPS-10

The TOPS-10 System was a computer operating system from Digital Equipment Corporation for the PDP-10 mainframe computer launched in 1967. TOPS-10 evolved from the earlier "Monitor" software for the PDP-6 and -10 computers; this was renamed TOPS-10 in 1970....
 and TOPS-20
TOPS-20

The TOPS-20 operating system by Digital Equipment Corporation was the second proprietary OS for the PDP-10 mainframe computer. TOPS-20 began in 1969 as Bolt, Beranek and Newman's TENEX operating system, using special paging hardware....
 time sharing systems for the 36-bit PDP-10 class systems. Prior to the widespread use of UNIX, TOPS-10 was a particularly popular system in universities, and in the early ARPANET community.

In the late 1960s through the late 1970s, several hardware capabilities evolved that allowed similar or ported software to run on more than one system. Early systems had utilized microprogramming to implement features on their systems in order to permit different underlying architecture to appear to be the same as others in a series. In fact most 360's after the 360/40 (except the 360/165 and 360/168) were microprogrammed implementations. But soon other means of achieving application compatibility were proven to be more significant.

The enormous investment in software for these systems made since 1960s caused most of the original computer manufacturers to continue to develop compatible operating systems along with the hardware. The notable supported mainframe operating systems include:
  • Burroughs MCP
    MCP (Burroughs Large Systems)

    The MCP is the Proprietary software operating system of the Burroughs large systems including the Unisys Clearpath/MCP systems. Originally written in 1961 in ESPOL , which itself was an extension of Burroughs Corporation Extended ALGOL, in the 1970s it was converted to NEWP, a better structured, more robust, and more secure form of ESP...
     – B5000,1961 to Unisys
    Unisys

    Unisys Corporation , based in Blue Bell, Pennsylvania, Pennsylvania, United States, and incorporated in Delaware, is a global provider of information technology services and programs....
     Clearpath/MCP, present.
  • IBM OS/360 – IBM System/360, 1966 to IBM z/OS
    Z/OS

    z/OS is a 64-bit operating system for mainframe computers, created by IBM. It is the successor to OS/390, which in turn followed MVS and combined a number of formerly separate, related products....
    , present.
  • IBM CP-67
    CP-67

    CP-67 was the control program portion of CP/CMS, a virtual machine operating system developed for the IBM System/360-67 by IBM's Cambridge Scientific Center....
     – IBM System/360, 1967 to IBM z/VM
    Z/VM

    z/VM is the current version in IBM's VM of virtual machine operating systems. z/VM was first released in October 2000 and remains in active use and development ....
    , present.
  • UNIVAC EXEC 8
    EXEC 8

    EXEC 8 was UNIVAC's operating system developed for the UNIVAC 1108 in 1964. It combined the best features of the earlier operating systems: EXEC I and EXEC II ....
     – UNIVAC 1108
    UNIVAC 1108

    The UNIVAC 1108 was the second member of UNIVAC's UNIVAC 1100/2200 series of computers, introduced in 1964. Integrated circuits replaced the thin film memory that the UNIVAC 1107 used for Processor register....
    , 1964, to Unisys
    Unisys

    Unisys Corporation , based in Blue Bell, Pennsylvania, Pennsylvania, United States, and incorporated in Delaware, is a global provider of information technology services and programs....
     Clearpath IX, present.


Microcomputers

The first microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
s did not have the capacity or need for the elaborate operating systems that had been developed for mainframes and minis; minimalistic operating systems were developed, often loaded from ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 and known as Monitors. One notable early disk-based operating system was CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
, which was supported on many early microcomputers and was closely imitated in MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
, which became wildly popular as the operating system chosen for the IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 (IBM's version of it was called IBM DOS or PC DOS
PC-DOS

IBM PC DOS was a DOS operating system for the IBM Personal Computer, sold throughout the 1980s and 2000s....
), its successors making Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 one of the world's most profitable companies. In the 80's Apple Computer Inc. (now Apple Inc.) abandoned its popular Apple II series of microcomputers to introduce the Apple Macintosh computer with an innovative Graphical User Interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 (GUI) to the Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
.

The introduction of the Intel 80386
Intel 80386

The Intel 80386, otherwise known as the i386 or just 386, is a microprocessor which has been used as the central processing unit of many personal computers and workstations since 1986....
 CPU chip with 32-bit
32-bit

The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295 or -2,147,483,648 through 2,147,483,647 using two's complement encoding....
 architecture and paging
Paging

In computer operating systems that have their main memory divided into page , paging is a transfer of pages between main memory and an auxiliary store, such as hard disk drive....
 capabilities, provided personal computers with the ability to run multitasking
Computer multitasking

In computing, multitasking is a method by which multiple tasks, also known as Computer process, share common processing resources such as a Central processing unit....
 operating systems like those of earlier minicomputers and mainframes. Microsoft responded to this progress by hiring Dave Cutler
Dave Cutler

David Neil Cutler, Sr. is an United States software engineer, designer and developer of several operating systems including the RSX-11M, OpenVMS and VAXELN systems of Digital Equipment Corporation and Windows NT of Microsoft....
, who had developed the VMS
VMS

VMS may stand for:* OpenVMS or VAX/VMS, a server computer operating system* FreeVMS, a computer operating system* Variable-message sign, an electronic traffic sign often used on highways...
 operating system for Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
. He would lead the development of the Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 operating system, which continues to serve as the basis for Microsoft's operating systems line. Steve Jobs
Steve Jobs

Steven Paul Jobs is an United States businessman and co-founder, Chairman, and Chief executive officer of Apple Inc.. Jobs is the former CEO of Pixar Animation Studios....
, a co-founder of Apple Inc., started NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 Computer Inc., which developed the Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 NEXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
 operating system. NEXTSTEP would later be acquired by Apple Inc. and used, along with code from FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
 as the core of Mac OS X.

Minix
Minix

MINIX is a Unix-like computer operating system based on a microkernel Software architecture. Andrew S. Tanenbaum wrote the operating system to be used for educational purposes; MINIX also inspired the creation of the Linux kernel....
, an academic teaching tool which could be run on early PCs, would inspire another reimplementation of Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, called Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
. Started by computer student Linus Torvalds
Linus Torvalds

Linus Benedict Torvalds is a Finland software engineering best known for having initiated the development of the Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project's coordinator....
 with cooperation from volunteers over the internet, developed a kernel which was combined with the tools from the GNU Project
GNU Project

The GNU Project is a free software, mass collaboration project, announced on September 27 1983 by Richard Stallman. It initiated the GNU operating system, software development for which began in January 1984....
. The Berkeley Software Distribution, known as BSD, is the UNIX derivative distributed by the University of California, Berkeley, starting in the 1970s. Freely distributed and ported to many minicomputers, it eventually also gained a following for use on PCs, mainly as FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
 and OpenBSD
OpenBSD

OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
.

Examples


Microsoft Windows

The Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 family of operating systems originated as an add-on to the older MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 operating system for the IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
. Modern versions are based on the newer Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 kernel that was originally intended for OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
. Windows runs on x86, x86-64
X86-64

x86-64 is a superset of the x86. x86-64 Central processing units can run existing 32-bit or 16-bit x86 programs at full speed, but also support new programs written with a 64-bit address space and other additional capabilities....
 and Itanium
Itanium

Itanium is the brand name for 64-bit Intel microprocessors that implement the Intel Itanium architecture . Intel has released two processor families using the brand: the original Itanium and the Itanium 2....
 processors. Earlier versions also ran on the DEC Alpha
DEC Alpha

Alpha, originally known as Alpha AXP, was a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations....
, MIPS
MIPS architecture

MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
, Fairchild
Fairchild Semiconductor

Present day Fairchild Semiconductor International, Inc. is a spin-off company resulting from reconstitution of assets in National Semiconductor....
 (later Intergraph
Intergraph

Intergraph Corporation is a software company with 3879 employees worldwide . Headquartered in Huntsville, Alabama, Intergraph has industrial, government, and military customers in more than 60 countries....
) Clipper
Clipper architecture

Not to be confused with the Clipper chipThe Clipper architecture is a 32-bit RISC-like instruction set architecture designed by Fairchild Semiconductor....
 and PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 architectures (some work was done to port it to the SPARC
SPARC

SPARC is a Reduced Instruction Set Computer microprocessor instruction set Computer architecture originally designed in 1985 by Sun Microsystems....
 architecture).

As of June 2008, Microsoft Windows holds a large amount of the worldwide desktop market share
Market share

Market share, in strategic management and marketing, is the percentage or proportion of the total available market or market segment that is being serviced by a company....
. Windows is also used on servers, supporting applications such as web server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
s and database servers. In recent years, Microsoft has spent significant marketing and research & development money to demonstrate that Windows is capable of running any enterprise application, which has resulted in consistent price/performance records (see the TPC
Transaction Processing Performance Council

Transaction Processing Performance Council is a non-profit organization founded in 1988 to define transaction processing and database benchmarks and to disseminate objective, verifiable TPC performance data to the industry....
) and significant acceptance in the enterprise market.

The most widely used version of the Microsoft Windows family is Windows XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
, released on October 25, 2001.

In November 2006, after more than five years of development work, Microsoft released Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
, a major new operating system version of Microsoft Windows family which contains a large number of new features
Features new to Windows Vista

Windows Vista has many new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.This article discusses the changes most likely to be of interest to non-technical users....
 and architectural changes. Chief amongst these are a new user interface and visual style called Windows Aero
Windows Aero

Windows Aero is the graphical user interface and the default theme in most editions of Windows Vista, an operating system released by Microsoft on 31 January 2007....
, a number of new security features such as User Account Control
User Account Control

User Account Control is a technology and security infrastructure introduced with Microsoft's Windows Vista operating system. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an System administrator authorizes an increase in privilege level....
, and few new multimedia applications such as Windows DVD Maker
Windows DVD Maker

Windows DVD Maker is an application included in Windows Vista editions and pricing of Windows Vista that is designed to enable the creation of DVD movies that can be played using DVD playback software or on a standalone consumer DVD player....
. A server variant based on the same kernel, Windows Server 2008, was released in early 2008.

Windows 7 is currently under development; Microsoft has stated that it intends to scope its development to a three-year timeline, placing its release sometime after mid-2009.

Unix and Unix-like operating systems

Ken Thompson
Ken Thompson

Kenneth Lane Thompson , commonly referred to as Ken Thompson , is an American pioneer of computer science notable for his work with the B and his shepherding of the Unix and Plan 9 from Bell Labs operating systems....
 wrote B, mainly based on BCPL
BCPL

BCPL is a computer programming language designed by Martin Richards of the University of Cambridge in 1966....
, which he used to write Unix, based on his experience in the MULTICS
Multics

Multics was an extremely influential early time-sharing operating system. The project was started in 1964. The last known running Multics installation was shut down on October 30, 2000....
 project. B was replaced by C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, and Unix developed into a large, complex family of inter-related operating systems which have been influential in every modern operating system (see History
History of operating systems

The history of computer operating systems recapitulates to a degree the recent history of computer hardware.Operating systems provide a set of functions needed and used by most application-programs on a computer, and the necessary linkages for the control and synchronization of the computer's hardware....
).

The Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 family is a diverse group of operating systems, with several major sub-categories including System V, BSD, and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
. The name "UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
" is a trademark of The Open Group
The Open Group

The Open Group is an industry consortium to set vendor- and technology-neutral open standards for computing infrastructure. It was formed when X/Open merged with the Open Software Foundation in 1996....
 which licenses it for use with any operating system that has been shown to conform to their definitions. "Unix-like" is commonly used to refer to the large set of operating systems which resemble the original Unix.

Unix-like systems run on a wide variety of machine architectures. They are used heavily for servers
Server (computing)

A server is a computer program that provides services to other computer programs , in the same or other computer. The physical computer that runs a server program is also often referred to as server....
 in business, as well as workstation
Workstation

A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems....
s in academic and engineering environments. Free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 Unix variants, such as GNU
GNU

GNU is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU's Not Unix; it was chosen because its design is Unix-like, but differs from Unix by being free software and containing no Unix code....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and BSD
Berkeley Software Distribution

Berkeley Software Distribution is the Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995....
, are popular in these areas.

Market share statistics for freely available operating systems are usually inaccurate since most free operating systems are not purchased, making usage under-represented. On the other hand, market share statistics based on total downloads of free operating systems are often inflated, as there is no economic disincentive to acquire multiple operating systems so users can download multiple systems, test them, and decide which they like best.

Some Unix variants like HP's HP-UX
HP-UX

HP-UX 11i is Hewlett-Packard's proprietary software implementation of the Unix operating system, based on UNIX System V . It runs on the HP 9000 PA-RISC-based range of central processing unit and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems....
 and IBM's AIX
AIX operating system

AIX is the name given to a series of Proprietary software operating systems sold by IBM for several of its computer system platforms, based on UNIX System V with 4.3BSD-compatible command and programming interface extensions....
 are designed to run only on that vendor's hardware. Others, such as Solaris
Solaris Operating System

Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
, can run on multiple types of hardware, including x86 servers and PCs. Apple's Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, a hybrid kernel
Hybrid kernel

A hybrid kernel is a Kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems....
-based BSD variant derived from NeXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
, Mach
Mach (kernel)

Mach is an operating system microkernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation....
, and FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, has replaced Apple's earlier (non-Unix) Mac OS.

Unix interoperability was sought by establishing the POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 standard. The POSIX standard can be applied to any operating system, although it was originally created for various Unix variants.

Mac OS X

Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 is a line of proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
, graphical operating systems developed, marketed, and sold by Apple Inc., the latest of which is pre-loaded on all currently shipping Macintosh
Macintosh

File:Imac alu.pngMacintosh, commonly shortened to Mac, is a brand name which covers several lines of personal computers designed, developed, and marketed by Apple Inc....
 computers. Mac OS X is the successor to the original Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, which had been Apple's primary operating system since 1984. Unlike its predecessor, Mac OS X is a UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 operating system built on technology that had been developed at NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 through the second half of the 1980s and up until Apple purchased the company in early 1997.

The operating system was first released in 1999 as Mac OS X Server 1.0
Mac OS X Server 1.0

Mac OS X Server 1.0, released on March 16 1999, is the first operating system released by Apple Computer based on their acquisition of NeXT. Although it had a variation of the Platinum "look and feel" from Mac OS 8, it is based on the OPENSTEP operating system instead of the classic Mac OS, giving users a preview of the future operating sy...
, with a desktop-oriented version (Mac OS X v10.0
Mac OS X v10.0

Mac OS X version 10.0, code named ?Cheetah?, was the first Software version of Mac OS X, Apple Inc. desktop and server operating system. Mac OS X v10.0 was released on March 24, 2001 for a price of US$129....
) following in March 2001. Since then, five more distinct "end-user" and "server" editions of Mac OS X have been released, the most recent being Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
, which was first made available in October 2007. Releases of Mac OS X are named after big cat
Big cat

The term big cat is used to distinguish the larger Felidae species from smaller ones. One definition of big cat includes only the four species of cat in the genus Panthera: the tiger, lion, leopard, and jaguar....
s; Mac OS X v10.5 is usually referred to by Apple and users as "Leopard".

The server edition, Mac OS X Server
Mac OS X Server

Mac OS X Server is Apple's UNIX server operating system. Based on the same architecture as Mac OS X, Mac OS X Server includes additional services, applications and administration tools for managing and deploying servers....
, is architecturally
Software architecture

The software architecture of a program or computing system is the structure or structures of the software system, which comprise software components, the externally visible properties of those components, and the relationships between them....
 identical to its desktop counterpart but usually runs on Apple's line of Macintosh server
Server (computing)

A server is a computer program that provides services to other computer programs , in the same or other computer. The physical computer that runs a server program is also often referred to as server....
 hardware. Mac OS X Server includes workgroup management and administration software tools that provide simplified access to key network service
Network service

Network services are the foundation of a networked computing environment. Generally network services are installed on one or more Server s to provide shared resources to client computers....
s, including a mail transfer agent
Mail transfer agent

A mail transfer agent The term mail server is also used to mean a computer acting as an MTA that is running the appropriate software. The term mail exchanger , in the context of the Domain Name System formally refers to an IP address assigned to a device hosting a mail server, and by extension also indicates the server itsel...
, a Samba server, an LDAP server, a domain name server
Domain name system

The Domain Name System is a hierarchical naming system for computers, services, or any resource participating in the Internet. It associates various information with domain names assigned to such participants....
, and others.

Plan 9

Ken Thompson
Ken Thompson

Kenneth Lane Thompson , commonly referred to as Ken Thompson , is an American pioneer of computer science notable for his work with the B and his shepherding of the Unix and Plan 9 from Bell Labs operating systems....
, Dennis Ritchie
Dennis Ritchie

Dennis MacAlistair Ritchie is an American computer science notable for his influence on C and other programming languages, and on operating systems such as Multics and Unix....
 and Douglas McIlroy
Douglas McIlroy

Malcolm Douglas McIlroy is a mathematician, engineer, and programmer. As of 2007 he is an Adjunct Professor of Computer Science at Dartmouth College....
 at Bell Labs
Bell Labs

Bell Laboratories is the research organization of Alcatel-Lucent and previously of the American Telephone & Telegraph Company .Bell Laboratories has had its headquarters at Berkeley Heights, New Jersey, and it has research and development facilities throughout the world....
 designed and developed the C programming language to build the operating system Unix. Programmers at Bell Labs went on to develop Plan 9
Plan 9 from Bell Labs

Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002....
 and Inferno
Inferno (operating system)

Inferno is an operating system for creating and supporting distributed services.It was based on the experience of Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability....
, which were engineered for modern distributed environments. Plan 9 was designed from the start to be a networked operating system, and had graphics built-in, unlike Unix, which added these features to the design later. Plan 9 has yet to become as popular as Unix derivatives, but it has an expanding community of developers. It is currently released under the Lucent Public License
Lucent Public License

The Lucent Public License is an open-source license created by Lucent Technologies. It has been released in two versions: Version 1.0 and 1.02....
. Inferno was sold to Vita Nuova Holdings and has been released under a GPL/MIT license.

Real-time operating systems


A real-time operating system
Real-time operating system

A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
 (RTOS) is a multitasking operating system intended for applications with fixed deadlines (real-time computing
Real-time computing

In computer science, real-time computing is the study of Computer hardware and computer software systems that are subject to a "real-time constraint"?i.e., operational deadlines from event to system response....
). Such applications include some small embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems.

An early example of a large-scale real-time operating system was Transaction Processing Facility
Transaction Processing Facility

TPF is an International Business Machines real-time operating system for IBM mainframe descended from the IBM System/360 family, including zSeries and ZSeries....
 developed by American Airlines
American Airlines

American Airlines, Inc. is a major carrier of the United States. It is the world's largest airlines in passenger miles transported and passenger fleet size; second largest, behind FedEx Express, in aircraft operated; and second behind Air France-KLM in operating revenues....
 and IBM for the Sabre Airline Reservations System.

Embedded systems


Embedded system
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
s use a variety of dedicated 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 fixed deadlines use a real-time operating system
Real-time operating system

A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
 such as VxWorks
VxWorks

VxWorks is a real-time operating system operating system made and sold by Wind River Systems of Alameda, California, California, USA.VxWorks is designed for use in embedded systems....
, eCos
ECos

eCos is an open source, royalty-free, real-time operating system intended for embedded systems and applications which need only one Process with Thread ....
, QNX
QNX

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. On September 12, 2007, the source of the QNX kernel was released for non-commercial use....
, MontaVista Linux and RTLinux
RTLinux

RTLinux is an extension of Linux to a real-time operating system, which was originally developed by Victor Yodaiken at the New Mexico Institute of Mining and Technology....
.

Some embedded systems use operating systems such as Symbian OS
Symbian OS

Symbian OS is a proprietary software operating system designed for mobile devices, with associated Library , user interface, frameworks and reference implementations of common tools, developed by Symbian Ltd....
, Palm OS
Palm OS

Palm OS is an embedded operating system operating system initially developed by U.S. Robotics Corp.-owned Palm, Inc. for personal digital assistants in 1996....
, Windows CE
Windows CE

Windows CE is Microsoft's operating system for minimalistic computers and embedded systems. Windows CE is a distinctly different operating system and Kernel , rather than a trimmed-down version of desktop Windows....
, BSD, and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, although such operating systems do not support real-time computing.

Windows CE
Windows CE

Windows CE is Microsoft's operating system for minimalistic computers and embedded systems. Windows CE is a distinctly different operating system and Kernel , rather than a trimmed-down version of desktop Windows....
 shares similar APIs to desktop Windows but shares none of desktop Windows' codebase.

Hobby development

Operating system development
Operating system development

Operating system development refers to the development of operating systems, and it is often abbreviated to OSDev....
, or OSDev for short, as a hobby has a large cult-like following. As such, operating systems, such as Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, have derived from hobby operating system projects. The design and implementation of an operating system requires skill and determination, and the term can cover anything from a basic "Hello World"
Hello world program

A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
 boot loader to a fully featured kernel. One classical example of this is the Minix
Minix

MINIX is a Unix-like computer operating system based on a microkernel Software architecture. Andrew S. Tanenbaum wrote the operating system to be used for educational purposes; MINIX also inspired the creation of the Linux kernel....
 Operating System—an OS that was designed by A.S. Tanenbaum as a teaching tool but was heavily used by hobbyists before Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 eclipsed it in popularity.

Other

Older operating systems which are still used in niche markets include OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
 from IBM; Mac OS
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
, the non-Unix precursor to Apple's Mac OS X; BeOS
BeOS

BeOS was an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading,...
; XTS-300
XTS-400

The XTS-400 is a Multilevel security secure computer operating system. It is multi-user and Computer multitasking. It works in networked environments and supports Gigabit Ethernet and both IPv4 and IPv6....
. Some, most notably AmigaOS 4
AmigaOS 4

AmigaOS 4 is a line of Amiga operating systems which runs on PowerPC microprocessors. "The Final Update" was released in 24 December 2006 after five years of development by the Belgian company Hyperion Entertainment under license from Amiga, Inc....
 and RISC OS
RISC OS

RISC OS is a computer operating system which was originally developed by Acorn Computers Ltd in Cambridge, England for their ARM architecture based computers....
, continue to be developed as minority platforms for enthusiast communities and specialist applications. OpenVMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
 formerly from DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
, is still under active development by Hewlett-Packard
Hewlett-Packard

The Hewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States....
.

Research and development of new operating systems continues. GNU Hurd
GNU Hurd

GNU Hurd is a free software computer kernel , released under the GNU General Public License. It consists of a set of Server that work on top of a microkernel; together they form the kernel of GNU....
 is designed to be backwards compatible with Unix, but with enhanced functionality and a microkernel architecture. Singularity
Singularity (operating system)

Singularity is an experimental operating system being built by Microsoft Research since 2003. It is intended as a highly-Dependability OS in which the kernel , device drivers, and applications are all written in managed code....
 is a project at Microsoft Research
Microsoft Research

Microsoft Research is a division of Microsoft created in 1991 for researching various computer science topics and issues. It is one of the top research centers worldwide currently employing Turing Award winners C.A.R....
 to develop an operating system with better memory protection
Memory protection

Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
 based on the.Net managed code model. Systems development follows the same model used by other Software development
Software development

Software development is the set of activities that results in software products. Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products....
, which involves maintainers, version control "trees", forks
Fork (software development)

In software engineering, a project fork happens when developers take a copy of source code from one Computer software and start independent development on it, creating a distinct piece of software....
, "patches", and specifications. From the AT&T-Berkeley lawsuit the new unencumbered systems were based on 4.4BSD which forked as FreeBSD and NetBSD efforts to replace missing code after the Unix wars
Unix wars

The Unix wars were the struggles between vendors of the Unix computer operating system in the late 1980s and early 1990s to set the standard for Unix thenceforth....
. Recent forks include DragonFly BSD
DragonFly BSD

DragonFly BSD is a Free software Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon , a FreeBSD and Amiga developer since 1994, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July 16, 2003....
 and Darwin
Darwin (operating system)

Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NEXTSTEP, FreeBSD, and other free software projects....
 from BSD Unix.

Kernel Preemption


In recent years concerns have arisen because of long latencies often associated with some kernel run-times, sometimes on the order of 100ms or more in systems with monolithic kernels. These latencies often produce noticeable slowness in desktop systems, and can prevent operating systems from performing time-sensitive operations such as audio recording and some communications.

Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well. Under Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
, the introduction of the Windows Display Driver Model
Windows Display Driver Model

Windows Display Driver Model is the graphic driver architecture for video card device driver running Microsoft Windows versions beginning with Windows Vista....
 (WDDM) accomplishes this for display drivers, and in Linux, the preemptable kernel model introduced in version 2.6 allows all device drivers and some other parts of kernel code to take advantage of preemptive multi-tasking.

Under Windows prior to Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
 and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 prior to version 2.6 all driver execution was co-operative, meaning that if a driver entered an infinite loop it would freeze the system.

See also

  • List of operating systems
    List of operating systems

    Operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap....
  • Computer systems architecture
  • Disk operating system
  • Kernel (computer science)
  • List of important publications in computer science#Operating systems
  • Object-oriented operating system
    Object-oriented operating system

    An object-oriented operating system is an operating system which internally uses Object-oriented programming.An object-oriented operating system is in contrast to an object-oriented user interface or programming framework, which can be placed above a non-object-oriented operating system like DOS, Microsoft Windows or Unix....
  • Orthogonal persistence
  • Process management (computing)
    Process management (computing)

    Process management is an integral part of any modern day operating system . The OS must allocate resources to process , enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronisation among processes....
  • System call
    System call

    In computing, a system call is the mechanism used by an application program to request service from the kernel based on the Monolithic_kernel or to system servers on operating systems based on the microkernel-structure....
  • System image
    System image

    A system image in computing is the state of a computer system or software system system stored in some Secondary storage form. The form of computer storage is often a Computer file....
  • Trusted operating system
    Trusted operating system

    Trusted Operating System generally refers to an operating system that provides sufficient support for multilevel security and evidence of correctness to meet a particular set of government requirements....


Footnotes


External links


  • and the history of operating systems