how TSO share time?



TSO Programming, ISPF, SDF, SDSF and PDF, FTP, TCP/IP Concepts, SNA & SNA/IP etc...

how TSO share time?

Postby sandip kumar mondal » Tue Dec 14, 2010 8:05 pm

tso means time sharing optio....how tso share time???and what is the concept of time sharing??
sandip kumar mondal
 
Posts: 6
Joined: Wed Dec 08, 2010 9:52 pm
Has thanked: 0 time
Been thanked: 0 time

Re: how TSO share time?

Postby Akatsukami » Tue Dec 14, 2010 8:15 pm

You, a TSO user, are sharing the time available on a given LPAR with many other users, batch jobs, started tasks, the OS, and probably a couple or three things that I have forgotten.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: how TSO share time?

Postby Robert Sample » Tue Dec 14, 2010 8:17 pm

From the TSO/E General Information manual at IBM's web site:
TSO/E is a base element of z/OS. (1) TSO/E allows users to interactively share computer time and resources. In general, TSO/E makes it easier for people with all levels of experience to interact with the MVS system.
TSO dates back to 1971 or so. Fully understanding the name means you have to fully understand the 1971 operating system environment; basically, TSO allowed interactive access to the system with each TSO user having an address space and sharing the system with other address spaces.
Robert Sample
Global moderator
 
Posts: 3720
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: how TSO share time?

Postby steve-myers » Wed Dec 15, 2010 10:48 am

Back in the late 1960s interactive use of a large mainframe type system by multiple users was generically called "time sharing," which was just a reflection of reality; each user had a portion of the total system, and shared the system with other people. TSO was quite literally an option in MVT. It was an an expensive option in that it used quite a lot of storage when it was running, probably something like 200K bytes or 256K bytes (out of, typically 1024K bytes).

There were two elements in this "time sharing:" When a TSO user was using CPU and I/O resources he competed with batch, and the usual task scheduling and I/O scheduling used by MVT was done. This was quite sophisticated even in 1971. In addition, a TSO user competed with other TSO users for the use of what was called a "swap region." If I remember correctly, you could define up to 3 swap regions. There were several criteria for use of the swap region. When the TSO control task decided a TSO user had used the maximum time alloted to him the TCBs were removed from the MVT TCB chain, any I/O was allowed to complete and other tasks required to "quiesce" the region were completed. Then the storage for the swap region was written to a swap data set, the storage for the next user to use the swap region was restored to the swap region, any active I/O was restarted, the TCBs were restored to the TCB chain, and the user could then run. Other than this swap activity, there was no storage sharing or paging as we know it today.

The amazing thing about TSO for MVT is that it worked, and by the standards of the day it was pretty reliable.

The other two important elements in TSO were the command language, which hasn't changed very much since 1971. The command language was extensible in the sense that users could write "command processors" of their very own. The other important TSO element was dynamic allocation. A command processor could perform dynamic allocation using a TSO service routine called IKJDAIR, which still exists almost 40 years later. IKJDAIR dynamic allocation was much different than MVS dynamic allocation we use today. Most other TSO service functions like IKJPARS existed in the first release of TSO, though some commonly used service functions like "DAIRFAIL" were not documented for end users until the first MVS release. Command processors could do regular I/O just like batch programs, and they used standard MVT services like GETMAIN and FREEMAIN. In fact almost every MVT batch interface was available to TSO users. IBM provided the CALL command (which still exists) so that TSO users could start regular batch programs in the swap region.

Programs running in the TSO SWAP region could read and write to the TSO terminal using the TGET and TPUT macros, as well as using DD statements defined to the terminal and performing regular I/O macros like GET and PUT.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: how TSO share time?

Postby enrico-sorichetti » Wed Dec 15, 2010 10:55 am

Hi Steve!
if You want to resurrect older experiences You can do it on Your PC :D
http://www.cbttape.org/mvtturnkey.htm
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico-sorichetti
Global moderator
 
Posts: 3002
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 164 times

Re: how TSO share time?

Postby steve-myers » Wed Dec 15, 2010 11:17 am

Enrico, why would I want to bother? MVT was a pretty good system for its day, but that was 40 years ago! Trying to run it would bring back memories long since buried in my swap files!
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times


Return to TSO & ISPF

 


  • Related topics
    Replies
    Views
    Last post