> 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.
