Do you consider to use memory objects in z/VSE ?
Ingolf24 120000DRN3 Visits (2447)
With z/VSE 5.1 we introduces 64 bit virtual addressing. That is now you can allocate and use 64 bit virtual storage above the 2 gigabyte (GB) line = above the bar.
In your Assembler program you may use the IARV64 services to manage (e.g. create / free) memory objects. Memory objects are chunks of virtual storage above the bar allocated at a megabyte (MB) boundary in megabyte increments. IARV64 services can be compared to GETVIS / GETMAIN and FREEVIS / FREEMAIN for 31 bit virtual storage.
IARV64 services can create private and shared memory objects. Private memory objects are accessible from the partition (address space) that created it. Any subtask of that partition may access the memory object. Shared memory objects may be accessed by any partition (address space) that is authorized to do so.
Benefits of memory objects: It is much easier to manage memory objects compared to data spaces, because you just need to switch into 64 bit addressing mode with a single instruction (SAM64) to access the data within the address space. In 64 bit addressing mode you can access any virtual storage from 0 to the allocated 64 bit memory objects. You do not need to use ALETs (Access List Entry Tokens) in access registers and switch into access register mode as for data spaces.
There is one more benefit for shard memory objects: IARV64 services allow to specify the storage key of the memory objects. Only programs that have the same PSW (Program Status Word) key than the storage key of the memory object can write into the memory object. With z/VSE 5.1 we allow to set the same user PSW key for partitions. That is you may have an easy way to share / exchange data between partitions, if programs are authorized.
Please see the
That's my last blog for this week. Have a good weekend.