mechanical, and that is actually what it entails; a mechanical
translation of a straightforward mnemonic rendition of basic machine language
into pure binary strings.
Starting from
the point of power up of a machine, an initial bootstrap loader program
needed to be given control of the computer. This could be done by entering it
directly into computer memory through switches on the control console. Alternatively,
in a great evolutionary advance, a machine language variant of such a program
could be punched into a single card that could then be entered into computer
memory directly from the card reader. The evolutionary advance in this case was
hardware wiring, presented in the form of a switch on the console control panel
that directed a card to be read into a specific starting location in computer
memory. After the card was read, control of the computer was transferred to
that specific starting location. With only a modest amount of ingenuity, a
single card could be created that contained a program that knew how to read
many cards from the card reader, store the information from them into
successive locations in computer memory and then give operational control to a
specific memory location indicated on the last card of the deck.
Thus, when the
computer was powered up, the bootstrap loader program was used to first load an
existing program called an assembler into the computer. The assembler
was a program found on its own deck of punched cards, but presented in the form
of pure machine language. After loading by the bootstrap loader, the assembler
program was given control of the computer. Its first processing step was to go
into an idling loop waiting for a card to be read from the card reader. So, now
comes the time to run a user program. Assuming that it was written in assembly
language on a card deck, one could put this deck in the card reader hopper and
press the start button. The assembler program would then read in this assembly
language program, convert it into a set of machine language instructions and
punch these out to a new card deck. One could then take this binary card deck,
invoke the bootstrap loader and then load and run the user program.
On the early IBM 1620s, the only output channel that a
program had was to punch cards. There were not any line printers yet, and no console.
However, you could punch out a deck of cards. There was, then, a rather
interesting device called an IBM
407 Accounting Machine. This was actually something of a computer in its own
right that was programmed through jumper wires placed on a control board that
was then inserted into the machine. The purpose of this device was to read
punched cards and print out information on a cursory line printer. The type of
programming that one could do with this system were things like adding or
subtracting numbers punched into various fields on a deck of punched cards. It
could also add numbers on successive cards together and then print out the sum
total of a column of numbers. With a bit of ingenuity in wiring the control
panel, one could generate and print out moderately complex reports from a deck
of punched cards. If one’s user program was computing a set of numbers from
some complex mathematical algorithm, then the answers had to be punched out on
cards and the cards then printed out through an IBM 407; et voila, one might have the
output of a function. Such was the world of the earliest computers.
During the late
1950’s and early 1960’s, large-scale computers evolved beyond the IBM 650 and IBM 1620 in two distinct families of
machines: business computers and scientific computers. From IBM came a line of business computers
beginning with the IBM 1401 and then followed by the IBM 1410. These machines were among the
first to make use of an actual operating system that was charged with keeping
the machine busy. A modest IBM
1410 configuration would have a central processing unit with 20,000 characters
of memory, four magnetic tape drives, a line printer and a combination card
reader and punch. The operating system was a variant of IBM’s first significant
commercial system that was referred to as IBSYS. It was a single-user operating
|