Computer terminal
|
A computer terminal is an electronic or electromechanical hardware device. It is used for entering data into, and displaying data from, a computer or a computing system.
Contents |
Historical
Early user terminals connected to computers were generally electromechanical teleprinters (TTYs), such as the model 33 Teletype. However these were too slow for most production uses. By the early 1970s, many in the computer industry realized that an affordable video data entry terminal could supplant the then ubiquitous punch cards and permit new uses for computers that would be more interactive. The problem was that the amount of memory needed to store the information on a page of text was comparable to the memory in low end minicomputers then in use. Displaying the information at video speeds was also a challenge and the necessary control logic took up a rack worth of pre-integrated circuit electronics. One company announced plans to build a video terminal for $15,000 and attracted a large backlog of orders, but folded when their engineering plans, which included fabricating their own ICs, proved too ambitious. Another approach involved the use of the storage tube, a specialized CRT developed by Tektronix that retained information written on it without the need to refresh.
Televideo925Terminal.jpg
Early video computer displays were sometimes nicknamed "Glass TTYs" and used individual logic gates, with no CPU. One of the motivations for development of the microprocessor was to simplify and reduce the electronics required in a terminal. Most terminals were connected to mainframe computers and often had a green or amber screen. Typically terminals communicate with the computer via a serial line, often using the RS232 serial interface. IBM systems communicated over a coaxial cable using IBM's SNA protocol.
Later, so called intelligent terminals were introduced, such as the VT52 and VT100, which are still widely emulated in software. These were called "intelligent" because they had the capability of interpreting escape sequences to position the cursor and control the display. Notable non-VT100 computer terminal types include the IBM 3270, Wyse and Tektronix 4014, but during the late 1970's there were dozens of manufacturers of terminals, many of which had incompatible command sequences.
While early IBM PCs had single color green screens, these would not have been considered terminals. Note that the screen of a PC did not contain any character generation hardware; all video signals and video formatting was generated by the video display card in the PC. With suitable terminal software PCs could, however, emulate a terminal, if connected to a mainframe computer. Eventually microprocessor-based personal computers greatly reduced the market demand for terminals.
Graphical terminals
There exist terminals that can display not only text, but also vector and raster graphics. The main computer sends drawing commands to the terminal, and the terminal sends the user input (from keyboard or from a pointing device) to the main computer.
Today the simpler graphical terminals are completely superseded, chiefly by the X Window System, which is not only very powerful, but also highly standardized, and so does not suffer from compatibility problems. Still xterm provides emulation for a graphical terminal, the Tektronix 4014.
An X terminal is typically a computer dedicated to running the X server.
Contemporary
Since the advent and subsequent growth in popularity of the personal computer, one will not find many real terminals that are used to interface with computers today. Using the monitor and keyboard, current operating systems like Linux and the BSD derivatives feature virtual terminals, which are mostly independent from the hardware used.
When using a graphical user interface (GUI) like the X Window System, this occupies the virtual terminal that would be used for input. In this case, one commonly uses a terminal emulator, an application that emulates being a terminal, to allow the user to access the computer like he is used to.
Technical discussion
For an application, the simplest way to use a terminal is to simply write and read text strings to and from it sequentially. The output text is scrolled, so that only the n last lines are visible. The input text is buffered until the Enter key is pressed, so the application receives a ready string of text. In this mode, the application needs not to know much about the terminal.
For many interactive applications this is not sufficient. One of the common enhancements is command line editing (assisted with such libraries as readline); it also may give access to command history. This is very helpful for various interactive shells.
Even more advanced interactivity is provided with full-screen applications. Those applications completely control the screen layout; also they respond to key-pressing immediately. This mode is very useful for text editors, file managers and web browsers. In addition, such programs control the color and brightness of text on the screen, and decorate it with underline, blinking and special characters (e.g. box drawing characters).
To achieve all this, the application must deal not only with plain text strings, but also with control characters and escape sequences, which allow to move cursor to an arbitrary position, to clear portions of the screen, change colors and display special characters — and also respond to function keys.
The great problem here is that there are so many different terminals and terminal emulators, each with its own set of escape sequences. In order to overcome this, special libraries (such as curses) have been created, together with terminal description databases, such as termcap and terminfo. Unfortunately, the libraries, the databases and the terminal emulators themselves are too often buggy, so it is not unusual to see the display imperfect or garbled, or functional keys not working. Often it is necessary to hand-edit the terminfo definition to make a terminal emulator to work well. Perhaps things are the best with xterm, because it is the most used.
In addition, non-Western users often find their national character sets unsupported.
All this has led to little usability of many text-mode applications except when on console or in xterm.
In recent years, the general switching of users to GUI has lessened the attention paid to terminal-handling libraries and to terminal emulation, and almost stalled the debugging efforts.de:Terminal (Computer) fr:Terminal nl:Computerterminal ja:端末 pt:Terminal