8

I have searched (googled) a lot but nothing answers me clearly. From what I get, "huge" computers with "many" CPUs running "legacy" software written in "legacy" languages are mainframes and the programmers "maintain" them.

I am confused. Firstly, could a cloud be considered a mainframe or if I built a system with 23 cpus with oodles of RAM and disk space would it be a mainframe? And what about the programmer's job?

So here I come to this place that has a reputation of giving quick and relevant replies. Please explain. :)

3
  • A cloud will never be a mainframe. They do drastically different things. May 12, 2011 at 10:04
  • 4
    a cloud is a redundant array of inexpensive systems. A mainframe is one VERY large terribly expensive system with massive amounts of , well, everything
    – Journeyman Geek
    May 12, 2011 at 10:39
  • 1
    Mainframes can RUN clouds. They can have thousands of virtual servers running simultaneously. Sep 28, 2011 at 12:23

8 Answers 8

9

MAINFRAME: noun. 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. (from The Devil's IT Dictionary)

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.

The bottom line: Unless something goes very VERY seriously wrong (and even then it is usually caused by human error) mainframes don't hang and they don't crash. The data they handle is accessed quickly and accurately. They are called "big iron" for a good reason.

See http://www.mainframes360.com/2009/06/what-is-mainframe-computer.html and also http://www.wired.com/2015/01/z13-mainframe/ for more information.


You also asked about programmers "maintaining" the computer...

Mainframes have two different kinds of programmers. The first kind is what you are used to, application programmers. These are the folks who write using COBOL and C++ and JAVA to work with databases and reports and stuff like that. The other kind are called system programmers and their job is to maintain the operating system and monitor the hardware.

Legacy code is simply code that was "inherited" from previous generations of programmers. It is good solid code that works and because it works the companies that use it would rather not replace it with "new" code that might have bugs. Like all software things happen that require the code to occasionally be modified and that is where programmers who specialize in legacy code are needed. They know these old languages and systems and that knowledge is valuable to companies that use mainframes and other kinds of older computers.

Every single PC user has a unique combination of applications and hardware. Yet Microsoft sends out periodic one-size-fits-all "updates" to Windows and you either accept or reject them. Same thing with some of the various Linux distros. And sometimes those updates cause problems because they don't work right with your hardware and software.

A mainframe is like an airplane, it makes money when it works and it loses money when it doesn't. A mainframe is incredibly expensive to have sitting idle or crashing due to a bad update and companies who operate them cannot afford "problems". So they have system programmers to prevent those problems.

The job of a systems programmer is to analyze the OS updates (patches) from IBM and test them BEFORE installing them to make sure they do not cause problems on that particular machine. They actually examine parts of the source code of the updates and compare it against their company's hardware and software configuration. If needed they will work with IBM to customize the update so it will work safely with their unique system.

The system programmer has to know every application that is installed and every piece of hardware that is connected. He or she is responsible for anything and everything that changes on the system.

This is a small part of what a systems programmer does, and the typical training period for an expert systems programmer is 10 to 20 years.

See https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysprogrole.htm for more information.

3
  • So it seems that it's impossible for one of 30+ age to enter the role of system programmer as a newbie... Aug 15, 2019 at 0:51
  • 1
    @NicholasHumphrey - I think you misread my comment on the duration of the training period ... I said it takes 10 to 20 years to become an EXPERT systems programmer. There are many people who became junior system programmers at an early age under the guidance of more experienced senior system programmers and over time acquired the valuable skills needed to be promoted and trusted with the company's mainframe systems.
    – O.M.Y.
    Sep 1, 2019 at 21:22
  • 1
    @NicholasHumphrey - If on the other hand you are suggesting that age 30+ is too old to start, I disagree. Provided you have some programming skills and maybe some hardware skills you could still be a good candidate. Having maturity at 30+ means you are less likely to make stupid errors, more likely to focus better, and overall be more responsible. Many Sr SysProgs are retiring and SMART companies would welcome having a Jr SysProg with even five years of training before they lose their expert to the golf courses. If you are interested then go for it aggressively because the clock is ticking.
    – O.M.Y.
    Sep 1, 2019 at 21:46
4

The mainframes I used to work on allocated CPU priority levels and RAM to dumb terminals which, in effect, acted like computers in their own right. In this way, many users could run programmes on the same computer without interfering with each other. The mainframe hardware consisted of several PCBs, each with it's own function. The central processor could consist of more than one board e.g. registers, arithmetic logic unit, floating point processor, etc.

3
  • Until P2SC came along, which moved them all onto one chip. May 12, 2011 at 10:28
  • 2
    The danger here is that I could start droning on about paper tape, mag core and 57Mb washing machines. It could all end up in a Monty Python style debate... :)
    – Tog
    May 12, 2011 at 10:37
  • @Tog ... spoken like a true dinosaur. :)
    – O.M.Y.
    Aug 29, 2016 at 15:28
4

Wikipedia's official definition is to be found in Mainframe computer.

A few decades ago, a mainframe was simply a non-portable computer, sitting in its own cupboard with all its peripherals around as well as air-conditioning. But these physically large computers did not have even the computing power of today's notebooks.

Since then, these large mainframe CPUs were replaced by multi-CPU frames, sitting (again) in their air-conditioned cupboard.

Finally (don't laugh), my own definition for a mainframe would be : "A non-portable computer requiring air-conditioning". In my opinion, air-conditioning is left as the only reliable identifier for a mainframe.

As regarding "legacy" languages, many of them are still much more in use today than "modern" languages. COBOL still makes the world go around, not C++. You should define these simply as "languages that were invented a few decades ago". Many of these got quite a few face-lifts in the meantime, so today are not all that antiquated.

image

9
  • "(don't laugh)" Sorry, couldn't help it. May 12, 2011 at 10:53
  • So my android smartphone kept under AC would also be a mainframe :) Seriously though, what about the programmers' job? I am just unable to imagine what "maintanence" means.
    – Rama
    May 12, 2011 at 10:53
  • Your android smartphone doesn't need AC in order to function. Maintenance is the same as in any other computer, except more complicated because of having more hardware and larger programs (more lines of code), and whose original programmers have got a very good chance of not still being around.
    – harrymc
    May 12, 2011 at 11:09
  • Any group of racks filled with rackmount kit in a server room will need HVAC though.
    – paradroid
    May 12, 2011 at 11:48
  • @paradroid: A group of racks is not defined as "a computer". For the moment, my funny definition still holds :)
    – harrymc
    May 12, 2011 at 12:20
2

I've always referred to, as do the programmers around me that work on it, a mainframe being our IBM iSeries. A main server (we have 2) with remote stations connecting to it as terminals. In our environment, the remote terminals are Windows XP Embedded thin clients running IBM iSeries Access and the programming language used on the iSeries is RPG.

From the very little I understand, it ships with more processors than we use (CPU on demand) - jobs can be batched and assigned a priority. This is a the typical green screen banks use, although we use all 16 colors to make things easier to read and we have some mouse click functionality in the screen.

We're in the process of migrating to a new one, that came in its own IBM branded rack (the old one was just a standing floor model).

iSeries Access is just a glorified telnet program (I've connected to it over telnet via my Mac) and my website connects to it via ODBC. Aside from iSeries Access (being a windows program) there is no GUI. Its all what looks like a command prompt. iSeries Navigator exists, but we don't use it (this would be the closest to a GUI that we have)

I've worked for 2 banks in the past and they all used some form of machine like this from IBM. Before we purchased this new rack, we considered moving to a blade system but that would have required much more migration time than we liked. Our iSeries admin ust to work for a casino and they had an entire room dedicated to multiple rack systems. In our industry, there is 1 other competitor, and its Intel based. Our application is written in house and was written for IBM and RPG.

The "i" is a class - theres are others; zSeries comes to mind.

-Mario

2

The term mainframe generally refers to large systems designed by IBM at the beginning of commercial computer manufacturing. It was a first of a kind system built for business to host their applications and carried a value proposition that programs written today would run unchanged into the future. Ostensibly preserving the value of the programming investment.

There are different opinions but when most people refer to the mainframe they are thinking of IBM Z hardware (known as zSeries) and the z/OS operating system.

zSeries has undergone some radical changes since it was first conceived and delievered in the 60's. Then it was know as the 360 architecture which evolved to 370 and now 390 hardware architectures. It also hosted a number of operating systems including VSE, TPF, z/VM (the original hypervisor for hosting multiple operating systems on the same hardware simultaneously). The big dog is z/OS which evolved from MVT -> MVS -> MVS/SP -> MVS/XA -> z/OS. This Operating system was built to be highly resilient and in some shops the Operating System might stay running for years before being brought down and up (IPL'd).

Over the years z/OS has embraced languages and runtimes other than CICS or IMS running COBOL programs. Today z/OS runs Java, Node, as well as a bevy of common tools and services seen on other platforms like Python, Perl, among others.

In a nutshell, the mainframe is a piece of technology that has been in users hands for over 50 years, continuously innovated on and incorporates the technologies that matter to business'. It can be clunky if you use the old terminal emulators but it also sings when interfaced with using REST APIs.

What can you do? Better stated, what can you not do ?

1
  • Mainframe is a large-scale computer made by IBM since 1952. It is referred as Big Iron. The term referred to the large cabinets called main frames large number of contains CPUs and I/O devices.
  • Most mainframe computers are sold by IBM with z/OS. z/OS is a 64-bit operating system for IBM mainframes, produced by IBM in 2001.
  • Mainframe computer that support thousands of applications serves thousands of users simultaneously.
  • Companies use Mainframe to host commercial databases, transaction servers and applications.
  • z/OS running on IBM's System z platform has been quietly running critical systems for decades, providing excellent performance, reliability and security. However many organisations are being wooed by UNIX, with its promise of lower costs, ease of use, and wider acceptance.
-1

I consider a mainframe any big system that relies on the client-server/terminal model. That is there is a big computer which does all the computations and terminal for each user which only serves to connect to the mainframe.

2
  • 1
    This is not really all that close to correct. May 12, 2011 at 10:06
  • Maybe in 1973 that was true, but not anymore. Sep 28, 2011 at 12:24
-1

Mainframe is made up of several multiprocessors, vector processors and Massivelly Processors(MPP) connected thru very large scale interconnected bus has the capability to process mulit-processing fuctions and to having RAM and ROM having much capibility to send and receive the Data at much hi speed. Programs in Mainframe are mostly Register oriented has multi-level programs

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .