> Im reading the MVS Extended Addressability Guide for z/OS. > In the chapter Using Access Registers, is a small section titled > "Obtaining Storage Outside the Primary Address Space"
It is very easy to misinterpret the information in those topics. There is an underlying presumption that you are in a valid cross-memory environment, i.e. that if you are NOT in a condition where PASN=SASN=HASN, then you got that way by executing a PC instruction provided by a server address space. By default storage is always obtained from the current primary (PASN) and that's generally the right answer. However, if you are running inside a program provided by a cross memory server address space, there are circumstances where that program might want to obtain storage in "another" address space - typically that would be in your home (HASN) address space, or perhaps in the secondary (SASN) address space to provide a place to return results. *ANY* other combination is outside of the supported software architecture. Most particularly, there is a popular fantasy that you can just create an ALET for another address space and "have at it". That just isn't supported at all. > They way I interpreted this section - > A Sever Address Space Could provide its SPACE Token to Other > User Address Spaces (clients). These User Address Spaces could then use the > SPACE Token to retrieve the ALET of te Server Address Space. Nope. There is no ALET at all until somebody issues an ALESERV ADD to put that address space on your DU-AL, or on the PASN-AL of one of the address spaces you're connected to. None of that is even necessary for the three address spaces involved in a properly formed cross-memory environment because the OS thoughtfully provides you with ALETs for PASN and HASN. Don't use the SASN ALET (=1) for any system services calls. > The User Address Space Issues a STORAGE OBTAIN with the ALET Parameter. > > I dont understand, which address space has the Acquired storage allocated? The cross-memory resource owning task in the address space referenced by that ALET, unless you specified an owning TCB as well. > Is the storage shared between the two address spaces ? No. > The paragraphs in this section of "Using Extended Addressability" dont > seem to identify which Adress Space actually owns the storage. > > After The User Program has issued the STORAGE OBTAIN with the ALET, it seems > to me the example is missing a SAC instruction when it accesss the storage. Certainly would be required to access if not in PASN. > If the User address space space terminates without issuing STORAGE RELEASE, > will the Server Address Space have addressability to the storage area ? Yes. > > Do I understand this correctly ? Probably not. > > Has anyone anyone used this technique ? > > This seesm to me to be an integrity exposuer ? Not on its own. However, it can certainly be one if you don't know what you're doing. CC
