View previous topic :: View next topic |
Author |
Message |
ds390 Beginner
Joined: 23 Jan 2007 Posts: 82 Topics: 39
|
Posted: Wed Dec 05, 2007 6:18 pm Post subject: how many ways are there to access an Address Space? |
|
|
I know REXX can. Any other ways? |
|
Back to top |
|
 |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Wed Dec 05, 2007 6:39 pm Post subject: |
|
|
What do you mean by "access an address space"? do you want to list address spaces? read or write memory within an address space? Start, stop or modify an address space? Define one? make a call to a service within one? Share a resource with one? The term "access" is not clear. _________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
 |
ds390 Beginner
Joined: 23 Jan 2007 Posts: 82 Topics: 39
|
Posted: Wed Dec 05, 2007 8:51 pm Post subject: |
|
|
I think I meant make a call to a service within one address space. My understanding is every address space has a special area which put all the service commands, like ispexec and execio. These commands can be accessed by REXX and clist maybe because they are similar. But are there any other ways to talk to these commands? like PL/I, COBOL or even a console command?
Thanks! |
|
Back to top |
|
 |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Wed Dec 05, 2007 11:00 pm Post subject: |
|
|
These are not address spaces, they are subcommand environments. An address space is a virtual representation of (a portion of) the memory range of the machine, in which one or more programs runs. A job runs in an address space, as does a started task or a TSO user. This is distinguished from a data space which is also a virtual representation of a portion of the memory range of the machine, but you can not run a program in a data space.
As for subcommand environments, you probably can't access them easily outside of Rexx since they are a Rexx construct. Some programs have corresponding entry points or stubs you can link to in your programs. ISPF is an example of this; it has the ISPLINK and ISPEXEC stubs that execute the same or similar commands as the ispexec subcommand environment. I'm not sure what others may exist. Maybe SDSF for V1.9 (??). _________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
 |
ds390 Beginner
Joined: 23 Jan 2007 Posts: 82 Topics: 39
|
Posted: Sun Dec 09, 2007 4:57 pm Post subject: |
|
|
can you point me to some document where I can find the questions you asked me? Listing, define, start and stop address spaeces. It sounds very interesting.
Thanks very much. |
|
Back to top |
|
 |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Sun Dec 09, 2007 7:32 pm Post subject: |
|
|
Address spaces as a concept are describe in the ABCs of system programming Volume I (search IBM's redbooks site... I don't have a link). This includes how address spaces relate to subsystems, jobs, etc.
Creating Address spaces is probably defined in the authorized assembler macros book(s).
Starting and stopping them would be in the MVS System Commands books (S, P, C and F commands).
I'm sure there are also books (manuals) that define how to set up inter-address space communication and how to use PC (program call) instructions to transfer control, but you'll have to look around. Most IBM manuals have a section titled 'related publications' or similar and that is a good way to find info. _________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
 |
ds390 Beginner
Joined: 23 Jan 2007 Posts: 82 Topics: 39
|
Posted: Sun Dec 09, 2007 10:08 pm Post subject: |
|
|
What is the relationship between address space and job? Can a job has multiple address spaces? For the following, how to find out what mvs jobs ( in /D A,L) do they belong to?
ISPEXEC
ISREDIT
TSO
LINKMVS
And if I made my own address space, let's say it's called my_add_spc how would rexx know that "Address my_add_spc" is a valid statement? |
|
Back to top |
|
 |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Mon Dec 10, 2007 12:00 am Post subject: |
|
|
A job is an address space or more accurately, a job runs in an address space. Subcommand environments (ISPEXEC, LINKMVS, etc) are simply sets of services available to a Rexx program. they exist within the same address space as the Rexx program. Think of them as similar to load modules. When Rexx establishes a subcommand environment with a command like Address LINKMVS, all it is doing is associating commands with a command processor. So if you then issue a command, Rexx will look up the command processor (similar to finding a load module), pass the string to the command processor (similar to loading and branching to a load module), and receive results from the command processor (similar to receiving output parms or a return code from a load module). All this occurs in the same address space.
I think you are confused because of the Rexx keyword "Address". This term is not referring to "address spaces". Rather, it is referring to the verb "To address" meaning "to direct communication to". It isn't working with other address spaces, it is directing commands to subcommand processors, in other words, addressing those command processors.
It is possible to write your own subcommand environments, though not very common to do so. Usually only large programs (ISPF, SDSF, I/O packages) and system related functions (linkmvs, tso, syscall, etc) need to do this. It is much easier to write Rexx functions (programs that can accept parameters from a standard Rexx function call and read and write variables) than it is to create a whole subcom environment. But both are documented in the TSO Rexx manuals. _________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
 |
|
|