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.
also
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.)
and
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:
http://www.leeandmelindavarian.com/Melinda/25paper.pdf
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
staff.
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
System/370.
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:
https://en.wikipedia.org/wiki/IBM_System/360_Model_67
https://en.wikipedia.org/wiki/IBM_CP-40
(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