An operating system is a collection of programs that manages all the other programs (i.e, application programs) in a computer as well as the allocation and use of hardware resources such as the CPU (central processing unit), memory and the hard disk drive (HDD).
Any operating system can be divided, at least conceptually1, into three sets of components: a kernel, low level utilities and other system programs, and a user interface(s). The kernel is the most basic part of any operating system; it has complete control over everything that occurs in it and communicates directly with the hardware. It is copied from storage into a computer's memory as the computer boots (i.e., starts up) by a boot program and remains there until the computer is shut down.
Utilities are small programs that are used to help manage the operating system and hardware. System programs also include daemons, which monitor the system for certain types of events and respond to them.
The most basic, but also the most powerful, type of user interface is a shell, which, as its name implies, is an outer wrapper to the kernel that enables users to interact with computers in a text-only mode. Most modern operating systems also have a graphical user interface (GUI), which provides windows, icons and menus in a desktop metaphor that are easily manipulated with a mouse or similar pointing device. GUIs have the advantage of being much more intuitive and enjoyable for most new users.
The operating system is usually stored on a HDD, but it can also be stored on other media, including a CDROM (or even a single floppy disk in the case of some very small operating systems such as muLinux).
Whereas users interact with the system through a shell or a GUI, application programs make use of the operating system and communicate with each other by making requests for services through application program interfaces (APIs) that are defined by the operating system.
Numerous operating systems have been developed over the years, but only a few are widely used2. Microsoft Windows is the dominant family of operating systems for personal computers, with a share generally estimated at in excess of 90 percent worldwide. However, its shares are much smaller for other types of applications, such as mainframes, servers and embedded devices. An embedded device is a combination of computer hardware and software that is built into some other product, such as an electric appliance, industrial production equipment, cell phone or disk drive.
In the opinion of many computer experts, the best and most successful (as measured in terms of such criteria as stability, efficiency, flexibility and longevity) operating systems that have been developed to date are UNIX and its various descendants (such as Linux and Mac OS X), commonly referred to as Unix-like operating systems. This is largely a result of their emphasis (although not always fully achieved) on simplicity, modularity and transparency.
The first computers did not have operating systems. Rather, a user would typically load punched paper tape or cards containing a program and data directly into a tape reader or card reader connected to the computer. The computer would then commence work and continue until the program was completed or until it crashed (which was even more common then than now).
The development of operating systems represented a major improvement in the efficiency of computer utilization. However, the early operating systems were not standardized, with each computer manufacturer developing one or more specific to its particular computer models. This situation continued into the 1960s, when IBM developed the System/360 series of mainframe computers, all of whose models ran a single basic operating system, referred to as OS/360.
UNIX, the first version of which was developed in 1969 at Bell Labs by Ken Thompson, represented a major advance over earlier operating systems because of its simplicity and portability (i.e., ability to be used on a wide variety of computers). This, together with the facts that it was initially essentially free as well as easily obtainable and easily modified, led to its widespread acceptance by universities and businesses. It also resulted in its serving as the starting point for the development of other operating systems3.
Although many people have attempted to develop new operating systems, very few have met with any success. The reason is that it is an extremely complicated project and it can take years to complete even a most basic version. Moreover, it would become an even more difficult and time consuming project if the system were to incorporate some truly novel features. For example, it took Linus Torvalds more that a year of to make Linux even marginally useful despite the fact that it was basically just a clone of existing operating systems, and it took many more years for Linux to take off and become truly useful.
2For a list of the most commonly used operating systems along with a brief description of each, see The Most Popular Operating Systems, by The Linux Information Project, May 2006.
3UNIX was so successful, in fact, that it was difficult for any subsequently developed systems, including MS-DOS and the other Microsoft systems, to not be influenced by it.
Created July 5, 2006.