Operating system
An operating system (OS) is the system software responsible
for the direct control and management of the hardware
that makes up a computer.
Early computers lacked any form of operating system. The user had sole use of the machine; they would
arrive at the machine armed with their program and data, often on punched paper tape. The program would
be loaded into the machine, and the machine set to work, until the program stopped, or maybe more
likely, crashed. Programs could generally be debugged via a front panel using switches and lights; it
is said that Alan Turing was a master of this on the early Machester Mark 1 machine.
Later, machines came with libraries of support code which were linked to the user's program to assist
in operations such as input and output. It is this that is the genesis of the modern-day
operating system. However, machines still ran a single job at a time; at Cambridge University in England the job queue was
at one time a washing line from which tapes were hung with clothes pegs. The colour of the pegs indicated the priority of
the job.
The term operating system is often used colloquially to mean all the
software that "comes with" a computer system before any applications
are installed. A more precise description is that an OS consists of the minimal
set of software to make a computer system function:
a kernel, which is a carefully coded set of routines that directly manage the
allocation and sharing of memory, and the CPU(s); device drivers, which mediate access to disks, network interfaces, communication
ports, and other hardware; and a collection of utility programs that provide some user control over how the
other components of the operating system work.
The conceptual bridge between the precise description of an operating system and the colloquial definition is the tendency to bundle widely, or generally used utilities and applications (such as text editors or file managers) with the basic OS for the sake of convenience; as OSes progressed, a larger selection of 'second class' OS software came to be included, such that now, an OS without a graphical user interface or various file viewers is often considered not to be a true or complete OS.
The broader categories of systems and application software are discussed in
the computer software article.
Early operating systems were very diverse, with each vendor producing one or more
operating systems specific to their particular hardware. Every operating system,
even from the same vendor, could have radically different concepts of commands
and operating procedures. Typically, each time the manufacture brought out a new machine, there would
be a new operating system. This state of affairs continued until the 1960s when IBM developed the S/360 series of
machines; although there were enormous performance differences across the range, all the machines ran essentially
the same operating system, OS/360.
The UNIX operating system was developed by AT&T. Because it was essentially
free, easily obtainable, and easily modified, it promoted the idea of a operating
system that was conceptually the same across various hardware platforms.
The development of microprocessors made inexpensive computing available for the small
business and hobbyist, which in turn led to the concept of interchangeable hardware
components using a common interconnection (such as the S-100, ISA, and PCI busses), and
an increasing need for generic operating systems to control them, such as CP/M
and DOS. The BIOS on these devices made the operating system feasable.
The decreasing cost of display equipment and processors made it practical to provide graphical interfaces
to many operating systems, such as the generic X Window System that is provided with many
unix operating systems, or other graphical systems such as Microsoft Windows, Apple's Macintosh, or even IBM's OS/2.
Operating systems provide a common set of functions for applications, and provide the necessary functions to
control the computer's hardware. Without an operating system, each program would have to have drivers for
your video card, sound card, hard drive, etc...
...blah ...blah...
someone help me here on the history; this is just vague rambling;
what about mini and mainframe history, development of Mach kernel, etc.,
and the other gaps I'm leaving?
Classifications and Terminology
monolithic -- micro-kernel -- kernel
real-time -- time-share -- multitasking -- embedded -- single-user -- multi-user
asymetric and symetric multiprocessing (SMP) -- clustering -- distributed
disk operating system (DOS)
Examples
from original article, and from the computer software article
Generic/Comodity, non-UNIX: -- CP/M, CP/M-86 -- DR-DOS, FreeDOS, MS-DOS, PC-DOS --
UNIX-like: -- UNIX -- AIX -- BSD, FreeBSD, NetBSD, OpenBSD --
Digital UNIX -- HP-UX -- GNU/Hurd -- IRIX -- Linux --
MacOS X -- OSF/1 -- SCO UNIX -- Solaris -- System V -- Ultrix -- Xenix -- LindowsOS
Digital (DEC)/Compaq: --
AIS -- OS-8 -- RSTS/E -- RSX -- RT-11 -- TOPS-10, TOPS-20 -- VMS (later renamed OpenVMS)
IBM: -- OS/2 -- AIX -- OS/400 -- OS/390 -- VM/CMS -- DOS/VSE -- OS/360 -- MFT -- MVT -- SVS -- MVS -- TPF -- ALCS
Microsoft: -- Microsoft Windows (3.x, 9x, 2000, CE, NT, XP)
NeXT: -- NeXT (?)