history of operating systems

Document Sample
history of operating systems Powered By Docstoc
					history of operating systems
   See also release dates for specific release dates of various operating systems.
earliest computers
   The first computers were analog and digital computers made with intricate gear systems by
the Greeks. These computers turned out to be too delicate for the technological capabilities of
the time and were abandoned as impractical.
   The first practical computers were made by the Inca using ropes and pulleys. Knots in the
ropes served the purpose of binary digits. The Inca had several of these computers and used
them for tax and government records. In addition to keeping track of taxes, the Inca
computers held data bases on all of the resources of the Inca empire, allowing for efficient
allocation of resources in response to local disasters (storms, drought, earthquakes, etc.).
Spanish soldiers acting on orders of Roman Catholic priests destroyed all but one of the Inca
computers in the mistaken belief that any device that could give accurate information about
distant conditions must be a divination device powered by the Christian “Devil” (and many
modern Luddites continue to view computers as Satanically possessed devices).
   In the 1800s, the first computers were programmable devices for controlling the weaving
machines in the factories of the Industrial Revolution. Created by Charles Babbage, these
early computers used Hollerinth (Punch) cards as data storage (the cards contained the control
codes for the various patterns). The first computer programmer was Lady Ada, for whom the
Ada programming language is named.
   In the 1900s, researchers started experimenting with both analog and digital computers
using vacuum tubes. Some of the most successful early computers were analog computers,
capable of performing advanced calculus problems rather quickly. But the real future of
computing was digital rather than analog. Building on the technology and math used for
telephone and telegraph switching networks, researchers started building the first electronic
digital computers.
bare hardware
   In the earliest days of electronic digital computing, everything was done on the bare
hardware. Very few computers existed and those that did exist were experimental in nature.
The researchers who were making the first computers were also the programmers and the
users. They worked directly on the “bare hardware”. There was no operating system. The
experimenters wrote their programs in assembly language and a running program had
complete control of the entire computer. Debugging consisted of a combination of fixing both
the software and hardware, rewriting the object code and changing the actual computer itself.
   The lack of any operating system meant that only one person could use a computer at a
time. Even in the research lab, there were many researchers competing for limited computing
time. The first solution was a reservation system, with researchers signing up for specific time
slots.
   The high cost of early computers meant that it was essential that the rare computers be used
as efficiently as possible. The reservation system was not particularly efficient. If a researcher
finished work early, the computer sat idle until the next time slot. If the researcher's time ran
out, the researcher might have to pack up his or her work in an incomplete state at an
awkward moment to make room for the next researcher. Even when things were going well, a
lot of the time the ccomputer actually sat idle while the researcher studied the results (or
studied memory of a crashed program to figure out what went wrong).
computer operators
   The solution to this problem was to have programmers prepare their work off-line on some
input medium (often on punched cards, paper tape, or magnetic tape) and then hand the work
to a computer operator. The computer operator would load up jobs in the order received (with
priority overrides based on politics and other factors). Each job still ran one at a time with


Ivo S Kotev                                Page 1 of 7                               19.3.2010 г.
complete control of the computer, but as soon as a job finished, the operator would transfer
the results to some output medium (punched tape, paper tape, magnetic tape, or printed paper)
and deliver the results to the appropriate programmer. If the program ran to completion, the
result would be some end data. If the program crashed, memory would be transferred to some
output medium for the programmer to study (because some of the early business computing
systems used magnetic core memory, these became known as “core dumps”)
device drivers and library functions
   Soon after the first successes with digital computer experiments, computers moved out of
the lab and into practical use. The first practical application of these experimental digital
computers was the generation of artillery tables for the British and American armies. Much of
the early research in computers was paid for by the British and American militaries. Business
and scientific applications followed.
   As computer use increased, programmers noticed that they were duplicating the same
efforts.
   Every programmer was writing his or her own routines for I/O, such as reading input from
a magnetic tape or writing output to a line printer. It made sense to write a common device
driver for each input or putput device and then have every programmer share the same device
drivers rather than each programmer writing his or her own. Some programmers resisted the
use of common device drivers in the belief that they could write “more efficient” or faster or
"“better” device drivers of their own.
   Additionally each programmer was writing his or her own routines for fairly common and
repeated functionality, such as mathematics or string functions. Again, it made sense to share
the work instead of everyone repeatedly “reinventing the wheel”. These shared functions
would be organized into libraries and could be inserted into programs as needed. In the spirit
of cooperation among early researchers, these library functions were published and distributed
for free, an early example of the power of the open source approach to software development.
UNIX takes over mainframes
   I am skipping ahead to the development and spread of UNIX†, not because the early history
isn‟t interesting, but because I notice that a lot of people are searching for information on
UNIX history.
   UNIX was orginally developed in a laboratory at AT&T‟s Bell Labs (now an independent
corporation known as Lucent Technologies). At the time, AT&T was prohibited from selling
computers or software, but was allowed to develop its own software and computers for
internal use. A few newly hired engineers were unable to get valuable mainframe computer
time because of lack of seniority and resorted to writing their own operating system (UNIX)
and programming language (C) to run on an unused mainframe computer still in the original
box (the manufacturer had gone out of business before shipping an operating system).
   AT&T‟s consent decree with the U.S. Justice Department on monopoly charges was
interpretted as allowing AT&T to release UNIX as an open source operating system for
academic use. Ken Thompson, one of the originators of UNIX, took UNIX to the University
of California, Berkeley, where students quickly started making improvements and
modifications, leading to the world famous Berkeley Standard Distribution (BSD) form of
UNIX.
   UNIX quickly spread throughout the academic world, as it solved the problem of keeping
track of many (sometimes dozens) of proprietary operating systems on university computers.
With UNIX< all of the computers from many different manufacturers could run the same
operating system and share the same programs (recompiled on each processor).
   When AT&T settled yet another monopoly case, the company was broken up into “Baby
Bells” (the regional companies operating local phone service) and the central company (which
had the long distance business and Bell Labs). AT&T (as well as the Baby Bells) was allowed


Ivo S Kotev                              Page 2 of 7                             19.3.2010 г.
to enter the computer business. AT&T gave academia a specific deadline to stop using
“encumbered code” (that is, any of AT&T‟s source code anywhere in their versions of
UNIX).
                 This led to the development of free open source projects such as FreeBSD,
NetBSD, and OpenBSD, as well as commercial operating systems based on the BSD code.
   Meanwhile, AT&T developed its own version of UNIX, called System V. Although AT&T
eventually sold off UNIX, this also spawned a group of commercial operating systems known
as Sys V UNIXes.
             UNIX quickly swept through the commercial world, pushing aside almost all
proprietary mainframe operating systems. Only IBM‟s MVS and DEC‟s OpenVMS survived
the UNIX onslaught.
                  “Vendors such as Sun, IBM, DEC, SCO, and HP modified Unix to
differentiate their products. This splintered Unix to a degree, though not quite as much as is
usually perceived. Necessity being the mother of invention, programmers have created
development tools that help them work around the differences between Unix flavors. As a
result, there is a large body of software based on source code that will automatically configure
itself to compile on most Unix platforms, including Intel-based Unix.
   Regardless, Microsoft would leverage the perception that Unix is splintered beyond hope,
and present Windows NT as a more consistent multi-platform alternative.” —Nicholas
Petreley, “The new Unix alters NT‟s orbit”, NC World w74
UNIX to the desktop
   Among the early commercial attempts to deploy UNIX† on desktop computers was AT&T
selling UNIX in an Olivetti box running a w74 680x0 assembly language is discussed in the
assembly language section. Microsoft partnered with Xenix to sell their own version of
UNIX.w74 Apple computers offered their A/UX version of UNIX running on Macintoshes.
None of these early commercial UNIXs was successful. “Unix started out too big and
unfriendly for the PC. … It sold like ice cubes in the Arctic. … Wintel emerged as the only
„safe‟ business choice”, Nicholas Petreley. w74 .
   “Unix had a limited PC market, almost entirely server-centric. SCO made money on Unix,
some of it even from Microsoft. (Microsoft owns 11 percent of SCO, but Microsoft got the
better deal in the long run, as it collected money on each unit of SCO Unix sold, due to a bit
of code in SCO Unix that made SCO somewhat compatible with Xenix. The arrangement
ended in 1997.)” —Nicholas Petreley, “The new Unix alters NT‟s orbit”, NC World w74
         To date, the most widely used desktop version of UNIX is Apple‟s Mac OS X,
combining the ground breaking object oriented NeXT with some of the user interface of the
Macintosh.

                                           Age
  See also history for a general history of operating systems.
old and reliable
   The potential advantage of an older operating system is that it has had years of heavy use
that has led to greater dependability and fewer bugs and crashes.
   Of course, this only applies if the maker of the operating system has put effort into bug
fixes.
          As an example, the programmers working on LINUX invest huge effort into ridding
their operating system of even the smallest bugs, while Microsoft (Windows) has the policy of
ignoring bug fixes unless the bugs affect a substantial percentage of their customers. Some
cynical observers believe that Microsoft intentionally includes bugs to increase the
profitability of their paid technical support services.


Ivo S Kotev                               Page 3 of 7                              19.3.2010 г.
      Bill Gates, when questioned about the more than 10,000 known bugs Microsoft
acknowledged existed in Windows 98, claimed “There are no significant bugs in our released
software that any significant number of users want fixed.…The reason we come up with new
versions is not to fix bugs.…It‟s the stupidest reason to buy a new version I ever heard.”
   Another potential advantage of an older operating system is the existence of a larger library
of available programs.
new and advanced
  The potential advantage of a new operating system is that it can introduce important new
ideas or techniques without the "drag" of supporting legacy software.
      BeOS is an example of a new operating system built with the specific intent of being
able to incorporate all new ideas and techniques.
             NeXT is an example of an operating system that is fairly old but has some of the
most modern and advanced features of any operating system available (especially Yellow
Box, Web Objects, and EOF). Rhapsody (also known as Mac OS X Server) incorporates the
dependability and new ideas of NeXT with the ideas from the revolutionary Macintosh OS.




1.1 MB QuickTime movie of Bill Gates explaining his criteria for selecting the best operating
system.
(transcribed below for those who don‟t want to take the download time to see the video clip)
     “To create a new standard, it takes something that‟s not just a little bit different, it takes
something that‟s really new and really captures people‟s imagination and the Macintosh, of all
the machines I‟ve ever seen, is the only one that meets that standard.” — Bill Gates
initial release
  The following chart shows the release dates of the first version of each listed operating
system, with operating systems listed in chronological order:
1975
    VAX/VMS Conception (June)e84
1977
    VAX/VMS First VAX Ship date (October)e84
1978
    VMS V1.0 (August)e84
1983
   AmigaOSe62
1984
ULTRIXe100
  Macintosh (January)
1985
   AmigaOS 1.0 (October)e95
1986
    HP-UXw24
1987
    OS/2 1.0 (December)e99
1993


Ivo S Kotev                                      Page 4 of 7                                   19.3.2010 г.
   FreeBSD 1.0 (December) w48
1995
  BeOS (October)e79
  If you know of any additional release dates, please let Milo know.
release dates
   The following chart shows the release dates of each version of each listed operating system,
in chronological order:
1975
    VAX/VMS Conception (June)e84
1977
    VAX/VMS First VAX Ship date (October)e84
1978
    VMS V1.0 (August)e84
1980
    VMS V2.0 (April)e84
1982
    VMS V3.0 (April)e84
1983
    VMS VAXCLUSTERS announcede84
   AmigaOS 1.0e62
1984
ULTRIX V1.0e100
  Macintosh (January)
    VMS V4.0 (September)e84
    MicroVMS announced with VAX/VMS 4.0 (December)e84
1985
    VMS V4.2e84
   AmigaOS 1.0 (October)e95
1986
    VMS V4.4e84
    MicroVMS retired with VAX/VMS 4.4 (December) e84
     HP-UX 1.0 w24
    VMS V4.7e84
1987
    OS/2 1.0 (December)e99
     HP-UX 1.1 w24
     HP-UX 1.2 w24
1988
    VMS V5.0 (May)e84
     HP-UX 2.0 w24
     HP-UX 2.1 w24
     HP-UX 3.0 w24
1989
    VMS V5.2 (September)e84
     HP-UX 3.1 w24
     HP-UX 7.0 w24


Ivo S Kotev                                      Page 5 of 7                      19.3.2010 г.
1990
    VMS V5.4 (October)e84
  AIX 3.0e67
    HP-UX 7.02 w24
    HP-UX 7.06 w24
    HP-UX 7.08 w24
1991
    VMS V5.5 (November)e84
    VMS V5.5-1 (November)e84
    VMS V5.5-2 (November)e84
    OpenVMS name change of VMS to OpenVMSe84
    HP-UX 8.0 w24
    HP-UX 8.01 w24
    HP-UX 8.02 w24
    HP-UX 8.06+w24
    HP-UX 8.06 w24
    HP-UX 8.05 w24
    HP-UX 8.07 w24
1992
    OpenVMS Alpha V1.0; based on VAX/VMS 5.4 (November) e84
    HP-UX 9.0 w24
    HP-UX 9.01 w24
1993
    BSDi BSD/OS initial production release (March) w71
    OpenVMS VAX V6.0 (June)e84
   FreeBSD 1.0 (December) w48
    OpenVMS ALPHA V1.5e84
    HP-UX 9.02 w24
    HP-UX 9.03 w24
1994
    OpenVMS VAX 6.1 (April)e84
    OpenVMS ALPHA 6.1 (May)e84
   FreeBSD 1.1 (May) w48
    HP-UX 9.04 w24
    HP-UX 9.05 w24
1995
   FreeBSD 2.0 (January) w48
    OpenVMS VAX 6.2 (May)e84
    OpenVMS ALPHA 6.2 (June)e84
   FreeBSD 2.0.5 (June) w48
  BeOS (October), “Be publicly shows the BeOS for the first time. At that time, Be builds a
proprietary hardware called the BeBox (which is a dual PowerPC machine, roughly a boosted
PReP machine).”e79
ULTRIX V4.5 (November)e100
    OpenVMS 7.0 (December)e84


Ivo S Kotev                             Page 6 of 7                            19.3.2010 г.
    HP-UX 9.07 w24
    HP-UX 10.0 w24
    HP-UX 10.01w24
1996
  BeOS Dr6 (developer release): (January)e79
  BeOS Dr7 (developer release): (April)e79
   FreeBSD 2.1.5 (August) w48
  BeOS Dr8 (developer release): (September)e79
    OS/2 4.0 (September)e99
   FreeBSD 2.2 (November) — “branched from the development mainline” w48
    OpenVMS 7.1 (December)e84
    HP-UX 10.10w24
    HP-UX 10.20w24
1997
   FreeBSD 2.1.7.1 (February) — “end of mainstream development on 2.1-stable” w48
   FreeBSD 2.2.1 (April) — “first full release of 2.2 [series]” w48
  BeOS Advanced Access Preview Release: (May) e79
  BeOS PR (preview release): (July)e79
  AIX 4.3 (October)e67
  BeOS PR2 (preview release): (October)e79
    HP-UX 10.30w24
    HP-UX 11.00w24
1998
  BeOS Release 3 for Intel x86: (March)e79
  BeOS Release 3 for PowerPC: (April)e79
  BeOS Release 3.1: (June)e79
  BeOS Release 3.2: (July)e79
   FreeBSD 2.2.7 (July) w48
  AIX 4.3.2 (October 5)e86
 Macintosh 8. 5 (October)
   FreeBSD 3.0 (October) — “first official 3.0 release” w48
   FreeBSD 2.2.8 (November) — “the last release on the 2.2 branch” w48
1999
  AIX 4.3.3 (October)e112
2000
   Windows 2000 1.0 (February 17)w50
    HP-UX 11.11 (aka 11i)e121
 Macintosh OS X public beta (September 13)
2001
 Macintosh OS X 10.0 (March 24)




Ivo S Kotev                            Page 7 of 7                           19.3.2010 г.

				
DOCUMENT INFO