Linux中tty、pty和pts概念及区别Linux中tty、pty和pts概念及区别.pdf

Linux中tty、pty和pts概念及区别Linux中tty、pty和pts概念及区别.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux中tty、pty和pts概念及区别Linux中tty、pty和pts概念及区别

Linux 中tty、pty 和pts 概念及区别 基本概念 ①tty(终端设备的统称): tty 一词源于Teletypes,或者teletypewriters,原来指的是电传打字机, 是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被 键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty 来简称各种类型 的终端设备 ②pty(虚拟终端): 但是如果我们远程telnet 到主机或使用xterm 时不也需要一个终端交互 么?是的,这就是虚拟终端pty(pseudo-tty) ③pts/ptmx(pts/ptmx 结合使用,进而实现pty): pts(pseudo-terminal slave)是pty 的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。 Linux 终端 在Linux 系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以 下几种: ①串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端 设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串 行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接 终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于 DOS 系统下的COM1、COM2 等。若要向一个端口发送数据,可以在 命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行 提示符下键入:echo test /dev/ttyS1 会把单词”test”发送到连接在 ttyS1(COM2)端口的设备上。可接串口来实验。 ②伪终端(/dev/pty/) 伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master 和slave 设 备, 对master 的操作会反映到slave 上)。 例如/dev/ptyp3 和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty/m3 和 /dev/pty/s3) 。它们与实际物理设备并不直接相关。如果一个程序把 ptyp3(master 设备)看作是一个串行端口设备,则它对该端口的读/ 写操 作会反映在该逻辑终端设备对应的另一个ttyp3(slave 设备)上面。而 ttyp3 则是另一个程序用于读写操作的逻辑设备。 这样,两个程序就可以通过这种逻辑设备进行互相交流,而其中一个使 用ttyp3 的程序则认为自己正在与一个串行端口进行通信。这很象是逻 辑设备对之间的管道操作。对于ttyp3(s3),任何设计成使用一个串行端 口设备的程序都可以使用该逻辑设备。但对于使用ptyp3 的程序,则需 要专门设计来使用 ptyp3(m3)逻辑设备。 例如,如果某人在网上使用telnet 程序连接到你的计算机上,则telnet 程序就可能会开始连接到设备 ptyp2(m2)上(一个伪终端端口上)。此时 一个getty 程序就应该运行在对应的ttyp2(s2)端口上。当telnet 从远端 获取了一个字符时,该字符就会通过m2、s2 传递给 getty 程序,而getty 程序就会通过s2、m2 和telnet 程序往网络上返回”login:”字符串信息。 这样,登录程序与telnet 程序就通过“伪终端”进行通信。通过使用适当 的软件,就可以把两个甚至多个伪终端设备连接到同一个物理串行端口 上。 在使用设备文件系统 (device filesystem)之前,为了得到大量的伪终端 设备特殊文件,使用了比较复杂的文件名命名方式。因为只存在16 个 ttyp(ttyp0—ttypf) 的设备文件,为了得到更多的逻辑设备对,就使用了 象q、r、s 等字符来代替p。例如,ttys8 和ptys8 就是一个伪终端设备 对。不过这种命名方式目前仍然在RedHat 等Linux 系统中使用着。 但Linux 系统上的Unix98 并不使用上述方法,而使用了”pty master”方 式,例如/dev/ptm3 。它的对应端则会被自动地创建成/dev/pts/3 。这样 就可以在需要时提供一个pty 伪终端。目录 /dev/pts 是一个类型为 devpts 的文件系统,并且可以在被加载文件系统列表中看到。虽然“文 件”/dev/pts/3 看上去是设备文件系统中的一项,但其实它完全是一种不 同的文件系统

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档