Icelandic Horse Takes the System Over

Posted by admin on September 25th, 2010 filed in Mainframes

These are notes from a z/OS and Mainframe basics class I took in August. I’m no expert and if I got something wrong, feel free to leave a comment.

In the sixties, computers read punch cards and ran non-interactive batch jobs. Then in the seventies, IBM released… TSO. Yup, time to get used to it: Mainframe software has cryptic names that sound as if the programmers hit the keyboards with their faces.

The best mnemonic for TSO is: It’s something that allows you to Take the System Over. Officially, IBM sells it under the name Time-Sharing Option.


A TSO session

TSO allows multiple users to work on one mainframe system. For example, all users can now schedule their batch jobs interactively and simultaneously. In the multi-user world, the job card contains additional information about the job owner and job class (priority).

A TSO session is similar to a login session on Linux or Unix etc. It shares and assigns resources (CPU, memory) in a transparent way, so that users don’t notice one another. (If they do, they use the other mnemonic: Time Sucking Option.) TSO also serves some purposes that are similar to a DOS or Linux shell, but not all of them. You can enter commands at a command line, such as logon, logoff, help. You can also do some basic work with data sets — this is what files on mainframes are called. (More about data sets on another day.)

If you ever get your hands on a mainframe terminal, or just to give you a picture, here are some useful TSO commands:

mvsduser, listt, freespce display all current users or tasks, or disk space status
system, time, ipldate System info, current time, uptime
profile change user settings, such as the default prefix. (Think of the prefix as your “working directory”.)
send, transmit, receive send a message or data set to another user on this system
submit, cancel, status manage batch jobs
copy, edit, delete, rename, allocate, scan work with data sets, e.g. edit them line-by-line
listcat, listds list data sets or their attributes
exec, tso ex execute scripts

The z/OS facility (i.e. system utility) that is a bit closer to a Linux shell in purpose, is ISPF, the Interactive System Productivity Facility. I don’t know what anglophones use as a mnemonic, but in my head I call it “IslandPferd” (Icelandic horse). ;)


ISPF is the mainframe’s application programming interface, but it also serves some of the functions of a file explorer. It’s a bit more userfriendly than using TSO directly because it has “menus” and “dialogs”, and it includes an interactive text editor and file explorer called ISPF/PDF (the slash is part of the name!). It is even user- and vendor-extensible, so you can customize the menus and add panels that interact with your company’s custom scripts — if you’re good at ASCII art, that is.

The PDF in the afore-mentioned ISPF/PDF stands for Program Development Facility. Users typically sign on to a TSO session, and then start up ISPF/PDF first thing. You use PDF to browse and edit data sets: It has menus for searching, listing, moving, renaming, deleting, copying, printing, and comparing data sets.

Using ISPF was one of two times in my life where I secretly wished I could use vi instead. (The other time was when I tried working with Blender.) :-D But truth is, vi wasn’t invented when mainframe programmers were already happily coding security and transaction systems. And even I have to admit that ISPF beats editing inodes with magnets…

Comments are closed.