tty是Teletype的缩写(转)
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
1.串行端口终端(/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)端口的设备上。
2.伪终端(/dev/pty/)
伪终端(Pseudo Terminal)是成对的逻辑终端设备,例如/dev/ptyp3和/dev/ttyp3(或着在设备文件系统中分别是/dev/pty/m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ttyp3看作是一个串行端口设备,则它对该端口的读/写操作会反映在该逻辑终端设备对的另一个上面(ttyp3)。而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)之前,为了得到大量的伪终端设备特殊文件,HP-UX AIX等使用了比较复杂的文件名命名方式。
3.控制终端(/dev/tty)
如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。
4.控制台终端(/dev/ttyn, /dev/console)
在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到 tty2、tty3等上面去。tty1 –tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。
你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在。只有系统或超级用户root可以向/dev/tty0进行写操作,
5.其它类型
还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。这里不再赘述。
分享到:
相关推荐
tty工作台驱动,适合工作台驱动的所有底层工作。有借鉴价值!
计算机控制工程,TTY接受程序计算机控制工程,TTY接受程序计算机控制工程,TTY接受程序
Linux平台的设备驱动程序开发的参考例子,tty模块源码
这是结构中所有不同的成员的列表和如何被 tty 核心使用: struct module *owner; 这个驱动的模块拥有者. int magic; 给这个结构的"魔术"值. 应当一直设为 TTY_DRIVER_MAGIC. 在 alloc_tty_driver 函数中被初始化...
linux tty device driver
对linux tty驱动源码进行简要分析,明确tty工作流程,及tty线路规程作用。
LDD3 tiny_tty模块源码(基于linux 2.6.32内核)
linux tty driver
TTY驱动实例详细说明,linux 系统下的代码
notty 是个类似 xterm,GNOME-vte,sh 和 rxvt 的终端模拟器。跟那些程序不一样的地方是,notty 不是为了模拟一个 DEC VT 系列的物理视频终端,或者是其他物理设备,而是为其他终端无法模拟的物理终端命令行添加新...
TTY485---980元 :RS-485/电流环转换器PDF,TTY485---980元RS-485/电流环转换器一、用途RS485/电流环转换器(型号:TTY485)用于 RS485 与 20mA 电流环的相互转换,可以延长电流环的通信距离到 1200 米。TTY485 只用...
对于Linux内核tty设备的一点理解,可以初学者更加的理解linux下的TTY
前端开源库-tty-sizeTTY大小,得到TTY的宽度和高度。
前端开源库-tty-tableTTY表格,命令行表格生成器。
linux 下利用tty 发送PTZ CMD的测试程式
2.2 tty 6 2.3 lp 6 2.4 lpstat 6 2.5 cancel 7 2.6 enable 7 2.7 disable 7 2.8 sync 7 2.9 mount 7 2.10 umount 7 2.11 tar 7 2.12 df 7 2.13 du 7 第三章 进程管理 7 3.1 sleep 7 3.2 ps 7 3.3 at 7 3.4 kill 7 ...
TTY----Text Telephones ,文本电话(聋哑人电话),专为听障人士设计的电传打字机(TTY) 功能,在手机插入专用设备后支持收发文本,需网络支持,中国网络不支持TTY. 除聋哑模式外,还支持只听不说(HCO)和只说不听...
4.5.17 tty 61 4.5.18 history 61 4.5.19 alias 61 4.5.20 echo 62 4.5.21 uname 62 4.5.22 clear 62 4.6 网络命令 62 4.6.1 arp 62 4.6.2 finger 63 4.6.3 wall 63 4.6.4 mesg 63 4.6.5 write 63 4.6.6 ping 63 ...
描述了Linux中tty和uart的架构关系
tty 串口编程 适合新手