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.) It was used by many customers who had purchased 360/67's.
The 370/67's instruction set didn't need to be tweaked at all to run a
virtualization (although it had added hardware to do virtual memory, which
CP/67 needed); the '360 Principles of Operation' was defined in such a way
that it could be virtualized. (Unlike, say, the PDP-11, where a RESET
instruction in User mode is a NOP, and does not trap). All that's needed is
the virtual memory hardware, because otherwise the real addresses of the
underlying machine have to be exposed to the virtual machines.
CP/67 was preceded by two earlier iterations: CP/40, which ran on a special
360/40 which has been hacked to have paging hardware added; it was likewise
almost identical to CP/67 (a hacked version of CP/40, with the memory
management of the 370/67 substituted for the special 360/40's, was booted on a
360/67). An older system, M44, which was similar in functionality (although
not a perfect virtualization of the underlying machine), it ran on a modified
7044.
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.
Full details in "VM and the VM Community: Past, Present and Future",
by Melinda Varian.
Noel