Next: Magnetic tape I-O interface
Up: ECS SYSTEM I-O FACILITIES
Previous: ECS SYSTEM I-O FACILITIES
The multiplexor interface was designed to present each TTY as a
separate device. The TTY was run in full duplex mode, with an echo for
each typed character. This permitted a visual check that the character
had actually been received by the computer. Wherever possible the echo
was done by the PPU itself. Logically, this echo should be provided by
the receiving process when it receives the character. The process can
then do special purpose functions, such as echoing a different
character than it received, or not echoing at all. These functions are
useful when interpreting non printing control characters as special
signals, and when receiving passwords. Also, the echoes can appear at
appropriate places in the output of the process.
It is desirable, if possible, to echo a character immediately after it
is typed, since unexpected delays in the echoes are unnerving to a
user at a teletype. Unfortunately, it is very expensive to permit a
user process to echo each character as it is typed.
The PPU had tables of 'break' characters, one table associated with
each TTY. If a character arrived from the TTY that was not a break
character it would be automatically echoed. If it was a break
character, it would not be echoed, subsequent characters also would
not, and a signal would be sent to the process involved. Furthermore,
if a character arrived from a TTY while ordinary output was in
progress on that TTY, the echo would be prevented and a signal for the
first such character sent to the user process. Thus characters typed
during output could be echoed by the receiving process at the time it
actually received them.
As characters were received they would be packed into one word buffers
held in central memory, and a central action would only be required
when the one word buffer filled, or when a break character arrived.
Thus we attempted to hand the full duplex facility of a TTY to a user
process, and still keep the number of interactions low. Except under
unusual circumstances, interactions with a central program would occur
only once per one word buffer. Thus the number of interactions was
reduced by a factor of five (the number of raw teletype characters
which could be held in one central memory word). The central program
itself transferred the words to and from a buffer in an ECS file, and
only interacted with the user process when that buffer was full or
empty, another reduction. (Of course, there had to be interactions for
break characters etc.)
Next: Magnetic tape I-O interface
Up: ECS SYSTEM I-O FACILITIES
Previous: ECS SYSTEM I-O FACILITIES
Paul McJones
1998-06-22