| 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). 
 
 
 |