history is hard

Phil Budne phil at ultimate.com
Fri May 29 17:38:42 CDT 2020

> From: Noel
>     > From: Jon Elson
>     > As far as I know, there was no VM/360. There WAS VM/370, which was out
>     > in the early 1970's
> CP/67, which was a semi-product, and ran only on 360/67's, was basically the
> same functionality as VM/370. (I get the impression that the code was
> descended from CP/67, but I can't absolutely confirm that - although see
> Varian, below.)

In the last decade worked with another contractor (whose name I have
thankfully forgotten: after he removed a purely symbolic layer of
indirection in my code, and when I explained why it was there (to
allow hardware operations to be specified in a platform independent
way, to make it easy to move the system to new hardware) tritely
replied: "if wishes were fishes") who made it ABUNDANTLY clear to me
that VM/370 was significantly different from CP-67. Aw rats, found his
name: Dave Tuttle.

FWIW, on VM/370 being a reimplementation:
https://en.wikipedia.org/wiki/CP/CMS says:

	In 1972, IBM announced the addition of virtual memory to the
	S/370 series, along with the VM/370 operating system, a
	reimplementation of CP/CMS for the S/370.

	IBM reimplemented CP/CMS as its VM/370 product line, released
	in 1972 when virtual memory was added to the S/370
	series. VM/370's successors (such as z/VM) remain in wide use
	today. (It is important to note that IBM reimplemented CP-67,
	as it had CP-40, and did not simply rename and repackage
	it. VM coexisted with CP/CMS and its successors for many
	years. It is thus appropriate to view CP/CMS as an independent
	OS, distinct from the VM family.)

	hypervisor: a mechanism for paravirtualization. This term was
	coined in IBM's reimplementation of CP-67 as VM/370.

> One version of CP/67 provided a /370 virtual machine; it was used
> extensively by the MVS development team. CP/67 was also brought up on
> /370 hardware.

To amplify: My introduction to "how wonderful VMs are" were was when I
worked at BU (after leaving DEC) and told story of how CP or VM was
ported to new hardware by running a second level VM (on a production
system) that simulated the new hardware, and then VM for the new
hardware could be booted in a THIRD level VM.  (As a DECie I was
dubious about such things, tho they could have helped me debug TOPS-20
monitors in daylight, as opposed to waiting to take BUCS20 standalone
at night).

Maybe this is it, on pdf page 30, document page 28 of Varian's paper:

    Alain Auroux did most of the actual coding and testing for the
    bootstrapping, but Rip Parmelee, Bob Adair, and Charlie Salisbury
    were also heavily involved in working out the design.  When Auroux
    started, Cambridge was running a 360/67, not a S/370, and that 67
    was a production system, so he had to avoid destabilizing it.
    ?Vanilla? CP-67 systems created System/360 virtual machines, but
    they did not virtualize the 360/67; that is, they did not allow a
    guest to create its own virtual storage.  Auroux?s first step was
    to modify CP-67 to create virtual 360/67s, which used 4K pages and
    1M segments.  Once he had convinced the Cambridge Operations
    Manager torun that as the production system, he could then proceed
    to develop a CP-67 that virtualized theSystem/370 architecture.

    The System/370 relocation architecture was different from the
    360/67 architecture; it allowed both 2K and 4K pages and both 64K
    and 1M segments.  So, Auroux modified his modified CP-67 to
    support 64K segments and the new System/370 instructions.  He ran
    that system second-level, so he could run a virtual S/370
    third-level.  He developed a prototype ?CP-370? in that
    third-level virtual machine.  Then, to test this CP-370?s
    virtualization of System/370 virtual memory, he had to run it both
    third- and fourth-level, with a couple of CMS machines running
    fifth-level.  He remembers doing much of his testing from home at
    night using an ?old, slow, noisy teletype?. His prototype CP-370
    had been debugged in simulation by the end of 1970.  Late in
    January, 1971, just before Auroux was to return to France, he
    and Bob Adair and Rip Parmelee took copy of his system to Endicott
    so that they could test it on a prototype 370/145 with relocation
    hardware.  It IPLed the first time

My recall was that they booted (sorry, IPL'ed) on the real hardware
before any of IBM's "real" operating systems did.

This may be it, in footnote 91, which spans across two pages(!),
starting BEFORE the previous paragraph:

    An IBM newsletter announced the awards given for the
    virtualization of System/370 on the 360/67 (?Cambridge Men
    Modified CP-67, Providing Tool for Developers?, IBM News,vol. 9,
    no. 15, August, 1972, p. 1.):

      CAMBRIDGE, MASS.: The work of four men at the Scientific Center
      here begun almost two years ago had an important role in the
      development of the operating systems announced this month.  The
      four have received Outstanding ContributionAwards for their
      work.  Two of the men, Dr.  Richard Parmelee and Alain Auroux,
      are now with IBM France in Paris and Grenoble.  Charles
      Salisbury and Robert Adair remain with the Scientific Center

      The four extended and enhanced CP-67, the control program that
      provided virtual machine capability on a Model 67.  Their
      enhancement of the program gave IBM developers access to virtual
      370s on a Model 67 as well as a version of CP-67 which would run
      on System/370. The central modifications to the program made by
      the IBMers were: support of the new dynamic address translation
      facility, additional control registers, and some of the new 370
      instructions and features.  It became a tool for many IBMers
      writing the new virtual machine and virtual memory operating
      systems.  Their extensions provided a means of testing 370
      programs on Model 67 hardware even before 370 hardware was
      available internally.

      ?Moving CP-67 from a 360 base to a 370 base meant that the
      CP/CMS Development Group working on VM/370 had something to
      start running on their 145?, explains Dr.  William Timlake,
      Scientific Center manager.  ?The people in SDD writing VS code
      also had something to use in developing virtual memory
      software.?  In mid-1970, an SDD advanced system programming team
      headed by Russ Hamrick asked the four to assist in developing a
      virtual machine system for the 145.  ?We obtained the
      architectural specifications of the 370 advanced functions and
      together developed the initial code?, notes Adair.

      Two prototype systems resulted: one to provide virtual 370s on
      the 67 (required for testing, since the advanced hardware was not
      available), the other to provide virtual machines on a

      A critical test of the modified program came whenAuroux
      travelled to Endicott to try the program on a prototype Model
      145.  ?That was one of high points?, recalls Salisbury.  ?Auroux
      loaded the disk pack onto theengineering model, a computer that
      had never run an advanced function operating system, and the
      system ran successfully.  It demonstrated that software could
      be developed on a virtual machine for hardware not yet produced.?
      After that, use of the modified CP-67 programs spread to several
      locations where development activity was underway.

More of the bloody history of how IBM was dragged into time sharing is
outlined at:

(as always veracity is dubious at best).

Yes, history is hard!

I think it's hard to get across how alien a concept VM was to those
like me who came from small(er), interactive computers.  IBM systems
were large, and expensive, were great at doing bulk disk I/O (rigidly
laid out on disk), but terrible (or at least uninterested) in handling
anything as interactive as character at a time terminals.

VMs on commodity hardware didn't gain traction for maybe a quarter
century after the original "CP/CMS" work.

More information about the cctech mailing list