-
任何输入写入伪终端主设备都会通过直接转换方法实现从数据流图到模块结构图的映射
资源介绍
(1) 通常一个进程打开伪终端主设备然后
调用 f o r k。子进程建立了一个新的对话,打开
一个相应的伪终端从设备,将它复制成标准输
入、标准输出和标准出错,然后调用 e x e c。伪
终端从设备成为子进程的控制终端。
(2) 对于伪终端从设备之上的用户进程来
说,其标准输入、标准输出和标准出错都能当
作终端设备使用。用户进程能够调用第 11章中
讲到的所有输入 /输出函数。但是因为在伪终端
从设备之下并没有真正的设备,无意义的函数
调用(改变波特率、发送中断符、设置奇偶校
验等)将被忽略。
(3) 任何写到伪终端主设备的输入都会作
为从设备端的输入,反之亦然。事实上所有从
设备端的输入都来自于主设备上的用户进程。这看起来就像一个流管道(见图 1 5 - 3),但从设
备上的终端行规程使我们拥有普通管道之外的其他处理能力。
图1 9 - 1显示了B S D系统中的伪终端结构。1 9 . 3 . 2节将介绍如何打开这些设备。在 S V R 4系统
中伪终端是使用流系统来创建的(见 1 2 . 4节)。图1 9 - 2详细描述了S V R 4系统中各个伪终端模块
图19-1 典型的伪终端进程结构
用户进程 用户进程
读、写函数 读、写函数
终端行规程
伪终端主设备 伪终端从设备
内核