Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS.
Use
editIn computing, time-sharing is a design technique that allows many people to use a computer system concurrently and independently—without interfering with each other.[1] Each TSO user is isolated; it appears to each one that they are the only user of the system.
TSO is most commonly used by mainframe system administrators and programmers. It provides:
- A text editor[2]
- Batch job support, including completion notification
- Debuggers for some programming languages used on System/360 and later IBM mainframes
- Support for other vendors' end-user applications, for example for querying IMS and DB2 databases
TSO interacts with users in either a line-by-line mode or in a full screen, menu-driven mode. In the line-by-line mode, the user enters commands by typing them in at the keyboard; in turn, the system interprets the commands, and then displays responses on the terminal screen. But most mainframe interaction is actually via ISPF, which allows for customized menu-driven interaction. This combination is called TSO/ISPF. TSO can also provide a Unix-style environment on OS/390 and z/OS via the UNIX System Services command shell, with or without ISPF.
TSO commands can be embedded in REXX execs or CLISTs, which can run interactively or in batch.
TSO eliminated the need to punch cards on a keypunch machine, and send card decks to the computer room to be read by a card reading machine.
History
editWhen it was introduced in 1971,[3] IBM considered time-sharing an "optional feature", as compared to standard batch processing, and hence offered TSO as an option for OS/360 MVT. With the introduction of MVS in 1974, IBM made it a standard component of their top-end mainframe operating system. TSO/E ("Time Sharing Option/Extensions") is a set of extensions to the original TSO. TSO/E is a base element of z/OS. Before z/OS, TSO Extensions (TSO/E) was an element of OS/390 and was a licensed program for the MVS and MVS/ESA System Products.[4] Since all z/OS installations usually have both TSO and TSO/E functions installed, it is normal to refer to both TSO and TSO/E as "TSO".
When first released, TSO module names outside of SVCs always had the "prefix" IKJ, in some cases followed by the second and third letters of an associated pre-TSO functional group (IEA = original functional group of "supervisor", hence a TSO module name of IKJEAxxx, IEB = original functional group of "dataset utilities", hence a TSO module name of IKJEBxxx, etc.).
Batch use
editIt is common to run TSO in batch (as opposed to interactively): all the usual TSO line-mode interactive commands can be also executed via Job Control Language (JCL) by running any of the programs IKJEFT01
, IKJEFT1A
, and IKJEFT1B
and supplying the line commands in a file pointed to by the SYSTSIN DD
. The primary difference between the three programs is their handling of return codes from the executed commands.
Batch execution of TSO is one way to allow an IBM mainframe application to access DB2 resources.
See also
editReferences
edit- ^ "Time-sharing". Britannica.com. Encyclopaedia Britannica. Retrieved 20 December 2020.
- ^ "EDIT command - z/OS 2.5.0 - TSO/E Command Reference". ibm.com.
- ^ Myers, Steve (Spring 2004). "Dynamic Allocation ~ The MVS Way" (PDF). TSO Times: 5. Archived from the original (PDF) on 2012-04-25.
- ^ "Overview of TSO/E Programming Services", IBM z/OS V1R9.0 information center
Further reading
edit- Lowe, Doug (1991). MVS TSO, Part 1: Concepts and ISPF (Second ed.). Mike Murach & Associates, Inc.
- Lowe, Doug (1991). MVS TSO, Part 2: Commands And Procedures (Second ed.). Mike Murach & Associates, Inc.
External links
edit- Several TSO manuals from the early 1970s, available from the BitSavers.org archive