EMZETT.
Login

Terminals

In short: Originally a simple input/output device (screen + keyboard) with no computing power of its own, communicating only with a central mainframe. Today, usually synonymous with a command-line application on your own machine.

In more detail: Classic “dumb” terminals had no processor of their own — all computation happened on the mainframe. The term lives on in software today: a “terminal” or “terminal emulator” is a program that provides a text-based command line (shell).

In Depth

The mainframe era

In the early days of mainframes, computing power was extremely expensive and shared centrally: a single mainframe served many connected terminals at once via cable or, later, network, each of which only sent keyboard input and received and displayed the screen output computed by the mainframe — hence the nickname “dumb terminals”, since they had no computing logic of their own. Well-known terminal standards like the VT100 (Digital Equipment Corporation, 1978) defined exactly which control characters the mainframe could send to, say, move the cursor or display coloured text — these control character sequences (ANSI escape codes) are still used in modern terminal emulators today, for example to display syntax highlighting on a command line.

Time-sharing and fair resource allocation

Since a mainframe often had to serve dozens or hundreds of connected terminals at the same time, central computing time was divided up using time-sharing: the processor switches between the tasks of different users at a very fast rate, so each individual user gets the impression that the system responds immediately and exclusively to them — the same basic idea that also underlies modern multitasking operating systems, just applied back then to a single shared mainframe instead of your own PC.

From a hardware device to a software abstraction

Even after PCs with their own computing power largely displaced physical terminals, the concept survived as a software abstraction: a modern “terminal emulator” (e.g. the Terminal window in macOS/Linux, or the command prompt/PowerShell on Windows) simulates exactly this original text input/output behaviour, but runs entirely locally on the same machine instead of against a remote mainframe. Inside this terminal window, a shell then runs (e.g. bash, zsh or PowerShell), which actually interprets and executes the entered commands — terminal and shell are technically two separate layers, but are often used synonymously in everyday language.

Remote access as a modern continuation

For remote access to other systems, SSH is typically used today — technically the modern, encrypted variant of the same basic principle: open a terminal session on a remote machine, enter commands and get the output back, just over an encrypted network protocol instead of a dedicated cable connection. Servers without a graphical interface (typical for cloud infrastructure and data centres) are still administered today practically exclusively via such a terminal connection — a direct descendant of the original mainframe terminal concept, even though the “mainframe” today is a virtual machine in a data centre.

See also: Shell, Command Line