VM370 was pretty good.  Of course it was not built as an OS but as a
hardware emulator.  (IBM initially built it because they couldn't afford a
mainframe for every development group, hardware and software, to use.)

I was a sysprog for several years at a big company where we had thousands
of users logged in and mainly active running anything from CMS to MVS under
VM. (CMS was a single user simple OS that most interactive users used.  We
often ran entire VM systems second level to do production work especially
for disaster recovery testing, testing new releases of VM or other systems,
or on rare occasion for better computing security.

VM took about 5% of the hardware 'bandwidth' to run the VM.  But like was
mentioned it was very efficient at virtual memory.  To test, the most VM I
ran under VM was 6 levels deep.  Even with a nice size mainframe, it was
terribly slow at that many levels of VM running under each other.

But like was mentioned for VS1, most OSes could detect that they were
running 'second level' (or further) and passed back up to the top level VM
to actually handle the paging/swapping (and there was a difference back
then).

VMs were not new with IBM either. I think it was Burroughs that used them
and published on it way before IBMs VM came about.

Oh, and to let the secret out, the way IBM did VM was to use a 'diagnose'
instruction which was officially an un-authorized machine language
instruction so it generated an interrupt and an interrupt service routine
took over (just like would happen when there was a I/O operation end or a
hardware timer go off, or violating virtual memory boundries).  The
interrupt service routing looked at the instruction and the byte or two
after it in the 'user memory' to determine if it was a 'real diagnose' or
'a user problem', and took appropriate action.  The diagnose was initially
an instruction used by the IBM CE (customer engineer) in their hardware
diagnostic programs, but the software guys got in on the act too.

Oh on each mainframe we typically ran around 2000 CMS users and a MVS or
two for batch or to take care of SNA networking.  RSCS was another virtual
system that ran the network communications.  VM did it's own spooling and
driving of printers and such directly, but it could let guest operating
systems like MVS or VS1 deal with it too.

And yes, we had a source code license, and we did no occasion read the
source code. There were many places in the source that the documentation
was not 'kept up' or did not describe what the code really did, so we still
had to be able to read the assembler.  Most of VM had been rewritten from
assembler to SPL (System Programming Language, similar to PL/1) by the time
I got into the arena in the early to mid 80's.

My first UNIX was running Amdahl's UTS under VM.  A different animal when
working on block mode terminals.  We did bring up UTS on first level a time
or two for play, and it did scream.  In those years we did a lot of seismic
processing on Perkin-Elmer machines (small IBM 360 type clones), and they
ran their own unix-like system but with a more MVS style JES JCL (job
control language) flavor.

One consultant we had on VM over the years was on the initial HASP
development team in Clear Lake City at NASA.  NASA had a lot of big iron
mainframes in those days, but even their budget couldn't support what IBM
told them they needed, so NASA said they needed a way to share input and
output peripherals (mainly card readers and line printers in those days),
so IBM put together a small team to make it happen.  In just a few months
they did come out with the first cut of HASP (Houston Automatic Spooling
Program).  It basically ran all the cards to disk, then fed them to
computers (not just 1) on demand.  And took the 'printer output' as
generated on each computer and saved it to disk till the job on the other
computer was done, then put it in a print queue.  Saved a lot of hardware
and IBMs collective butt at NASA.  IBM was almost thrown out over it, but
HASP saved the day, and went on to be a big cash cow and saved mainframes
for many years.  It eventually was 'virtualized' and rolled into the basics
of JES in its flavors (Job Entry System that also handled spooling
printouts, and job control networking).

Ahh, memories.
_______________________________________________
Discuss mailing list
Discuss@blu.org
http://lists.blu.org/mailman/listinfo/discuss

Reply via email to