The following message is a courtesy copy of an article
that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.


[email protected] (Charles Mills) writes:
> It also might be mentioned that there was an incentive to develop a
> quick-and-dirty DOS/360 that came from the shortage of machine time on the
> 7094 simulators (being used to develop OS/360) versus the amount of 360
> hardware that was coming out of the factory but unusable due to the lack of
> an operating system.

there was less difference between 360/370 w/o virtual memory and 370
with virtual memory.

for 370 virtual memory there was (distributed) development project
between the science center and endicott to modify cp67 to support 370
virtual machines with virtual memory (i.e. 370 had some new instructions
and the format of the virtual memory tables and definition of control
registers were different).

since the cp67 service had non-employee users (students and others from
various institutions in boston area, BU, MIT, Harvard, etc), the project
went on with virtual cp67 in a virtual machine (to help keep information
about virtual memory to leaking to the unauthorized). then to test the
virtual 370 operation, another version of cp67 was modified to conform
to the 370 architecture (instead of 360/67 architecture). A year before
first engineering 370, the following was in general use

360/67 real machine
  "cp67l" running on real hardware
    "cp67h" running in 360/67 virtual machine w/virtual memory
      "cp67i" running in 370 virtual machine w/virtual memroy
        "cms"

when first engineering 370 with virtual memory hardware became
operation, a version of "cp67i" was booted on the machine to test its
operation.  The first boot failed, and after some diagnostic, it turned
out that the engineers had reversed the definition of two of the new
opcodes; the cp67i kernel was quickly patched (for the incorrect
opcodes) and cp67i came up and ran.

things were a little different for MVT->SVS. There were minimal changes
to MVT to build a single virtual address table ... and handle page
faults and paging operations (not a whole lot of difference between
running MVT in a large virtual machine ... with a minimum amount of
"native" virtual memory support). The biggest change for MVT->SVS was
that the application channel programs passed via EXCP/svc0 had to be
translated, aka a shadow copy of the CCWs built that had real addresses
in place of the virtual addresses (along with the associated
pinning/unpinning of the virtual pages to real addresses). To do this, a
copy of the the corresponding code from CP67 was borrowed (i.e.  when
cp67 does virtual machine channel programs it had to scan the virtual
channel program, creating a "shadow" copy with real address in place of
virtual addresses).

When 370s with virtual memory hardware started being deployed
internally, "cp67i" was the standard system that ran on them for a long
time (or "cp67sj" ... which was "cp67i" with 3330 & 2305 device support
done by a couple engineers from san jose).

something different was done for 3081 and TPF. Originally 308x was never
going to have non-multiprocessor machine ... however, at the time, TPF
didn't have multiprocessor support. The mechanism to run TPF on 3081 was
to run vm370 with TPF in a virtual machine. In some number of TPF 3081,
that tended to leave the 2nd 3081 processor idle. The next release of vm
then had some special modifications to improve TPF thruput ... it added
a bunch of multiprocessor chatter overhead that allowed parts of vm
kernel execution to be run asynchronous with TPF operation ... this
drove up virtual machine overhead by about 10% ... but increased overall
TPF thruput ... by having the overhead being executed on the otherwise
idle processor. The problem was that (additional multiprocessor overhead
chatter) change degraded the thruput of all the other 3081
multiprocessor customers (that normally ran with all processors fully
loaded).

Finally, the company started to offer 3083 (a 3081 w/o the 2nd processor
frame), in large part for TPF. As mentioned in this post
http://www.garlic.com/~lynn/2010d.html#79 LPARs: More or Less?

the straight-forward would be to leave out the "processor 1" frame ...
but the "processor 0" was built at the top of the box ... and there was
some concern that the straight-forward solution would leave the box
top-heavy.

-- 
42yrs virtualization experience (since Jan68), online at home since Mar1970

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to