Seapegasus Blog

Java, linguistics, scifi, steampunk, games

These are notes from a z/OS and Mainframe basics class I took in August. I’m no expert and if I got something wrong, feel free to leave a comment.

I remember “a weird, huge server” at university. One of the admins proudly showed me how he could pull out drawers and reveal individual chips if they ever needed replacing. The server adjusted automagically and kept using the remaining resources without batting an eye. I don’t recall what he said it was called, but now I believe it was a mainframe. (*)

Mainframes are huge enterprise systems that manage I/O intensive tasks like census statistics and ATM transaction processing (the most common example given). You have likely been using a mainframe when withdrawing money from your bank account, and you never noticed. A good mainframe is an unnoticed mainframe.

But wait, aren’t these “unnoticed computers behind the scenes” called servers? One difference between a server and a mainframe is that mainframes are highly optimized for integer operations, and I/O intensive tasks (i.e., accessing huge databases fast). The term server also rather refers to a type of task, and not always to a certain type of physical appliance. For instance, IBM calls many of its mainframes “enterprise servers”. And colloquially, we call many small linux boxes web or mail server — etc.

One distinguishing feature of a mainframe system is that it is more reliable than other types of systems. Mainframes are used in situations where you need the system to be available for decades, without any downtime… This is why many parts are redundant, and sensors check their availability constantly. If something fails, the admin hot-swaps the part (memory, hard drives, CPUs) while the system is powered on and running unfazed with the remaining parts. Don’t try that with your web server. :-)

The general rule goes “If you can pick it up, it’s a PC. If you can push it over, it’s a mini. If you cannot push it over, it’s a mainframe.” In other words:

Mainframe >

mid-range or mini computer (e.g. PDP, SPARC enterprise) >

Server >

micro computer (PC, Mac)

Although I would think that the IBM dudes would be less than thrilled if you actively tried to discern their hardware with their funny “push over” method.

Speaking of IBM, although there are other companies, IBM dominates mainframe production. The main operating system is z/OS, also referred to by its old name, MVS, which may or may not stand for “man versus system”. I say “main” operating system, since another distinguishing feature of z/OS is to run several operating systems, such as Linux, Solaris, or Windows, spread out over several partitions and virtual machines.

So in comparison to other OS’s, z/OS may appear quite archaic (more about that later). But there is a reason for this apparent lack of evolution since the 70ies: If a complex enterprise task is defined once, you don’t want to mess it up. Certain fields of business cannot afford to upgrade and rewrite their whole back-end process every few years. never touch a running system — unless you need to hot-swap the CPU, of course.

So actually, z/OS is not archaic — the politically correct term is: It’s highly backwards compatible!

(*) PS:

I assume that the mainframe I saw in the mid-2000s must have been from the eServer zSeries family, maybe a z990 or similar. I don’t remember how it looked from the outside, since it stood open to reveal its “drawers”, which I now know are called Memory and Processor Books.