home about us   contact us
 
   







 


Chicago-Soft
ATTN: TSO Times
One Maple Street
Hanover, NH 03755
(603) 643-4002
information
@tsotimes.com

 

History of TSO: Part Two
by Jim Moore

“Why the history lesson?”, you might be asking. My answer would be: “Stick with me.” There are many valuable nuggets of knowledge to be acquired by studying the history and evolution of something like TSO.

Considering that TSO is still in use to this day, this has to make it one of the oldest pieces of still-viable software on the planet. Also, reading about its history reveals important and still-valid characteristics of the TSO software: Program development, networking and the concept of a teleprocessing monitor.

The Technical Underpinnings of TSO
The most descriptive word for software like TSO is conversational. Conversational, in a shared computing context, means that each TSO user logged on to an MVS system has their own address space. Present within a TSO session’s internal memory structure will be every component of a standard MVS batch job or started task. This includes things like TCBs (Task Control Blocks), an entry in the ASVT (Address Space Vector Table), an ASCB (Address Space Control Block) and JCL. TSO sessions also have their own unique mnemonic designator within the scheme of MVS dispatching: TSU (Time-Sharing User).

The hallmark of a conversational environment is the long term holding of what could be a shared resource. That is, a resource (file, memory, source member) is held onto as long as a user is using it. The term for this is think time. Something like editing a program (which can take many hours of think time) would be a good example of a conversational task. For the entire time that a TSO user is editing a file, an exclusive lock is maintained on the file being edited. No one else can edit the same file while the original TSO user edits it.

To underscore the conversational nature of TSO sessions, compare TSO to IBM’s other classic online teleprocessing monitor: CICS, introduced by IBM as an extra cost software package in July, 1969.

CICS is said to be pseudo-conversational. In the simplest sense, the difference can be seen in the accompanying graphics.

Figure 1 - The Conversational TSO teleprocessing model
TSO requires that a server address space commonly referred to as TCAS (Terminal Controlling Address Space) be active on the MVS operating system. The TCAS server is constantly polling its chain of attached TSO address spaces looking for input (typically, the press of what is called an AID (Attention Identifier) key, usually the Enter key). Each TSU on the TCAS chain is also a discrete "unit of work" on the operating system's dispatch queue.

When a TSO user is not pressing an AID key, the operating system "swaps out" the TSU address space. This conserves some resources but still, each TSU requires significant operating system servicing.

 

Figure 2 - The Pseudo-Conversational CICS Teleprocessing Model
Unlike the TSO model in which each user has a dedicated address space, the CICS model has a single address space (commonly called a "CICS region") with a huge number of dumb terminals connected to it.

It is a task-based model in that when a terminal user initiates a piece of work, a pre-defined task is run within the CICS region. Typically, the task is programmed to display data on the user's terminal screen and frequently, the task allows the displayed data to be updated. However, during the elapsed time that occurs between the initial request to view data and the eventual update of the data, no locks are held (unless EXPLICITLY programmed) and other terminal users are free to inquire against the same data.

What this means is that during the potentially long think time period, the CICS terminal user is not holding on to data resources in the same manner as a TSO user would be.

This is referred to as a psuedo-conversational task-based environment.

With CICS, all terminals sign-on to a single address space. The CICS software manages this multi-tasking, concurrent terminal access by using a standard API. Borrowing from database terminology, this a one-to-many relationship: One CICS region (address space), many users attached to it.

TSO is a direct one-to-one relationship: One user, one address space.

Because of this, even on a large MVS mainframe, TSO consumes far too many finite resources to be a viable application platform for a large group of users. This is why CICS followed on to TSO and became the dominant teleprocessing monitor for heavy-duty, high volume business applications—it was far less expensive in terms of machine utilization. This is still true today.

TSO as a Development Environment
Once the time-sharing problem was adequately solved, CICS began to stabilize as the application teleprocessing monitor of choice for business applications. What role remained for the fledgling TSO software? As the 1960s rolled into the 1970s, TSO slowly became the de facto development environment for what was then known as OS/VS2 (formerly OS/360-MVT). This is the role it has played ever since.

From the late 1960s until 1972, the most common type of terminals attached to either TSO or CICS were of the paper-based, hard-copy variety. The 327x line of CRT (Cathode Ray Tube), glass-screened terminals weren’t introduced by IBM until 1972.

To a pre-1972 TSO user, the line-mode orientation of the interface was perfectly natural. It was considered a huge improvement over the more traditional punched-card, keypunch mode of working with all of the clumsy coding sheets and overnight turn-around time.

When such a paper-based terminal user issued the TSO command:

LIST ‘dataset.name’

on an IBM 1050 or a Telex machine, the entire contents of the file would be listed on paper, one line at a time—no matter how many lines the file contained.

Once glass-screened 327x dumb terminals were attached to TSO, modifications had to be made to the underlying TSO and networking access method software.

This is why, to this day, three asterisks display at the bottom of every mainframe TSO attached “green-screen” when the screen fills up with line-mode messages. The three asterisks are an accommodation to the fact that the terminal doesn’t have a large supply of continuously fed paper running through it.

It might seem unbelievable to people who work with TSO/ISPF today, but for most of the 1970s, programmers worked at the now-primitive looking Ready mode. This is all the TSO Terminal Monitor Program (TMP) ever displays to indicate that it expects some kind of command input: Ready

If you compare something like the line-oriented Ready mode of TSO to the equally line-oriented A: prompt of 1980s vintage MS-DOS, the similarities should become clear.

Note that an A: prompt was deliberately used above as a reminder that for most of the 1980s, PCs didn’t even have internal hard drives (or C: drives).

Ah, progress!

Conclusion of Parts I and II
“ So, what about ISPF?” you might be asking. “I work in ISPF all day, not TSO.”

Valid point. Rest assured that the TSO Times plans an exquisitely detailed history of ISPF in upcoming issues.

Trust me on this: An excellent way to advance ones knowledge in the TSO/ISPF world is to pry apart TSO from ISPF and examine each one separately, as unique but related entities.

And the absolute best way to do this is to consider their evolutionary history. Envision a time when there was no ISPF. Imagine the thought, hard work and creativity that went into solving that long-ago time-sharing riddle. Learn how ISPF came along in the late 1970s to solve the “command line” problem that Windows, in an almost exactly parallel way, later solved for the “C:” prompt world of MS-DOS.

You will reap the benefits daily, especially, if you have a talent for TSO/ISPF programming.

Follow this series, see what I mean.

Visit http://www.nadcomm.com/ - North American Data Communications Museum for historical images 1960-vintage paper terminals.

 



The TSO Times is back by popular demand!
Register now for your FREE subscription









 

Chicago-Soft, LTD
ISPF Tools & Toys
MVS Help Board
Lionel Dyck's Tools
IBM ISPF Page
Tom Brennan's Vista tn3270 Page
Mark Zelden's MVS Utilities


 


 

home · current articles · archives · forums ·
· subscribe · about us · contact us · links