I had done a lot of work on location independent code images ... lots of
past postings discussing the difficulty collected here
http://www.garlic.com/~lynn/subtopic.html#adcon

The standard vm370 system only handled memory mapped objects via named
systems ... defined by the NAMESYS macro assembled in DMKSYS. With the
appropriate privileges, the current range of pages (defined by NAMESYS)
could be "saved". Then contents of a named system could be loaded by an
extension to the IPL command.

Some of the work was described in Cambridge Science Center
http://www.garlic.com/~lynn/subtopic.html#545tech

Technical Report No. ZZ20-6002, July 1974, C.S.C VM/370 Extended II,
Virtual Memory Management

... extract from the above

The scope of the modifications to VM/370 currently being implemented
will support both the Named System interface and an PAM interface
to a virtual machine. Recognizing that PAM support is dependent on
extensive CMS filesystem changes, simple extensions to the Named
System interace are being made to make some facilities immediately
available.

The user interace will consist of two new commands (and/or diagnose
instruction codes) to equate/connect and disconnect a virtual address
space span to/from a 'Named System'. No change need be made in the
method of defining named systems, although virtual device address and
some other fields may be ignored. The starting virtual page address may
be any legitimate address, inside or outside of a virtual machine
address limit. Page address assignment is sequential as defined by the
NamedSystem, procedding from the intial starting page (which may be
supplied either via the comand or the named system definition as the
defualt). Page assignment is terminated after assigning the last page in
the definition, or on encountering a shared segment in the virtual
memory, or after assigning the highest possible page address (end of
virtual memory, 16M). For named systems which contain as part of their
definition shared segment(s), the relative starting page number within a
segment must be the same as the default in the Named System definition.

... snip ...

The CMS page mapped filesystem and the shared segment changes were
eventually widely released internally on a VM370 release 2 PLC 15 base. One of the locations that made extensive use of the PAM support w2.15 system was HONE
http://www.garlic.com/~lynn/subtopic.html#hone

... the internal world-wide, vm370-based online system for all sales, marketing and field people.

For HONE, the issue had been that nearly all of the service was
delivered as various kinds of APL applications (originally CMS/APL but
then upgraded to APL/CMS ... and then VS/APL). In the pre-PAM scenario
they had defined a "IPL" named system that included both CMS and APL
(with several shared segments defined for APL in addition to the one CMS
shared segment and misc. non-shared pages)

The issue (for HONE) was that APL was extremely compute intensive and
some of the larger CPU hog applications had been redone in Fortran. The
issue was how to invoke the FORTRAN application from the APL environment
(called SEQUOIA) and then return to SEQUOIA automagically.

The PAM solution was to define APL on a page mapped filesystem. Normal
"CMS" could be IPL'ed (with the single shared segment). The APL image
was loaded from CMS page mapped filesystem (with all the appropriate
shared segments defined). It was now possible to switch back and forth
between APL environment (with shared segments) and Fortran applications
and back again transparently to the end-user.

PAM offered a huge number of operational and performance advantages ...
but the eventual decision was to only release the relative familiar
"NAMESYS" CP kernel changes (minor subset of the full page mapped
facility) as DCSS ... which (I) originally called DisContiguous Shared
Segments ... since the standard product was only going to support
definitions outside the standard virtual machine address space ... and
the primary justificiation for providing the facility was to support
definition of additional shared segment objects.

For VM370 release 3 "DCSS", because the CP kernel changes supporting page mapped filesystem were not picked up, the CMS changes for page mapped filesystem was also not picked up. However, a lot of the other CMS changes that I had done for putting various pieces of CMS into shared segments was picked up ... i.e. the CMS editor and misc. other stuff.

Reply via email to