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 18.104.22.168 (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 г.
Pages to are hidden for
"history of operating systems"Please download to view full document