Unix/Linux是多用户系统 1、主机连接多态字符终端 2、字符终端作为交互式(人机之间)输入输出设备 终端的构成 键盘、显示器、RS232串行通信接口 主机与终端的连接 1、主机中的串口卡(硬件)引出多个RS232串口 2、每个RS232接口通过电缆(3芯或更多芯)连接一台终端 3、RS232电缆的长度限制,早期要求小于10米,现在可达百米 终端与主机的功能分工 终端:主机的输入和输出设备 终端通过电缆把用户的按键信息送到主机,把主机发来的信息在屏幕上显示 主机:程序和数据的存储及处理 数据及程序存放在主机的硬盘上,程序的运行也都由主机内的CPU占用主机内存来完成
驱动程序 1、不同的硬件需要不同的驱动程序 2、与行律模块的接口:上行和下行 字符流 行律的作用 1、一行内字符的缓冲、回显与编辑,直到按下回车键 2、数据加工,如:将 \n 转化为 \r\n 3、将 Ctrl+C 字符转化为终止进程运行的信号( signal ) 即:比如说我们在终端上按下了Ctrl+C按键,那么实际上有一个字节,这个字节的ASCLL码值是3。
送到主机那边去。
主机的行律见到这个字节后,并不是把这个字节像普通的按键信息一样,交给终端上运行的进程。
而是产生一个信号,将这个继承杀死,这些功能是行律要做的。
下面我们看一下这个主机与终端之间的通信过程:
行律功能的调整 行律的功能有的时候对于我们来说,是不方便的。
比如说, 回显, 我们输入口令的时候不希望回显。
有的时候我们不希望 行律缓冲数据 。
比如说,我们希望按键信息能尽快的交给应用程序,而不是等待按下回车。
下面有两种可以调整行律的方法: 1、程序中通过编程的方法 2、相关命令:stty (1、比如,考虑到有些终端不支持 backspace 键。
我们可以通过 Ctrl+H 键擦掉一个字符。
所以我们在这里设置一下—— stty erase ^ H 而这里我们要知道的事, Ctrl+H组合键对应的ASCLL码是8,对应的也是backspace键 。
2、 stty -a 可以将行律的所有控制信息的状态打印出来,终端忠实的显示从主机送来的信息。
3、又比如,我们可以使字符显示不同的颜色。
这时候,需要一些控制。
这些控制,都是由 终端转义序 列来完成的。
) 终端转义序列 原创地址: https://www.cnblogs.com/fanweisheng/p/11076987.html 举例: ESC- but not CSI-sequences 非控制转义序列 ESC cRIS重绘屏幕.ESC DIND换行.ESC ENEL新的一行.ESC HHTS设置当前列为制表位.ESC MRI翻转换行(Reverse linefeed).ESC ZDECIDDEC 私有定义.内核将其解释为VT102字符,返回字符ESC [ ? 6 c.ESC 7DECSC存储当前状态(光标坐标,属性,字符集).ESC 8DECRC恢复上一次储存的设置ESC [CSI控制序列介绍ESC %开始一个字符集选择序列ESC % @选择默认字符集(ISO 646 / ISO 8859-1)ESC % G选择 UTF-8ESC % 8选择 UTF-8(已不用)ESC # 8DECALNDEC 屏幕校准测试 - 以E's填充屏幕.ESC(开始一个 G0 字符集定义序列ESC( B选择默认字符集(ISO 8859-1 mapping)ESC( 0选择 vt100 图形映射ESC( U选择空映射 - 直接访问字符ROMESC( K选择用户映射 - 由程序mapscrn(8)加载.ESC )开始一个 G1 字符集定义(后面跟 B,0,U,K,同上).ESC >DECPNM设置数字小键盘模式ESC =DECPAM设置程序键盘模式ESC ]OSC(是perating system command的缩写)ESC ] Pnrrggbb: 设置调色板,后面紧跟7个十六进制数,再跟一个 P :-(.这里n是颜色(0-16),而rrggbb表示红/绿/蓝 值(0-255).ESC ] R: 重置调色板 终端仿真简介 真实的硬件 终端设备 由键盘和显示器组成,用于与远程主机(计算机)进行通信。
除了与主机距离比较远(在隔壁房间或者在其它城市)以外,它的使用方式与一台个人计算机没有什么区别。
程序是在 主机 上被执行,但结果是显示在终端屏幕上。
终端通常仅限于显示接收到的信息以及在键盘上输入发送给主机的信息。
功能单一的终端设备在上世纪70年代和80年代比较盛行。
人们在其上编制程序、运行程序、编写文档或发出打印命令等。
终端使用一根电缆与主机相连,有时需要通过modem与在远距离以外的主机连接。
如今使用实际的终端设备已经很少。
人们通常利用软件把个人 计算机仿真 成一个终端与主机相连。
现在几乎所有使用 Linux 的人都使用终端仿真方法。
对于不使用X window的情况下,人们使用 字符 界面的终端( 虚拟终端 )。
这通常也被称为命令行接口。
而在X window环境下,我们可以获得多个终端窗口,也有不少的终端仿真程序可以选用,例如 xterm 、 rxvt 或者zterm等。
所有这些都是使用了仿真的方法来模拟一台真实的终端设备。
终端仿真的发展 随着网上异构操作系统环境的高速发展,特别是 Linux / UNIX 的蓬勃发展,给日常应用提供了更多、更高和更安全的选择。
然而,各种操作系统之间的操作环境相差很大。
从事计算机工作的专业人员面临的情况更为复杂。
企业内部有很多计算机,在它们上运行的操作系统可能是 Windows 、Linux、 Solaris 、OpenVMX、True64、 FreeBSD ,也可能是 HP-UX 、AIX或别的 Unix 系统。
以往UNIX 主机 会自带多台字符或图形终端供用户使用。
但随着网络的飞速发展以及安全上的要求,用户往往远离主机,通过 RS232接口 连接的串行终端已经成为瓶颈,如何利用 Intranet 网或Internet网上的PC机访问和管理这些 UNIX 的服务器已经成为巨大的要求。
这时,UNIX 仿真软件 诞生。
即在Windows环境中,仿真出一个远程控制台,作为一个远程终端,通过网络登录到远程Unix系统。
对于 Linux 、 Unix 系统,通常使用终端仿真工具进行远程管理。
常见的工具有:Windows自带的 Telnet 、 Netterm 、CRT。
但 WRQ 公司的Reflection软件不仅能同时为不同 UNIX服务器 提供字符终端和 X-WINDOW 图形的仿真,同时能够 加密传输,保证客户安全 。
虚拟终端字节流
