Gödel, Escher, Bach An Eternal Golden Braid by Douglas R. Hofstadter

(Dana P.) #1

machine language program and whatever higher level the user is pro-
gramming in. The operating system is itself a program which has the
functions of shielding the bare machine from access by users (thus protect-
ing the system), and also of insulating the programmer from the many
extremely intricate and messy problems of reading the program, calling a
translator, running the translated program, directing the output to the
proper channels at the proper time, and passing control to the next user. If
there are several users "talking" to the same CPU at once, then the operat-
ing system is the program that shifts attention from one to the other in
some orderly fashion. The complexities of operating systems are formida-
ble indeed, and I shall only hint at them by the following analogy.
Consider the first telephone sy~tem. Alexander Graham Bell could
phone his assistant in the next room: electronic transmission of a voice!
Now that is like a bare computer minus operating system: electronic com-
putation! Consider now a modern telephone system. You have a choice of
other telephones to connect to. Not only that, but many different calls can
be handled simultaneously. You can add a prefix and dial into different
areas. You can call direct, through the operator, collect, by credit card,
person-to-person, on a conference call. You can have a call rerouted or
traced. You can get a busy signal. You can get a siren-like signal that says
that the number you dialed isn't "well-formed", or that you have taken too
in long in dialing. You can install a local switchboard so that a group of
phones are all locally connected-etc., etc. The list is amazing, when you
think of how much flexibility there is, particularly in comparison to the
erstwhile miracle of a "bare" telephone. Now sophisticated operating sys-
tems carry out similar traffic-handling and level-switching operations with
respect to users and their programs. It is virtually certain that there are
somewhat parallel things which take place in the brain: handling of many
stimuli at the same time; decisions of what should have priority over what
and for how long; instantaneous "interrupts" caused by emergenCies or
other unexpected occurrences; and !>o on.


Cushioning the User and Protecting the System

The many levels in a complex computer system have the combined effect of
"cushioning" the user, preventing him from having to think about the
many lower-level goings-on which are most likely totally irrelevant to him
anyway. A passenger in an airplane does not usually want to be aware of the
levels of fuel in the tanks, or the wind speeds, or how many chicken dinners
are to be served, or the status of the rest of the air traffic around the
destination-this is all left to employees on different levels of the airlines
hierarchy, and the passenger simply gets from one place to another. Here
again, it is when something goes wrong-such as his baggage not arriving-
that the passenger is made aware of the confusing system of levels under-
neath him.

296 Levels of Description, and Computer Systems
Free download pdf