The April/May 2007 issue of z/Journal (http://zjournal.tcipubs.com/issues/zJ.Apr-May07.pdf) has an interesting article by Philip H Smith III entitled, “The state of IBM mainframe emulation”. Emulation is a way of letting hardware run software that shouldn’t be able to run on that hardware! It’s an extra layer of code between the operating system and the hardware. The operating system sends an instruction and the emulation software converts that instruction to one that the existing hardware can understand. The hardware then carries out the instruction. Any response is then converted by the emulator into something that the operating system would expect, and the originating program carries on processing unaware of the clever stuff that’s been going on. Often there is a native operating system involved between the emulation software and the hardware, but not always.
Philip talks about FLEX-ES from Fundamental Software. Its business partners offer integrated FLEX-ES solutions on Intel-based laptops and servers. It means that developers can test mainframe software on a laptop. It works by running as a task under Linux, and FLEX emulates a range of devices including terminals and tape drives. FLEX also sell hardware to allow real mainframe peripherals to connect to the laptop, and PC peripherals that can emulate their mainframe counterparts. There is currently a legal dispute between IBM and Fundamental Software.
There was also UMX technologies, which offered a technology that was apparently developed in Russia. This company arrived in 2003 and disappeared in 2004.
Hercules is an Open Source mainframe emulator that was originally developed by Roger Bowler. Hercules runs under Linux, as well as Windows and Mac OS X. IBM, however, won’t license its operating systems for Hercules systems, so users have to either run older public domain versions of IBM operating systems (eg VM/370 or OS/360) or illegally run newer operating systems.
Platform Solutions has a product called the Open Mainframe, which provides a firmware-based mainframe environment on Intel-based hardware. It is built on intellectual property from the time that Amdahl offered a Plug-Comptible Mainframe (PCM). It’s not a complete solution because it doesn’t support the SIE instruction, with the result that z/VM won’t run. However, z/OS and z/Linux work OK. Open Mainframe runs straight on the hardware, it doesn’t need an operating system. Unsurprisingly, perhaps, IBM’s and PSI’s legal teams are now involved.
I also found Sim390, which is an application that runs under Windows and emulates a subset of the ESA/390 mainframe architecture. Its URL is http://www.geocities.com/sim390/index.htm.
I hope Philip H Smith III won’t mind me borrowing from his article, but there are two very interesting points leading on from this. One, and Phillip makes this in his article, is that if mainframe emulation is available on laptop, it is easier to use and more likely that younger people (remember that awful bell-shaped curve showing the average age of experienced mainframers and COBOL programmers) will want to have a go.
The second point is that emulation is only a short step away from virtualization, which I’ve talked about before. Wouldn’t it make sense (from a user’s point of view) if they had one box of processors (Intel quad processors, P6s, whatever), and they could then run all their operating systems on it? The virtualization software would also be the emulation software. It could run Windows, Linux, z/VM, z/OS, etc on it. If a user’s needs were simple, it would be a small box with few chips and not too many peripherals. If a user’s needs were complex, it would be a big box with lots of everything. Virtualization is appearing everywhere, I can quite easily see it absorbing the concept of mainframe emulation (IBM’s legal team permitting, of course!).