Linux中tty、 pty、pts的概念区别
Linux中tty、
pty、pts的概念区别
基本概念:
1> tty(终端设备的统称):
tty一词源于
Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘
与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
2> pty(虚拟终端):
但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端
pty(pseudo-tty)
3> pts/ptmx(pts/ptmx结合使用,进而实现pty):
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal
master)配合使用实现pty。
Linux 终端:
在Linux系统的设备特殊文件目录/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)是成对的逻辑终端设备(即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)逻辑设备。
例如,如果某人在网
相关文档:
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
Fedora 下是有/etc/inittab文件的,而在Ubuntu中是没有这一个文件的,因为在ubuntu中,inittab软件包已经被upstart软件包替换了,所有的配置信息都在/etc/event.d/目录下。inittab文件在inittab里面这样描述的,This inittab file describes how the INIT process should set up the system in a certain run-level.即在lin ......
完成本文,使用了两个工具
1. strace
2. google code search
.
----
swap分区有一个大小为PAGE_SIZE的页面,称为signature页,上面记录swap分区的基本信息。
static struct swap_header_v1 {
char bootbits[1024]; /* Space for disklabel etc. */
unsigned int version;
......
备注:
本博内容是承接上期内容的延续,由于内容过长,因此采用分段说明,以免大家看起来疲倦,若了解更多详细的安装流程,请继续关注本博。参照原版安装手册对照安装。
4.Configure Oracle Installation Owner Shell Limits
<1>配置limits.conf文件,红色标注为增加的配置内容。
[root@myli ......