By the early 1960s, most computer manufacturers had two distinct, and totally incompatible,
product lines. On the one hand there were the word-oriented, large-scale scientific computers,
such as the 7094, which were used for numerical calculations in science and engineering. On the
other hand, there were the character-oriented, commercial computers, such as the 1401, which
were widely used for tape sorting and printing by banks and insurance companies.
Developing, maintaining, and marketing two completely different product lines was an expensive
proposition for the computer manufacturers. In addition, many new computer customers initially
needed a small machine but later outgrew it and wanted a bigger machine that had the same
architectures as their current one so it could run all their old programs, but faster.
[Page 10]
IBM attempted to solve both of these problems at a single stroke by introducing the System/360.
The 360 was a series of software-compatible machines ranging from 1401-sized to much more
powerful than the 7094. The machines differed only in price and performance (maximum
memory, processor speed, number of I/O devices permitted, and so forth). Since all the machines
had the same architecture and instruction set, programs written for one machine could run on all
the others, at least in theory. Furthermore, the 360 was designed to handle both scientific (i.e.,
numerical) and commercial computing. Thus a single family of machines could satisfy the needs of
all customers. In subsequent years, IBM has come out with compatible successors to the 360 line,
using more modern technology, known as the 370, 4300, 3080, 3090, and Z series.
The 360 was the first major computer line to use (small-scale) Integrated Circuits (ICs), thus
providing a major price/performance advantage over the second-generation machines, which
were built up from individual transistors. It was an immediate success, and the idea of a family of
compatible computers was soon adopted by all the other major manufacturers. The descendants
of these machines are still in use at computer centers today. Nowadays they are often used for
managing huge databases (e.g., for airline reservation systems) or as servers for World Wide
Web sites that must process thousands of requests per second.
The greatest strength of the "one family" idea was simultaneously its greatest weakness. The
intention was that all software, including the operating system, OS/360, had to work on all
models. It had to run on small systems, which often just replaced 1401s for copying cards to
tape, and on very large systems, which often replaced 7094s for doing weather forecasting and
other heavy computing. It had to be good on systems with few peripherals and on systems with
many peripherals. It had to work in commercial environments and in scientific environments.
Above all, it had to be efficient for all of these different uses.
There was no way that IBM (or anybody else) could write a piece of software to meet all those
conflicting requirements. The result was an enormous and extraordinarily complex operating
system, probably two to three orders of magnitude larger than FMS. It consisted of millions of
lines of assembly language written by thousands of programmers, and contained thousands upon
thousands of bugs, which necessitated a continuous stream of new releases in an attempt to
correct them. Each new release fixed some bugs and introduced new ones, so the number of bugs
probably remained constant in time.
One of the designers of OS/360, Fred Brooks, subsequently wrote a witty and incisive book
describing his experiences with OS/360 (Brooks, 1995). While it would be impossible to
summarize the book here, suffice it to say that the cover shows a herd of prehistoric beasts stuck
in a tar pit. The cover of Silberschatz et al. (2004) makes a similar point about operating systems
being dinosaurs.
[Page 11]