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.