glen herrmannsfeldt <g...@ugcs.caltech.edu> writes:
> That is, as I understand it, pretty close to how it started out.
>
> Among others, though OS/VS1 has special features for running
> under VM that OS/VS2 never got. It has the ability to switch
> to a different task while VM is paging a task. That avoids
> the double paging problem that otherwise occurs.

customers had previously made such changes to MVT ... which is possibly
where at least the idea of the VS1 change.

In OS/VS2 SVS it had single 16mbyte virtual memory laid out almost as if
MVT running in 16mbyte real machine. When MVT ran in virtual machine
... when a virtual SIO was done ... CP67 would scan the virtual channel
program and create a "shadow" copy with "real" addresses ... which would
be the channel program that got executed. This routine from cp67
(ccwtrans) was cribbed into the side of EXCP processing ... i.e.  with
transition to virtual memory then all the OSes had the same issue with
channel programs passed in EXCP ... needing creating nearly identical
channel programs but with "real" addresses in place of virtual
addresses.

In OS/VS1 case, it had things laid out in a 4mbyte virtual address space
(as if it was running on real 4mbyte machine). In the OS/VS1 handshaking
case ... a 4mbyte virtual machine was created with OS/VS1 4mbyte virtual
address space mapped one-for-one to the virtual machine address space.
Whenever, vm370 had a os/vs1 virtual machine page fault ... if the
machine was running in application (and not in os/vs1 kernel) ...  vm370
would reflect special page fault to the virtual machine. OS/VS1 could
then do task-switch as if it was a OS/VS1 application virtual page
fault. Later when vm370 had fetched the OS/VS1 virtual machine virtual
page ... vm370 would reflect a special interrupt to OS/VS1 (indicating
the page was available).

>From Melinda's "VM and the VM Community"
http://web.me.com/melinda.varian/Site/Melinda_Varians_Home_Page.html

Dewayne Hendricks  reported at SHARE XLII,  in March,
1974,   that  he had  successfully  implemented  MVT-CP
handshaking for page  faulting,  so that when  MVT running
under VM took a page fault,  CP would allow MVT to dispatch
another task while CP brought in the page.  At the following
SHARE,  Dewayne did a presentation on further modifications,
including support for  SIOF and a memory-mapped  job queue.
With these  changes,  his system would  allow multitasking
guests actually  to multitask when  running in  a virtual
machine.  Significantly, his modifications were available on
the Waterloo Tape.

... and ... then was able to get MFT & MVT running faster
under vm370 than it ran on "bare" machine

By SHARE 49, Dewayne was able to state that, It is now generally
understood that either MFT or MVT can run under VM/370 with relative
batch throughput greater than 1." That is to say, they had both been
made to run significantly faster under VM than on the bare hardware.
Dewayne and others did similar work to improve the performance of DOS
under VM.  Other customers, notably Woody Garnett(122) and John Alvord,
soon achieved excellent results with VS1 under VM.

... snip ...

There is a separate issue with OS/VS2 (of any ilk) running under vm370
... which is pathelogical case of a virtual memory operating system
system managing with least recently algorithm in virtual machine which
manages its virtual memory with least recently algorithm. The scenario
is that a virtual machine page that hasn't been used for awhile ... is
the virtual page that vm370 is likely to select for replacement/removal.
However, the operating system in the virtual machine ... if it is also
doing paging ... may also select the very same page to be the next one
to use (after it has just been selected for removal). From a theoritical
standpoint cascading LRU-algorithms will appear to violate
least-recently-used replacement assumptions (i.e. a least-recently-used
page can be the next most likely to be used rather than the least likely
to be next used).

This characteristic also exhibits itself with DBMS caches that are
managed with LRU strategy when running in a virtual memory operating
system that also manages with LRU strategy.

The VS1 handshaking isn't actually a double paging issue ... that was
handled by configuration of VS1's virtual address space the same as the
virtual machine storage size. The handshaking worked with MVT&MFT as
well as VS1 ... allowing the guest operating system to task switch while
vm370 was handling page fault.

more detailed discussion pg.25 vm/vs handshaking
http://www.bitsavers.org/pdf/ibm/370/vm370/GC20-1800-6_VM370intr_Oct76.pdf

-- 
virtualization experience starting Jan1968, online at home since Mar1970

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to