当前位置:嗨网首页>书籍在线阅读

01-终端

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第62章 终端

历史上,用户接入一个UNIX系统都是通过串行线(RS-232连接)连接到一个终端上的。终端由阴极射线管(CRT)组成,能够显示出字符,而且在某些情况下可以显示出基本图形。一般来说,CRT能提供单色24行80列的显示效果。按照当今的标准,这些CRT体积很小且昂贵。甚至在更早的时期,终端有时候还是硬拷贝电传设备。串行线也可以用来连接其他的设备,比如打印机和用来在计算机之间互连的调制解调器。

在早期的UNIX系统上,连接到系统上的终端由字符型设备来表示,名称以/dev/ttyn的形式给出。(在Linux上,/dev/ttyn设备是系统上的虚拟控制台。)我们常会看到tty(源自teletype)作为终端的缩写形式。

尤其是在UNIX的早期时代,终端设备并没有统一的标准。这意味着不同的字符序列需要执行类似移动光标到一行的开头,或者移动光标到屏幕中央这样的操作。(终于有些设备商实现了这样的转义序列——例如,Digitals的VT-100成为了事实上的标准,最终成为了ANSI标准。但是,依然还存在着各种各样的终端类型。)由于缺乏统一的标准,这就意味着很难编写可移植的程序来利用终端的特性。vi编辑器是早期有着这种可移植性需求的例子。termcap和terminfo数据库(在[Strang et al., 1988]中有描述)中的制表操作应该如何针对多种类型的终端执行各式各样的屏幕控制操作呢?curses库([Strang, 1986])正是为了应对这种缺失的标准应运而生。

如今传统型终端已经不常见了。现代UNIX系统的常用接口是高性能位映射图形显示器上的 X Window 窗口管理器。(老式的终端所提供的功能大致上等同于一个单独的终端窗口——xterm终端或其他类似的产品——运行在X Window系统之上。这种终端的用户只有一个单独的面向系统的“窗口”,这一事实是由34.7节中描述的开发作业控制设施所驱动的。)同样的,如今许多直接连接到计算机上的设备(例如打印机)都是带有网络连接的智能型设备。

以上所述都是在说如今面向终端设备的编程已经不像以前那么频繁了。因此,本章把重点放在终端编程上,尤其是与软件终端模拟器相关的方面(例如xterm及类似的模拟器)。本章只对串行线做了简单的介绍,本章末尾提供了关于串口编程的进一步信息。