> 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