Table of Contents
The Origin of Terminal Emulators
Before the 1980s, the predominant computing model revolved around mainframes and terminals,
creating a centralized approach to information processing. The reason for this model was
that processors and especially memory were extremely expensive, thus
companies would purchase one large, powerful central computer that could be shared
by users, which accessed it by means of a so called terminal.
Terminals, were also dubbed dumb terminals, because even though technically speaking they were
computers, they were physical devices with limited processing capabilities that acted as
a user interface to the mainframe. Users accessed applications running on the
mainframe through these terminals, which were often hardwired to the central computer.
The terminals (thin clients) were devices which consisted
of a screen, a keyboard, and the technology that allowed them to transmit keystrokes to and
receive output from the server, but had no noteworthy computing power of their own.
Terminal Control Codes
As noted above, a terminal initially was a combination of keyboard and a screen which
were connected to a remote computer through a network, modem or network.
However, to allow the server programs some flexibility, the terminals had some actual (but
limited) computing power. This enabled them to perform tasks beyond merely printing all
received text. Instead, they could receive specific codes which were embedded in the text,
and use these to format the output of the text, rather than just printing text
left-to-right and top-to-bottom like a teletype.
However, each manufacturer (e.g. IBM, Digital Equipment, Wyse Corp.) used different
codes to perform the formatting of text, so the terminals to access a certain type of
server needed to be bought from the manufacturer of the server.
In other words, different manufacturers used different codes that the servers sent to the
terminals in order to move the cursor, change the color,
manage the keyboard, modify screen attributes,
clear the screen and so on.
Among the best-known terminal manufacturers were DEC (who created the
line very popular of character oriented VT-Terminals, e.g. the
vt100,
vt220 etc.) and IBM
(who preferred to use block-mode) with 3270
and 5250 terminals.
There were also attempts to standardize codings for these tasks,
the so-called ANSI terminals.
For example, on a VT220 or ANSI terminal, to send the text "this is an error!" to the user's
screen with the word "error" in red, the host would actually send
This is an ^[31m error ^[0m! to the
terminal emulator. Rather than displaying all the text, the VT220 terminal will strip the cryptic code parts
^[31m and ^[0m
as commands and will print the text between them in a different color, like so:
This is an error!
The Move from Centralized to Personal computing
As processors and memory gradually became more affordable, the idea of a Personal Computer
gained traction. This novel concept meant that each user would be able to access their own
memory, and that their personal processor would be sitting right there on their desk.
It was thought that this would become the dominant model and that mainframes and
application servers would become a thing of the past, except for niche markets and areas
where enormous computing power was needed.
However, through advent of the Internet and the success of Linux, the client/server concept
and central computing has undergone something of a renaissance. As a direct result of this
the necessity of using a terminal to access a computer located in a remote location (be
it somewhere across the globe or server vault in the basement of the same building) is
yet again receiving a lot of attention again.
Since personal computers had already gained popularity and were ubiquitous, businesses and
institutions shifted from using dedicated hardware to access the central computer
to using a program that runs on a PC and performed the same tasks as a hardware terminal.
Emulating a Terminal on Personal Computers
This did bridge the gap between the existing mainframe
infrastructure and the new PCs. Terminal emulators emerged as a solution, enabling PCs to
emulate the functionality of traditional terminals while connecting to mainframes and other
remote servers. These software-based emulators allowed users to access mainframe applications
and data from their personal computers, effectively extending the life of central computing model
and established systems, while also providing the beneifts of using the personal computing
model for tasks like text processing or spreadsheets, where it turned out to be the superior choice.
Terminal emulators offered several advantages over physical terminals. First and foremost,
they eliminated the need for dedicated, space-consuming hardware, reducing costs and streamlining the
computing environment. Emulators also provided users with a more flexible and customizable interface,
enhancing the overall user experience. The transition to terminal emulators allowed organizations
to modernize their computing infrastructure without completely abandoning legacy systems,
ensuring a smoother evolution of technology.
Contemporary scenarios continued necessitate the retrieval and manipulation of substantial and
ever increasing data volumes within databases, posing challenges in terms of computational intensity.
In response to this, since the millenium there has been a dramatic shift back to server computing.
While end users interact with these servers mostly through Web-Browsers (which incidentally, in
abstract terms, perform similar function as a a terminal, just graphically much more sophisticated),
administrators and programmers find themseves in a position, to often need to access these servers
through text based terminals.
The impracticality of reverting to the use of physical dumb terminals is evident, as the contemporary
workspace often lacks the physical space for additional keyboards and screens. Instead,
sophisticated software has assumed the role of a virtual dumb terminal. Referred to as a
terminal emulator, this software replicates the functionalities of a dumb terminal or thin
client on a personal computer, providing a seamless bridge for users engaging in more
intricate computing tasks.
Features and Requirements of Terminal Emulators
In short, a terminal emulator is a program that does what a dumb terminal used to do in the early
days of computing. It transmits keystrokes to the remote server, receives output from the server,
and displays it in a window which simulates the screen that was used in the past. However, the
real benefit of using a terminal emulator is that it really isn't as 'dumb' as a real terminal.
Instead, it offers functions such as logging output to a printer, saving output to disk, allowing
input and output to be sent/received and processed automatically. A terminal emulator can also
help you automate repetitive tasks.
As noted above, many manufacturers used to develop their own terminals with their own type of
ommunication between the server and the terminal. The good thing about modern terminal emulators
is (compared to hardware terminals) that they can understand most of the codes that were used
in the past. A single terminal emulation program like ZOC can actually play the role of both an
IBM and a DEC terminal, depending on which server a user needs to access (e.g. an IBM mainframe
or a Unix server).
Who Uses Terminal Emulators?
Nowadays, terminal emulators are used for a wide variety of different tasks. They are used by Unix and
Linux administrators to access their web servers, by employees of companies who need to access different
types of software on central computers, by doctors to retrieve blood test results from central lab
computers, and so on. In short, anyone who wants to access any kind of data on a central computer
needs a terminal emulator.
ZOC Terminal: A Modern Terminal Emulator for Windows and Mac
The ZOC Terminal Emulator is a professional terminal emulator because
it supports the standards of several manufacturers (vt100, vt220, TN3270, Ansi, Linux/Xterm,
Wyse, to name just a few), and allows users to access virtually any server that requires the use of a
terminal or terminal emulator (via connection as
ssh client,
telnet, modem, etc).
As well as the basic terminal functions, ZOC offers a wealth of additional,
useful features. This terminal emulator takes advantage of the computing power of a PC to allow you to
automate tasks (such as logging on or retrieving data automatically), log sessions on screen or file
(for documentation or later review), copy data between a text processor and the remote server, and much
more.