history is hard

Dave Wade dave.g4ugm at gmail.com
Mon May 25 03:49:08 CDT 2020

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

> Regards,
> Peter Coghlan.


> >
> > bill
> >

More information about the cctech mailing list