What is a Mainframe Computer?


Mainframe An obsolete device still used by thousands of obsolete companies serving billions of obsolete customers and making huge obsolete profits for their obsolete shareholders. And this year's run twice as fast as last year's.

Below are two sections. One on what mainframes are, the other on mainframe programmers.
The first thing you need to know about mainframes is that they are designed for a different purpose than many modern computers. Today's computers are all about the speed and power of the processor. Occasionally a PC will hang in a wait cycle and sometimes they even crash.
Mainframes on the other hand are about reliability, availability and serviceability (RAS).

  • Reliability: This word is used both in the hardware sense (they keep running) and in the data sense (data corruption is mind-freaking outrageously rare). See my notes below on WHY this is true.
  • Availability: Mainframes have something called "five nines" availability which means that a mainframe's "up time" factor is 0.99999 or put in plain English, a mainframe can run non-stop 24x7x365 supporting thousands of simultaneous users for a full year and can reliably be counted on to not be "down" for more than about 5 minutes total for the year.
  • Serviceability: A mainframe is built with many custom designed circuits, each focused on a special task. If some part starts to fail, the problem will be sensed automatically and another circuit will take over and the system operator will be notified. If the problem circuit needs to be replaced, it usually can be done so while the computer keeps on running.

Modern computers start with a generic Central Processing Unit (like the x86 series) and the OS software is written using the existing CPU codes. But the reason WHY mainframes are so solid is because the hardware and software are co-designed.

If the operating system needs to continuously do a complex task in a PC then a routine is written and called by the CPU which does all the work. But in a mainframe if the demand for it is high enough sometimes a specialized circuit is designed and installed dedicated to that task. For example in some modern mainframes there are specialized circuits just for encrypting and decrypting data and other circuits just for executing Java code. There also are special circuits for talking to disk drives and printers so the CPU doesn't get tied up in trivia. And of course there is a ton of special circuitry designed to prevent data corruption. In a modern PC all of that is done by the CPU.

The closest thing we have to that in PC's are (1) math co-processors and (2) graphic co-processors, both relatively modern inventions for PC's but mainframes were doing this kind of stuff more than 50 years ago.

One last thing, the greatest strength of mainframes in how they are used is something called massive parallel transaction processing. This is the ability for a single mainframe to communicate with tens of thousands of users and/or other systems all at the same time. Think about all those debit card point-of-sale systems at virtually every store/gas-station/restaurant you shop at. All of them talk to a mainframe every time someone swipes a card and an answer is returned usually in less than a second after searching through billions of records.