现在的位置: 首页 > 综合 > 正文

what is devpts

2018年01月23日 ⁄ 综合 ⁄ 共 1178字 ⁄ 字号 评论关闭

Applications such as an xterm or sshd simulate a terminal. This works
using 2 special files, a pseudo-tty master that the xterm/... writes to
and reads from and a pseudo-tty slave that the applications using the
simulated terminal (such as the bash running in the xterm) read from and
write to. Traditionally you had lots of /dev/files for these. The masters
are called ptyp0, ptyp1,... and the slaves are called ttyp0, ttyp1,....
These files make up a significant portion of your /dev tree if you use
MAKEDEV generic.
This approach is rather dumb because it uses lots of device nodes and
restricts the number of pseudo-ttys (and consequentially the number of
xterms/ssh sessions/...).
There is a better approach, though. It uses a single master multiplexer
/dev/ptmx and slaves /dev/pts/<number> that are created on demand.
For this to work devpts filesystem must be mounted at /dev/pts (and devpts
must be compiled in the kernel, I think it's called "Unix98 terminal
support" or something like this).
I think if you use devfs (don't confuse the 2), you don't need devpts
anymore, otherwise it's a good idea to include devpts support in your
kernel and put devpts in fstab (the LFS book demonstrates how). Then pass
'generic-nopty' to MAKEDEV instead of 'generic'. This will give you a
cleaner /dev. All recent versions of xterm,... know how to use the Unix98
pseudo-terminals and unlike devfs devpts is stable

抱歉!评论已关闭.