-----Original Message-----
From: cctalk <cctalk-bounces at classiccmp.org> On Behalf Of Peter Coghlan
via cctalk
Sent: 25 May 2020 08:10
To: General Discussion: On-Topic and Off-Topic Posts
<cctalk at classiccmp.org>
Subject: Re: history is hard
On Sun, 24 May 2020 at 19:24:31 -0400, Bill Gunshannon wrote:
On 5/24/20 5:30 PM, Peter Coghlan via cctalk
wrote:
>
>
> CP/67 or something like that maybe? I don't think there was a VM/360
either.
There was VM/370 in 1980. I worked under it from May to August.
Hosted on a 4331 at Ft. Ben Harrison, IN. The launch of the Mainframe
and COBOL facet of my career and life.
A variant of VM/370 Release 6 is running here in front of me under Hercules
running on VMS on a DEC Alphaserver 800 from 20+ years ago.
I used to think that was a bit special but now one of the other guys whose
system is on an NJE network with mine is running VM/370 under Hercules on
a mobile phone.
Many of the source file dates in VM/370 Release 6 are in 1978. Some might
say that Release 6 was the "last" VM/370 but that word is just as difficult to
pin down as "first" and the devil is in the detail.
Release 6 seems to be the last freely available release of VM/370 though.
There were one or two more updates for VM/370 but I think those were
charged-for software and just after that the name was changed. If I have the
sequence right, it went through a succession, of being called VM/SP, VM/XA,
VM/ESA and is known today as z/VM.
Under the covers though, it's all the same stuff as VM/370 and it looks like
VM/370 wasn't even the original name for it.
Early on there was CP/47 and CP/67 which ran on the 360/47 and 360/67 respectively.
In these systems the end user operating system, CMS, would also IPL (load) on bare
hardware.
Modern CMS won't do this. It needs some CP services to run.
I would disagree with Peter over the "same under the covers".
VM/370 on early 370 Hardware was a pure software hypervisor.
With 370 hardware the Hypervisor (CP) is able to hide the CPU's privileged or
supervisor state from the machine in the VM.
All attempts to read this state result in a Privileged Exception. CP runs all VM's in
user mode. When a VM switches to supervisor state CP merely makes a note in a control
block.
The VM still runs in user mode, and CP has to simulate any privilege mode instructions it
executes.
As time progressed "Hardware Assists" were added so that the microcode performed
some of the functions formally carried out in CP.
When running a "real" OS such as MVS which spends a lot of time in supervisor
state, this generates a lot of CPU overhead.
The assists help by allowing a guest to execute some privileged instructions without
involving CP and reducing any CPU overhead.
However, from XA onwards this approach is not possible. In 370/XA mode the machine state
can be read by non-privileged programs.
IBM also provided a new microcode instruction Start Interpretive Execution (SIE) which
allows CP to run Virtual Machines with much less overhead.
Whilst I believe much of what SIE does evolved from the assists, to me it?s a
fundamentally different way of running the machine.
Virtualization is now delivered by the Microcode not the Hypervisor..