NASA's impact on computing, its many uses of computing
technology from 1958 on provide valuable examples of the growth
in power, diversity, and effectiveness of the applications of
computers. The late 1950s marked the beginning of the computer
industry as an indispensable contributor to American science and
business. NASA's extreme desire to make the most of what the
industry could offer resulted in many interesting and innovative
applications of the ever-improving technology of computing.
When the National Aeronautics and Space Administration came
into existence in 1958, the standard computer was the UNIVAC,
a bunch of spinning tape drives, and featureless boxes, filling a
house-sized room. Expensive to buy and maintain, the giant
computer needed a small army of technicians in constant
attendance to keep it running. Within a decade and a half, NASA
had one of the world's largest collections of computers, scattered in
each of its centers. Moreover, to the amazement of anyone who
knew the computer field in 1958, NASA also flew computers in
orbit, to the moon, and to Mars. Within another 10 years the giant
ground based mainframe would be replaced by clusters of
medium-sized computers in space flight operations, and the single
on-board computer would be replaced by multiple machines. These
remarkable changes mirror developments in the commercial arena.
Where there were giant computers, small computers now do
similar tasks. Where there were no computers, such as on aircraft
or in automobiles, computers now ride along.
Since NASA is well known as an extensive user of computers
mainly because space flight would not be possible without them
there is a common sense that at least part of the reason for the rapid
growth and innovation in the computer industry is that NASA has
served as a main driver due to its requirements. In most cases,
because of the need for reliability and safety, NASA deliberately
sought to use proven equipment and techniques. So, the agency
often found itself in the position of having to seek computer
solutions that were behind the state of the art by flight time.
However, in other cases, some use of nearly leading edge
technology existed, mostly for ground systems in a flight situation.
This was especially true on unmanned spacecraft, because the
absence of human pilots allowed greater chances to be taken.
NASA uses computers on the ground and in manned and
unmanned spacecraft. These three areas have quite different
requirements, and the nature of the tasks assigned to them resulted
in varying types of computers and software. Thus, the impact of
NASA on computing differs in extent as a result of the separate
requirements for each field of computer use, which is one reason
why the three fields are considered in separate parts of this volume.
Computers are an integral part of all current spacecraft. Today they
are used for guidance and navigation functions such as rendez vous
and re-entry for system management functions, data formatting,
and altitude control. However, Mercury, the first manned
spacecraft, did not carry a computer.
Fifteen years of unmanned earth orbital and deep space missions
were carried out without general-purpose computers on board. Yet
now, the manned Shuttle and the unmanned Galileo spacecraft
simply could not function without computers.
In fact, both carry many computers, not just one. This transition
has made it possible for current spacecraft to be more versatile.
Increased versatility is the result of the power of software to
change the abilities of the computer in which it resides and, by
extension, the hardware that it controls. As missions change and
become more complex, using software to adjust for the changes is
much cheaper and faster than changing the hardware.
On-board computers and ground-based computers store data and
do their calculations in the same way, but they handle processes
and input and output differently. A typical ground computer of the
early 1960s, when the first computers flew on manned spacecraft,
would process programs one at a time, right after each other. This
sort of processing, in which the entire program must be loaded into
memory and data must be available in discrete form, is called
"batch." Over time, computer systems were changed to make them
more efficient than batch computing. In a batch process, if the
computer is doing a calculation, the input and output devices