Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Time Sharing Option
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{History of IBM mainframe operating systems}} '''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 == 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.<ref>{{cite web |title=Time-sharing |url=https://www.britannica.com/technology/time-sharing |website=Britannica.com |publisher=Encyclopaedia Britannica |access-date=20 December 2020}}</ref> Each TSO user is isolated; it appears to each one that they are the only user of the system.{{efn|However, users can, e.g., send each other messages.}} TSO is most commonly used by mainframe [[system administrator]]s and programmers. It provides: * A [[text editor]]<ref>{{Cite web|url=https://www.ibm.com/docs/en/zos/2.5.0?topic=subcommands-edit-command|title=EDIT command - z/OS 2.5.0 - TSO/E Command Reference|website=ibm.com}}</ref> * [[Batch job]] support, including completion notification * [[Debugger]]s for some programming languages used on [[System/360]] and later IBM mainframes * Support for other vendors' end-user applications, for example for querying [[Information Management System|IMS]] and [[IBM DB2|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]] [[Unix shell|command shell]], with or without ISPF. TSO commands can be embedded in [[REXX]] and [[Object REXX|ooRexx]] execs or [[CLIST]]s, which can run interactively or in batch. TSO eliminated the need to punch cards on a [[keypunch]] machine, and send [[punched card|card]] decks to the computer room to be read by a [[Punched card input/output|card reading]] machine. == History == 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.{{efn|However, on the 360/67 IBM had two full function time sharing systems, [[CP/CMS]] and [[TSS/360]].}} 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,<ref>{{Cite journal|last1=Myers|first1=Steve|date=Spring 2004|title=Dynamic Allocation ~ The MVS Way|journal=TSO Times|pages=5|url=http://www.tsotimes.com/articles/archive/spring04/TSO-Times-Spring04.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20120425092427/http://www.tsotimes.com/articles/archive/spring04/TSO-Times-Spring04.pdf |archive-date=2012-04-25 }}</ref> 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 [[OS/VS2 (SVS)|SVS]]. 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; each user had a separate address space. ''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.<ref>[https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ikjb700/tsoesr.htm "Overview of TSO/E Programming Services"], ''IBM z/OS V1R9.0 information center''</ref> 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 [[Supervisor Call instruction#OS/360 and successor system SVCs|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 == 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 <code>IKJEFT01</code>, <code>IKJEFT1A</code>, and <code>IKJEFT1B</code> and supplying the line commands in a file pointed to by the <code>SYSTSIN DD</code>. 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 [[IBM DB2|DB2]] resources. == See also == * [[Compatible Time-Sharing System]] (CTSS) * [[CP/CMS]] * [[History of IBM mainframe operating systems]] * [[Michigan Terminal System]] (MTS) * [[MUSIC/SP]] * [[ORVYL and WYLBUR]] * [[TSS/360|Time Sharing System]] (TSS) == Notes == {{notelist}} == References == {{reflist}} == Further reading == * {{ cite book | title = MVS TSO, Part 1: Concepts and ISPF | edition = Second | first = Doug | last = Lowe | publisher = Mike Murach & Associates, Inc. | year = 1991 }} * {{ cite book | title = MVS TSO, Part 2: Commands And Procedures | edition = Second | first = Doug | last = Lowe | publisher = Mike Murach & Associates, Inc. | year = 1991 }} == External links == * [http://www.bitsavers.org/pdf/ibm/360/os/tso/ Several TSO manuals] from the early 1970s, available from the BitSavers.org archive {{Time-sharing operating systems}} [[Category:IBM mainframe operating systems]] [[Category:Time-sharing operating systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Efn
(
edit
)
Template:History of IBM mainframe operating systems
(
edit
)
Template:Notelist
(
edit
)
Template:Reflist
(
edit
)
Template:Time-sharing operating systems
(
edit
)