终端(英语:terminal),是与计算机系统相连的一种输入输出设备,通常离计算机较远。根据功能不同,可分若干类。具有某些处理功能的终端称为灵巧终端或智能终端,这类终端有它自己的微处理器和控制电路;没有此功能的叫做哑终端,它没有微处理器。支持与计算机会话或处理的终端叫交互终端或联机终端。
历史
终端其实就是一种
输入输出设备,相对于计算机主机而言属于外设,本身并不提供运算处理功能。早期的计算机终端一般是机电的
电传打字机,比如ASR33。但是对于大多数应用来说它们太慢了。1970年代初许多电脑公司认识到电视输入终端比
穿孔卡片要好得多,而且可以使得计算机更加容易与用户互动,产生新的应用。当时的毛病在于相对于当时的
小型计算机来说要显示一页文字所需要的内存太大了。在
集成电路普及以前要显示电视信号所需要的速度对当时的
逻辑门所提出的技术挑战也太高了。当时有一家公司宣布要生产一台价值15,000美元的视频终端,吸引了许多购户,但是最后它的工程师们决定这个计划无法完成。另一个解决方法是泰克公司发明的
存储管,这台机器可以显示输出给它的信息,但是无法刷新。
早期的视频终端使用特别的
逻辑门,没有自己的
中央处理器。发展
微处理器的动机之一就是要简化终端里的电子组件的复杂性。大多数终端的屏幕是绿色或者橙色的,它们与
大型计算机相连。典型的终端使用
RS-232之类的串行数据通信与主机相连,
IBM使用它自己的
系统网络体系结构协议通过
同轴电缆来连接其主机与终端。
后来所谓的
智能终端(如VT52和VT100)被引入。今天依然有许多这两个终端的模拟软件。这些终端之所以被称为“智能”是因为它们理解
转义序列,可以定位
光标和控制显示位置。重要的非VT100终端有IBM 3270、不同的
慧智模型和Tektronix 4014。1970年代里世界上有十数个终端生产商,大多数终端的指令不兼容。1970年代和1980年代初最重要的终端生产商有迪吉多、慧智、Televideo、利尔·西格勒公司和Heathkit。
早期的
IBM个人计算机虽然也使用绿色的显示屏,但是它不算终端。个人计算机的显示屏不包括任何产生字母的硬件,所有的视频信号是在个人计算机的
显卡里产生的。但是使用相应的模拟程序一台个人计算机可以与大型计算机相连模拟终端。最后使用微处理器的个人计算机大大地取消了对终端的需要。今天大多数个人计算机的
Telnet用户端提供最普遍的终端(一般VT100)的模拟。
2023年3月2日,第51次《中国互联网络发展状况统计报告》显示:截至2022年12月,中国移动网络的终端连接总数已达35.28亿户。
图形终端
有些终端不但可以显示文字,而且可以显示
矢量图形和
位图。计算机向终端输出绘图指令,终端则向计算机输送用户输入(通过
键盘或者定位设备)。
事实上今天过去简单的图形终端已经完全被全功能视频显示器代替了。今天在计算机中
图形用户界面无处不在。大多数终端模拟程序是在图形环境内运行的。
X终端是专门给X Window系统设计的图形终端,提供连接到服务器系统上运行的
KDE、
GNOME或其它基于X Window系统的平台的可能性。
终端系统
由于
个人电脑的普及今天已经很少有专门的计算机终端作为界面了。现代的操作系统如
Linux和
BSD及其派生物使用与硬件基本无关的
虚拟终端。输出系统一般是
显示屏,输入系统则是
键盘。
在使用X Window系统这样的图形用户界面时在屏幕上一般有多个与不同应用相关的窗口开着,而不是只有一个与一个单个过程相连的文字流。在这种情况下用户一般使用终端模拟程序。这样用户可以不必使用专门的终端装置来与计算机交换。
技术讨论
一个程序最简单的使用终端的方法是向终端串行写或读文字。输出的文字向上推,因此只有最后的数行可见。输入的文前缀先被暂时贮存,在获得
回车键后程序获得整个输入的文字。在这种情况下程序不需要很了解终端。
对于许多互动程序来说这个方法不够,一个普遍的改善是描述命令行编辑,一般它还提供指令历史的功能。这个改善对不同互动的命令行注释器也非常有用。
更进步的终端提供“全屏幕”应用。这样的程序可以完全控制屏幕上的输出,还可以立刻对键盘输入做反应。这样的终端对
文本编辑器、
文件管理和
网页浏览器这样的应用非常有用。这样的程序可以控制屏幕上文字的亮度、在文字下划线、使文字闪烁和使用特别的字母。这样的程序不但要处理简单的文字,而且还要处理可以将光标放置到屏幕上任何地方、清除屏幕部分地区、改变颜色和显示特殊字母的
控制字符和转义序列。这些程序还必须能够对
功能键做反应。
但是由于各种终端和它们的模拟程序使用不同的转义序列,加上许多模拟程序多少有些错误,在显示的时候往往会发生错误。此外终端和终端模拟程序一般不支持罗马字母以外的字母或者字形。这些缺点都限制了今天终端和终端模拟器的使用。而且近年来由于图形用户界面的普及终端模拟
库的发展和改错的工作越来越趋停滞。