Terminal Choices: The Right Tool for the Job
G. Clark Brown
Introduction
On a UNIX system, the terminal that provides the connection
between
the user and the host can be an ASCII terminal, a workstation,
an
X terminal, a PC, or an AlphaWindow terminal. When new
systems are
set up, or new users are added to existing systems,
a decision must
be made concerning which type of terminals to get.
While familiarity,
price, performance, user preference, and many other
factors may affect
the choice, the first question that should be answered
is: Which type
of terminal will help the user get the job done best?
This article
describes the advantages and disadvantages of each type
of terminal,
then offers a guide for selecting the right one for
your users.
ASCII Terminals
Most UNIX users access the host via ASCII terminals
-- also called
text terminals or dumb terminals. This category includes
models from
Wyse, DEC, Televideo, ADDS, AT&T, Link, and many
other vendors. These
terminals connect to the host through an RS-232C serial
connection
and support text and simple text-based line-drawing
graphics. The
host software uses control characters and escape sequences
to control
the terminal.
ASCII terminals, most of which sell in the $400 to $700
price range,
are the least expensive solution for adding users to
the system. On
the host side, each terminal requires a serial port
that can be provided
through a multiport adapter card or a network terminal
server. No
special software is required, and the text-based programs
that run
on these terminals require the least amount of memory
and CPU overhead.
Some ASCII terminals support color and/or enhanced graphics.
Most
have programmable function keys that make application
programs easier
to use. Only a few have a mouse, and only very specialized
programs
are able to use it. Most allow a printer to be connected
to an auxiliary
port, and many programs will use the "pass-through"
commands
to send output to the local printer.
When choosing an ASCII terminal, look for one that is
supported by
a wide variety of application programs. Writing or modifying
terminal
drivers for different programs is difficult, and can
usually be avoided
if the terminal is a very common type, or emulates a
common terminal
well.
Workstations (X Servers)
On the other end of the scale is the most expensive
type of terminal,
the X Server or workstation. The workstation is a UNIX
host that is
dedicated to a single user. It is connected by a network
to the main
host or to several different hosts. SUN Microsystems
made this type
of environment popular, but workstations are now available
from many
different vendors.
The X interface allows the user to control applications
with the mouse,
to run several applications at once, and to use programs
that display
and edit graphics. In X terminology, the user's workstation
is called
an X "server" because it provides display
services to the
application program.
The workstation does some of the user's processing locally,
thereby
moving CPU and memory usage off of the main host. While
this is not
critical in text-based applications, the graphical X-based
programs
use a large amount of memory and processor time. Since
the load is
shared by the main host and the user's workstation/host,
this topology
is called "distributed processing."
In addition to the expense of the terminal itself, you
must consider
the cost of network connections, network and graphics
software overhead,
and the X support software for the host and the workstation.
X Terminals
X terminals provide the user with the ability to run
X programs, but
they are less expensive than workstations. The savings
can be misleading,
though, because the X server software runs on the main
host. The substantial
per-user burden in memory and CPU usage that this places
on the host
either will require more investment in memory hardware
and CPU power,
or will lead to slow response time for all of the users.
Since X terminals require the host to do most of the
processing, they
must communicate mouse movements, keystrokes, etc.,
back to the host
through the network. The host must then communicate
back detailed
graphics commands to the terminal. Because this verbose
round-trip
conversation takes time, response time for the user
will be much better
on a workstation than on an X terminal.
Personal Computers
Users can also connect to the UNIX host with an IBM
PC-compatible
running MS-DOS or OS/2, or with a MacIntosh. Depending
on their communication
software, and hardware communications connection, such
systems can
be assigned to one of the categories described earlier.
For a PC with a character-based terminal emulator like
Procomm Plus
or ICE-10, most of the considerations are the same as
for the ASCII
terminals. Host impact is small, the emulation software
is inexpensive,
and text applications will run well. This is usually
a good solution
for users who already have a PC, and who need to access
the UNIX machine
independent of their PC work. The only integration between
the local
PC programs and the host is the ability to transfer
files back and
forth (and sometimes to use the UNIX printer from a
DOS program).
A user with a very capable PC (386 with extra memory)
might choose
to get X terminal software, which would also require
the network connection
to the host. In this case, the comments about X terminals
or workstations
would apply.
Application Software
As is true of most hardware decisions, the choice of
a terminal should
be based primarily on the software the terminal is intended
to support.
What programs will the user be running? Will they be
graphics or text?
Will there be large amounts of data entry, or will the
computer be
used as a conceptual tool?
To edit graphics, the user would need a graphics terminal
of
some sort --either the X terminal, the workstation,
or the PC with
X software.
Most software is written for character-based terminals
and will run
on ASCII terminals, on PCs with ASCII terminal emulators,
and in special
"term" windows on X terminals and workstations.
If an application
that requires a lot of data entry is to be run on an
X terminal, you'll
need to test the performance carefully, because some
communication
setups allow a good typist to get ahead of the program
in an xterm
window.
Processor Power
The amount of memory and CPU power available to your
host will significantly
affect your terminal choice. A 33 MHz 30486 host with
16 Mb of memory,
a large hard disk, and the O/S costs $3,000 to $5,000
and will support
10 to 20 users of ASCII terminals (depending on how
much they use
the machine). The same system would support three or
four X terminal
users, or it could be used as an X workstation for one
user (and not
require as large a hard disk).
The RISC and multiprocessor classes of hosts will support
more users,
but they will still support many more ASCII terminals
than X terminals.
Multiple Applications on X
One of the reasons users choose X over ASCII terminals
is the ability
to run multiple applications. You can start a word processor
in one
xterm window and a copy of your database program in
another, then
you can switch between the screens and also move data
from one application
to the other.
X also allows you to "keep your place" in
one program and
switch to another. This means that if you were in an
entry screen
in one window and needed to perform an inquiry on the
same file, you
could switch to another copy of the same program without
having to
finish the entry and go back through the menu system.
Multiple Applications on ASCII Terminals
It is also possible to get the advantages of multiple
applications
on ASCII terminals. Session management software like
FacetTerm allows
you to start several different application programs,
switch between
them, cut-and-paste information, and run long processes
off-screen
while working in another program.
Although it sounds like a resource-intensive proposition,
it actually
uses surprisingly little in the way of resources. The
session manager
itself uses about 350Kb for the first user and about
180Kb for each
additional one. The programs that are running in the
sessions are
usually waiting for user input, so UNIX swaps them out
of memory to
disk as soon as it needs the space for something else.
GUI Look and Feel in X
Users also choose X over ASCII terminals because of
the Graphic User
Interface -- which includes the ability to show all
the applications
that the user is running on the screen. The terminal
has a mouse that
can be used to select a session to work on, start and
stop application
programs, and select system functions from a menu.
This GUI look-and-feel helps solve many of the user
interface problems
that plague character-based terminals and software.
It has a consistent,
intuitive quality that allows users to guess what they
need to do
with the mouse and keyboard to accomplish a certain
operation. It
provides multiple possibilities for the user to choose
from and, in
many cases, context-sensitive help as well.
GUI Look and Feel on ASCII Terminals
The newest possibility on the scene is AlphaWindow terminals.
They
are basically ASCII terminals with additional features
that make them
competitive with X terminals for text-based applications.
AlphaWindow terminals have display management capabilities
for multiple
applications running in virtual terminals. They provide
movable, re-sizable
windows on the screen to give the look of the X GUI
interface. Most
include a mouse that can be used for window manipulation.
Later, the
user should be able to use the mouse in application
programs that
have been improved to run on the AlphaWindow terminals.
In order to support multiple sessions on the UNIX host,
AlphaWindow
terminals require session management software, called
the window manager,
on the host. Like FacetTerm, this program manages the
various application
programs and communicates with the terminal to coordinate
the placement
and contents of windows.
AlphaWindow terminals are more expensive than plain
ASCII terminals,
but still less than X terminals. Again, since they require
only a
window manager and character-based applications, they
put a minimal
strain on the host.
The Final Choice
With all of these possibilities, how do you choose which
terminal
is right for your users? Here is the step-by-step approach:
1. Do the users need interactive graphics in their applications
(e.g.,
CAD, publishing layout, etc.)? If the answer is yes,
then they need
X terminals or workstations.
2. Do the users need access to multiple applications?
If they do,
X terminals or workstations would work, but ASCII terminals
with session
management software would also do the job.
3. Do the users need the GUI look and feel? Here again,
X would
provide that, but you should consider the AlphaWindow
approach.
4. Finally (but often most important), how much can
you afford to
spend?
ASCII terminals are the least expensive, even when the
cost of session management software is included.
AlphaWindows terminals cost 30 - 40 percent more
than ASCII terminals, but provide the GUI look and feel.
PC/ASCII emulation software combinations are about twice
as expensive as ASCII terminals.
X terminals cost about three times as much ASCII terminals,
and you then have to figure in additional memory and
CPU power on
the host.
X workstations are four to six times as expensive
as ASCII terminals.
Conclusion
A careful look at the choices available for terminals
shows why X
stations are shipping thousands of units per year, while
ASCII terminals
are shipping millions. X is the right answer for some
special situations,
but for the vast majority of UNIX installations, ASCII
terminals do
the job. With the addition of session management software
and the
new AlphaWindows terminals, they become an even stronger
competitor
to X.
About the Author
G. Clark Brown is a senior software engineer at Structured
Software Solutions Inc. in Plano, TX. As developer/support
contact
for SSSI's FacetTerm and Facet/PC products, he deals
with a variety
of installation and configuration problems that relate
to connecting
ASCII terminals to UNIX and making them work with applications.
Clark
has been doing this with applications that he has written
for 16 years
(nine years with UNIX).
|