Brady: I do not think about things I do not think about. Drummond: Do you ever think about things that you do think about? Inherit the Wind (1960) |
Dominic
Vautier
update 6-2012
again 1-2014
One of the really great improvements of IBM third generation technology was the development of a high level set of programs responsible for the function and operation of their new generation of computers. These higher or system level programs controlled memory and space allocation. Another key function of operating system level software was the handling of input and output which had always been an awkward issue in earlier computers. The 360 operating system contained just such a collection of specialized programs working under a nucleus or colonel program.
The introduction of a more complex level of computer operation gave rise to a whole new class of "systems" programmers who were the technical guardians and high priests of the mysteries of this black art. Not interested in mere application jobs that did stuff like update files, these newly established and well respected gurus were primarily concerned with the health and well being and good functioning of the computer itself, never mind what it was supposed to do or deliver. These guys represented a new brand of Scribes and Pharisees
IBM initially tried to developed just one operating system called PCP (primary control program) hoping that it could meet the requirements of all of it's new line of 360 computers. However IBM soon realized that at least three unique operating systems needed to emerge, one for each basic computer configuration. These were TOS, DOS, and OS , (pronounced respectively Tee-Oh-Ess, Dee-Oh-Ess, and Oh-Ess).
When anyone of these systems was started up (not booted up) it was IPLd (meaning Initial Program Load and pronounced I Pee Ell)) so you would tipically say "I give up. Let's just re-I-P-L this thing". You could re-IPL all day long. There was no such word as booting or rebooting unless you were in the marines.
TOS was fairly basic and not at all popular simply because it
did not support any disk. Disk space
in this discussion is what we know today as hard disk or hard memory, a permanent place
where things can be kept and accessed very fast by file or folder in random or
sequential order. At that time it was referred to simply as disk, or space, or disk space.
TOS used sequential tape to run it's operating system and was quite
slow. It had no way to
perform file access without multiple sequential reading of the system tape.
Since sequential processing was all TOS had, sorts were slow and required
a extra tape drive activity. I never worked in a TOS shop so I
can't judge it's effectiveness. I do know
that IBM wisely stopped support for TOS early in its history, or as they would
say in IBM parlance,
TOS became fully matured and no more releases were needed.
DOS (Dee-O-eSS) was very popular for a number of years especially in smaller shops, and there
were a lot of smaller shops around. DOS needed a computer that had disk packs
connected to the
mainframe. The operating
system was a bit complicated and could be downright frustrating to many.
DOS had trouble running two or three programs at the same time,
or multi-processing. Even though this system typically had three partitions, background,
foreground one and foreground two (BG, F1, F2, programmers had to
configure their programs to run in a designated partition.
There was no dynamic
space allocation so you got to do it yourself. Wall charts kept
track of work space on the work disk packs so jobs did not accidentally use the
same disk space or destroy somebody's file. Space by track and sector had to be specifically
allocated by the programmer through a set of control
statements or JCL (see below). Disk
packs were mountable except for the system packs. Some applications could get their
own disk packs if they were important enough.
Without question OS (O Ess) was the undisputed king of all operating systems during the 1960s and for many years after that.
It contained significant improvements over both TOS and DOS.
First of all it was capable of dynamic space allocation, and
relieved the programmer of such tedious and error prone work. Second, and most important it contained a system catalog, which
could centrally keep track of disk and tape files. Third, it introduced the concept of generation data sets.
The generation data set idea was simple. It was a way to remember similar files by generation.
When processing data, you were able to read the zero or current
generation and produce an updated copy or a (+1) generation. The
computer was able to store all this information in it's catalog.
The reason this was such an advantage was because many of these older
computer systems were modeled on batch processing concepts developed
during the unit record days where a
master file was updated to produce a new master file.
In Portland where I worked for a long time there were perhaps 15 DP shops. Most of the shops were too small to support OS systems because it required bigger computers and generated more overhead and additional support staff. The DOS shops had a certain kind of respect for people who worked in OS. I would say that this was not altogether unfounded because the richness and capabilities of OS were not insignificant.
All of the operating systems needed a Job Control
Language (pronounced Jay-Cee-Ell), to tell it what to do.
Collections of JCL formed a job stream or just a Job. Each
step in a job stream ran a program and did all the file assignments and
told the computer what memory to use and what environment to to run in.
The JCL specified configuration and I/O device assignments, memory and disk
allocations and anything else that may be needed. It relieved the
program itself of such low level chores as having to manage a changing
environment as the computer grew. JCL made
programs much more configurable and transportable as well. But the JCL language itself was confusing, and was usually relegated to associate programmers
because it was boring, uninteresting and beneath the dignity of
senior programmers.
I myself had the questionable distinction of teaching OS JCL for several years. It was a very challenging task, similar to attempting to teach people a phone book. I tried anything I could to make up tricks, associations and short-cuts, rhythms and rimes, so that perhaps somehow my class would remember something or anything.
OS JCL, as opposed to DOS and TOS JCL is primarily a language of defaults. It was much more powerful than the other JCL's. Knowing defaults was the real key to understanding the language well and an important ingredient in job setup. Even experienced programmers did not know the language that well, and therefore left the nasty task to less knowledgeable people.