So many VM’s, so little time – hercules

As well as the normal intel VM engines I mentioned earlier (although qemu also does sparc and powerpc) there is one other emulator that does need a mention.

This is the hercules emulator.This is the emulator for mainframe geeks, which I used to me and now with hercules are becomming again. The hercules emulator emulates hardware or to be precise the IBM big iron hardware.

As it emulates the hardware it is able to run unmodified all the software designed to run on this hardware. Thats pretty much everything on a 360 or 370 architecture really. Even z/OS ifyou can afford IBMs licensing (and have the memory and terabytes of disk available I suppose).

Some of the older IBM operating systems are publicly available. I have settled on running MVS 3.8J at home as that is the one I am most familiar with, it has the appropriately very early versions of JES2, VTAM and TSO so is more than usable. Under hercules I have also installed and got running (thanks to the many websites dedicated to older OS’s on hercules) both OS/360 and VM/370; trouble is I didn’t know what to do with them really.

While unfortunately it is incredibly hard to find documentation on where all the control blocks users are not supposed to play with, that I want to play with, for such an old operating system, there are a lot of sample programs that yield some information on the CBT tape site if you are willing to spend the time. And if you are not the sort to play with control blocks the majority of 370 assembler batch programs assembled and tested under MVS3.8J will compile unmodified on the zOS systems of today (maybe add an amode 24 but thats about the only change, mvs3.8J is prior to IBMs 31bit addressing implementation). So you can productively use it for your real job if you want to bother.

While MVS3.8J for me then. As I noted in the prior paragraph it is also the one I am most familiar with, it is the one I was trained on as both an operator and assembler programmer. I even briefly dabled with cobol on it. And this has it all, the assemler (H), cobol, PL1, fortran, clist [all very early versions of course, no rexx] and some of the enthusiests who know  a lot more about it than me are even porting gcc and creating a tcpip stack for it. It has a real future :-).

I have used this under windows, although it now has a dedicated home on one of my linux servers where it runs a lot better. I found windows xp has probs multithreading in a heaviliy loaded environment, linux doesn’t (update:2008/12/12-latest windows native version 3.05 runs well on a dual core system, havn’t re-tested on a single core system).  And I use it a lot now I have got all my automation sorted out, it provides endless hours of fun and frustration.

I don’t know if I will blog any more about this though. I like it so much I have a dedicated section of my website for it so you should refer there for the links to obtaining it and the operating systems, as well as to see what I have been doing on it.

And one new edit. Forgot to mention, MVS3.8J is a really old OS, so it runs in very little memory (16Mb I have set and I’m not sure it uses more than 1Mb) and has no virtual disk image larger than a 3390-1 if you apply the patches to take it above a 3350. So my system at home has lots of disks (2314/3330/3350 and one 3390 I have been backing things up on) but they use virtually no space, and did I mention they can be compressed disk images as well.

About mark

At work, been working on Tandems for around 30yrs (programming + sysadmin), plus AIX and Solaris sysadmin also thrown in during the last 20yrs; also about 5yrs on MVS (mainly operations and automation but also smp/e work). At home I have been using linux for decades. Programming background is commercially in TAL/COBOL/SCOBOL/C(Tandem); 370 assembler(MVS); C, perl and shell scripting in *nix; and Microsoft Macro Assembler(windows).
This entry was posted in Virtual Machines. Bookmark the permalink.