Top Qs
Timeline
Chat
Perspective

Time Sharing Option

From Wikipedia, the free encyclopedia

Remove ads

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

Summarize
Perspective

In 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 has his own region of storage, protected from alteration by other users.

TSO is most commonly used by mainframe system administrators and programmers. It provides:

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 and ooRexx execs or CLISTs, which can run interactively or in batch.

TSO eliminated the need to punch cards on a keypunch machine, and to send card decks to the computer room to be read by a card reading machine.

Remove ads

History

Summarize
Perspective

Prior to TSO, IBM had introduced limited function time sharing applications such as Remote Access Computing System (RAX), Conversational Programming System (CPS), Conversational Remote Batch Entry (CRBE) and Conversational Remote Job Entry (CRJE) for S/360. These either ran user programs only in an interpreter or had no ability to run user programs at all, only to edit, retrieve and submit batch jobs.[a]

In addition, universities had written time sharing systems both for the 360/67, e.g., Michigan Terminal System (MTS), and for systems prior to S/360, e.g. Compatible Time-Sharing System (CTSS).

When 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. Originally, TSO assigned each user to a TSO region during logon, and used swapping to a swap dataset to allow users to share regions;; this remained true for SVS. IBM used Telecommunications Access Method (TCAM) for terminal I/O until Selectable Unit 13 (TSO/VTAM) added VTAM2 as an alternate access method in MVS.

With the introduction of MVS in 1974, IBM made TSO a standard component of their top-end mainframe operating system. MVS did away with TSO regions and TSO swap data sets; each user had a separate address space, and swapping became the responsibility of the underlying supervisor rather than TSO.

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 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.).

Remove ads

Facilities

Summarize
Perspective

TSO provides several facilities[5][6]

Command processors
TSO provides a variety of command processors, as well as documentation for writing your own.
Terminal Monitor Program (TMP)
The TMP solicits commands from the user and executes them. IBM originally provided documentation on writing your own TMO
Time sharing
In OS/360 and OS/VS2 (SVS), TSO handles time slicing and swapping; in MVS these are done by the Supervisor for all address spaces, not just TSO.
Terminal Input/Output Controller (TIOC)
A set of macro instructions providing an interface to Telecommunications Access Method (TCAM) for terminal I/O, and their supporting code.
Virtual Terminal Input/Output Controller (VTIOC)
An equivalent to TIOC added to MVS by Selectable Unit 13, TSO/VTAM, providing an interface to Virtual Telecommunications Access Method (VTAM) for terminal I/O using the same macros as TIOC.
Dynamic Allocation I(SVC)
A facility to dynamically allocate and free datasets. MVS added DYNALLOC (SVC 99) with a new interface as a standard service.
Service routines
TSO provides services to command processors
  • Terminal I/O at a higher level than TIOC/VTIOC, including a stack of sources and destinations
  • Parsing and scanning commands and subcommands
  • Retrieving information from the catalog
  • Dynamic Allocation Interface Routine (DAIR), a routine to dynamically allocate and free datasets. MVS added DYNALLOC (SVC 99) as a standard service, but DAIR remains available for legacy code.

Batch use

It 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.

Remove ads

See also

Notes

  1. However, on the 360/67 IBM had two full function time sharing systems, CP/CMS and TSS/360.

References

Further reading

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads