Test Plan Charlie Unplugged: An Interview with David Boyes - page 2
Meet David Boyes
How did this lead to your work with Linux on System/390?
Linux by itself, as a technology exercise, is an interesting hack. It's a lot of fun to play with. In terms of sheer inventiveness, it's a really neat piece of work. But in terms of real world scenarios, there are going to be places where it's not the right tool. In order for Linux to be successful in the enterprise, it's got to operate in an ecosystem where there are different kinds of tools. It provides a sort of mediation layer, where what it is presenting is a way to move information through an enterprise, and possibly some point solutions. Linux helps you glue all that stuff together so you can present a unified solution.
That's what intrigued us about Linux 390. From an enterprise perspective, there is little question that System/390 is the most reliable system in existence. If you look at where enterprises store their critical data, it's not on UNIX systems. It's on the S/390. After 30 years of 'the mainframe is dying', 70% of the data is still on the mainframe. The idea of Linux in this environment, especially when combined with VM, represents a way that you can get enterprise access to this huge amount of data in a way that doesn't involve teaching OS/390 all these tricks. OS/390 is really a batch system with interactive access bolted onto the side, and I mean that in the Frankenstein sense of bolts sticking out of the side of its neck. It's not really what it's made to do. IBM has made it better over the last decade, but it was a fight.
You have often praised IBM's VM operating system as a hypervisor environment for Linux. For readers who aren't mainframe gurus, can you explain the difference between LPAR, VM, CP, and CMS?
The idea with a piece of mainframe hardware is that it's a fairly expensive box. In most cases an organization is going to try to divide that expensive resource so that they can apply pieces to different problems simultaneously. One of the things IBM does to support its OS/390 operating system is to physically divide the system into partitions. You can assign resources like memory or I/O or CPUs into logical partitions, or LPARs. The hardware has the ability to do that. It's fairly static.
In 1964, IBM was developing a new machine, the 360/67. The hardware didn't exist yet and they wanted to get a running start on the operating system but didn't have any hardware to test on. They developed a simulator, in a multitasking environment, so that they could have several developers working on it at the same time and they wouldn't have to compete for one development machine. They took a lot of care with this, and the simulation was so good that the first time the hardware appeared it was basically a no-break environment. When they ran on the real hardware, it worked the first time. That simulator was what became VM.
The original IBM systems were batch systems. Someone had the idea about what if you put into one of these virtual machines a basic environment for a user -- an editor and so on, so that each person could have their own computer. The idea was to write a tiny, very interactive support environment so that it was friendly for users to work with. It gave them the warm fuzzy tools to edit source code and send files to each other. It became called the Conversational Monitor System, or CMS. CMS became the de-facto environment. It's an operating system that runs in those virtual machines. Up until about version 3 it would run on the bare metal, but it became more sophisticated and no longer runs on the bare hardware.
The idea that you create an operating system that runs in a virtual machine is a very powerful idea. That can be extended to run a different operating system, which is what we did with Linux. It's a different environment that happens to be running on the same physical machine.