1.2 HISTORY OF OPERATING SYSTEMS
Operating systems have been evolving through the years. In the following
sections we will briefly look at a few of the highlights. Since operating systems
have historically been closely tied to the architecture of the computers on which
they run, we will look at successive generations of computers to see what their
operating systems were like. This mapping of operating system generations to
computer generations is crude, but it does provide some structure where there
would otherwise be none.
The first true digital computer was designed by the English mathematician
Charles Babbage (1792–1871). Although Babbage spent most of his life and for-
tune trying to build his ‘‘analytical engine,’’ he never got it working properly
because it was purely mechanical, and the technology of his day could not pro-
duce the required wheels, gears, and cogs to the high precision that he needed.
Needless to say, the analytical engine did not have an operating system.
As an interesting historical aside, Babbage realized that he would need
software for his analytical engine, so he hired a young woman named Ada
Lovelace, who was the daughter of the famed British poet Lord Byron, as the
world’s first programmer. The programming language Ada
is named after her.
1.2.1 The First Generation (1945–55) Vacuum Tubes and Plugboards
After Babbage’s unsuccessful efforts, little progress was made in constructing
digital computers until World War II. Around the mid-1940s, Howard Aiken at
Harvard, John von Neumann at the Institute for Advanced Study in Princeton, J.
Presper Eckert and William Mauchley at the University of Pennsylvania, and
Konrad Zuse in Germany, among others, all succeeded in building calculating
engines. The first ones used mechanical relays but were very slow, with cycle
times measured in seconds. Relays were later replaced by vacuum tubes. These
machines were enormous, filling up entire rooms with tens of thousands of
vacuum tubes, but they were still millions of times slower than even the cheapest
personal computers available today.
In these early days, a single group of people designed, built, programmed,
operated, and maintained each machine. All programming was done in absolute
machine language, often by wiring up plugboards to control the machine’s basic
functions. Programming languages were unknown (even assembly language was
unknown). Operating systems were unheard of. The usual mode of operation was
for the programmer to sign up for a block of time on the signup sheet on the wall,
then come down to the machine room, insert his or her plugboard into the com-
puter, and spend the next few hours hoping that none of the 20,000 or so vacuum
tubes would burn out during the run. Virtually all the problems were straightfor-
ward numerical calculations, such as grinding out tables of sines, cosines, and log-