Sunday, March 20, 2005
Want to know something about mainframes?
Great site for an introduction, explains the strengths and weaknesses, or so I think. I've linked to an explanation of what makes 3270 terminanls so danged weird.
Most terminal environments are truly real time. Every time you make a key-press on a *NIX (or VAX or Windows) keyboard, it causes an interrupt in the computer. Although this is a burden on the CPU, it allows the receiving program to do all sorts of clever things immediately in response to the keypress. Perhaps an immediate spelling correction, perhaps a clever tabulation or screen reveal etc etc. The 3270 can do none of these things because only a very few key presses actually cause an interrupt at the CPU. Why? Because the 3270 was introduced at a time when even large mainframe computers were not particularly powerful by modern day standards and also because IBM (the company) thought in terms of minimal CPU use for maximum output, and functional separation of I/O workload through the use of the channel mechanism. The IBM channel (although IBM were not the first to deploy channels - that accolade goes to SDS) exists to relieve the main CPU of the burden of I/O. A limited intelligence "computer" in its own right, the channel executes a channel program passed to it by a Mainframe program and interrupts the Mainframe CPU when the channel program completes (it's a lot more complicated than this but in general terms, this is what happens).
The 3270, only interruptsthe CPU when an "action" key is pressed. The action keys are the Enter key, the Program Function (PF) keys (usually only 12 but sometimes 24), and the six Attention keys (PA1, PA2, PA3, Attention, Clear and System Request). The rest of the time keystrokes are simply recorded in the 3270's buffer. Incidentally, only Enter and the PFKeys actually transmit screen data, the Attention keys simply transmit an identifier to indicate which one was pressed.
Essentially, the operator fills up the buffer with keystrokes and then sends the whole lot for processing at once by hitting one of the action keys (usually Enter). Because of this, the Mainframe CPU is taking no load while the operator is entering data, allowing very high numbers of users per CPU MIP. In this way large data centres back in the '70's and '80's could (and did) sustain huge populations of 3270 users on relatively meagre compute power.
Most terminal environments are truly real time. Every time you make a key-press on a *NIX (or VAX or Windows) keyboard, it causes an interrupt in the computer. Although this is a burden on the CPU, it allows the receiving program to do all sorts of clever things immediately in response to the keypress. Perhaps an immediate spelling correction, perhaps a clever tabulation or screen reveal etc etc. The 3270 can do none of these things because only a very few key presses actually cause an interrupt at the CPU. Why? Because the 3270 was introduced at a time when even large mainframe computers were not particularly powerful by modern day standards and also because IBM (the company) thought in terms of minimal CPU use for maximum output, and functional separation of I/O workload through the use of the channel mechanism. The IBM channel (although IBM were not the first to deploy channels - that accolade goes to SDS) exists to relieve the main CPU of the burden of I/O. A limited intelligence "computer" in its own right, the channel executes a channel program passed to it by a Mainframe program and interrupts the Mainframe CPU when the channel program completes (it's a lot more complicated than this but in general terms, this is what happens).
The 3270, only interruptsthe CPU when an "action" key is pressed. The action keys are the Enter key, the Program Function (PF) keys (usually only 12 but sometimes 24), and the six Attention keys (PA1, PA2, PA3, Attention, Clear and System Request). The rest of the time keystrokes are simply recorded in the 3270's buffer. Incidentally, only Enter and the PFKeys actually transmit screen data, the Attention keys simply transmit an identifier to indicate which one was pressed.
Essentially, the operator fills up the buffer with keystrokes and then sends the whole lot for processing at once by hitting one of the action keys (usually Enter). Because of this, the Mainframe CPU is taking no load while the operator is entering data, allowing very high numbers of users per CPU MIP. In this way large data centres back in the '70's and '80's could (and did) sustain huge populations of 3270 users on relatively meagre compute power.