even further ... it was what I got back from Cambridge when I created
new CCW to reduce the CP67 overhead specifically for CMS file i/o
... that CP67 provided a virtual machine that conformed to 360
principles of operation. To provide something that didn't conform to 360
principles of operation ... had to be done via the "diagnose"
instruction ... which provided "model specific" features that weren't
defined in the 360 principles of operation (like on 360/30 which would
switch from microcode that implemented 360 to microcode that implemented
1401) ... but in this case it created the abstraction of a "virtual
machine" MODEL aka, CP67 provided a "virtual machine" 360 model
... which was otherwise conformed to the 360 principles of operation ...
except for its (virtual machine) "model specific" functions provided by
the diagnose instruction (and the cp67 software effectively is the
microcode for the virtual machine 360 model).
when I graduated and joined the science center, one of my hobbies was
enhanced production operation systems for internal datacenters ...
including a page mapped file system for CMS.
some of the MIT CTSS people had gone to the 5th flr Project MAC and were
doing multics and other of the CTSS people went to the IBM science
center and were doing virtual machines, internal network (which was also
used in the 80s for the corporate sponsored univ. BITNET), bunch of
online apps, bunch of performance monitoring/modeling and capacity
planning, etc.
The 5th flr was doing single level store virtual memory filesystem for
multics ... and I figured I could do one also ... but I claimed I
learned what not to do watching the IBMers at the university trying to
get TSS/360 working (which also had single level store).
Some people spun off from the science center to form the vm370
development group, took over the ibm bostom programming center on the
3rd flr but rapidly outgrew that space and moved out to the empty former
SBC bldg on 128 at Burlington mall ... the morph from CP67->VM370
dropped and/or greatly simplified a lot of stuff from CP67 (including
lots of my stuff I did as undergraduate ... as well as the CP67
multiprocessor support).
IBM was then going thru the Future System period which was completely
different from 360/370 and was going to completely replace it (370 stuff
was being shutdown, the lack of new 370 stuff during the period is
credited with giving 370 clone mainframe vendors a market foothold) FS
also included flavor of (tss/360) single level store.
http://www.jfsowa.com/computer/ Some FS Comments
http://www.jfsowa.com/computer/memo125.htm Discussion of old FS evaluation
http://people.cs.clemson.edu/~mark/fs.html FS description and discussion
I continued to work on CP67 through the FS period and periodically I
would ridicule what they were doing (which wasn't exactly career
enhancing). Towards the end of the FS period I started migrating lots of
stuff from CP67 to VM370. Then when FS failed/imploded there was mad
rush to get stuff back into the 370 product pipeline ... kicking off
3033 (remapp of 370/168 logic to 20% faster chips) and 3081 were kicked
off in parallel. Also decision was to pick up some of the stuff that I
was shipping to internal datacenters for inclusion in VM370 release 3.
Inside IBM, anything related to FS got such a bad smell, including
single level store ... that they weren't going to do it ... so they
weren't going to ship my full CMS paged-mapped filesystem (although
implementation was completely different from TSS/360 and FS). A very
small subset of it was picked up for release 3, including a little stuff
for DCSS (discontiguous shared segments) mapped into DMKSNT (instead of
page mapped filesystem).
Also the CP67 reorg for kernel syncronization & serialization which
eliminated much of the VM370 failures & zombie users from the period (I
was doing a lot of synthetic workload benchmarking, moved to VM370 most
were guarantee to crash VM370 before I redid kernel syncronization and
serialization).
some old email from the period about moving from CP67 to VM370 for my
internal CSC/VM.
http://www.garlic.com/~lynn/2006w.html#email750102
http://www.garlic.com/~lynn/2006w.html#email750430
Later in vm370 release 3, would ship a lot of CP67 performance and
resource management as well as the CP67 kernel organization needed for
mulitprocessor support (but the multiprocessor support didn't actually
ship until release 4)
Note things get a little more clouded in the last half of the 1980s when
"LPAR" support was added to 3090 (currently large percentage of IBM
mainframes run LPAR) ... bascially a whole lot of virtual machine
function was moved into the machine microcode ... providing the ability
to divide a real machine into multiple "Logical Partitions"
... effectively a form of virtual machine w/o needing the VM370
software.