Linux内核TTY子系统有什么(5)

接前一篇文章:Linux内核TTY子系统有什么(4)

本文内容参考:

Linux TTY子系统框架-CSDN博客

一文彻底讲清Linux tty子系统架构及编程实例-CSDN博客

linux TTY子系统(3) - tty driver_sys tty device driver-CSDN博客

Linux TTY 子系统框架_linux tty体系-CSDN博客

LinuxTTY 子系统2_tty子系统-CSDN博客

Linux TTY Driver_tty driver配置-CSDN博客

UART驱动学习二(TTY体系)_serdev-CSDN博客

解密TTY - QiuhaoLi - 博客园

特此致谢!

一、TTY是什么?

2. TTY的分类

Linux系统的终端设备一般分为控制台、伪终端pty、串口终端(/dev/ttySn)和其它类型。

(4)伪终端PTY

**伪终端(Pseudo Terminal,简称PTY)**是在Unix和Linux系统中用于模拟真实物理终端的一种机制。它允许程序像与真实终端交互一样与用户或其它进程进行通信,但实际上并不依赖物理设备。

伪终端是终端的发展,为满足现代需求(比如网络登录、Xwindow窗口的管理)。它是成对出现的逻辑终端设备(即master和slave设备,对master的操作会反映到slave上)。它多用于模拟终端程序,是远程登录(telnet、ssh、xterm等)后创建的控制台设备。

伪终端的工作原理

伪终端系统主要分为两部分:

1)主设备(master device)

  • 通常表示为/dev/ptmx或/dev/ptm。
  • 应用程序通过此设备与伪终端进行交互,接收和发送数据。
  • 当一个进程打开/dev/ptmx文件时,会获得一个新的伪终端主设备文件描述符,并自动在/dev/ptx目录下创建一个新的从设备文件。

2)从设备(slave device)

  • 表示为/dev/pts/N,其中N是一个数字,代表伪终端的编号。
  • 提供与真实终端相同的接口,但没有物理硬件依赖。
  • 具有标准输入、标准输出和标准错误输出等功能。

伪终端设备文件详解

1)/dev/ptmx

  • 是伪终端系统的主设备文件。
  • 用于创建一个新的伪终端对(主设备和从设备)。
  • 通过打开此文件并调用相应的系统调用(如ioctl),可以获取与从设备相关的文件描述符和信息。通过ioctl系统调用和TIOCGPTN命令获取从设备的编号。

2)/dev/pts/N

  • 是伪终端系统的从设备文件。
  • 每个从设备文件对应一个唯一的伪终端编号N。
  • 提供与真实终端相似的接口,允许用户或其它进程进行输入/输出操作。

伪终端的使用场景

  • 远程连接

如通过SSH、Telnet等协议进行的远程会话。

  • 窗口管理器中的终端模拟

如GNOME Terminal、Konsole等图形终端模拟器。

  • 脚本自动交互

用于自动化测试、批量操作等场景。

关于伪终端的更多细节介绍,请看下回。

相关推荐
阿拉斯攀登9 天前
SPI 设备驱动开发
linux·驱动开发·嵌入式硬件·linux内核·嵌入式·linux驱动·spi
阿拉斯攀登9 天前
定时器与延时:内核定时器、hrtimer 与延时函数
linux·嵌入式硬件·linux内核·嵌入式·linux驱动
Starry-sky(jing)10 天前
磁盘 await < 2ms,没有问题
linux内核·thp·transparent hugepages·khugepaged·内存压缩
阿拉斯攀登10 天前
嵌入式 Linux 驱动概述:分类、内核模块、开发环境
linux·嵌入式硬件·linux内核·嵌入式·linux驱动
Qt程序员15 天前
内核定时底层核心:时间轮算法
linux·linux内核·定时器·时间轮
坤昱1 个月前
cfs调度类深入解刨——pelt细节篇
linux·linux内核·cfs调度·eevdf·cfs调度类深入解刨·pelt·pelt细节篇
Qt程序员1 个月前
Linux RCU 原理与应用
linux·c++·内核·linux内核·rcu
程序员老舅1 个月前
从内核视角,看Linux文件读写过程
linux·服务器·c++·内核·linux内核·vfs·linux内存
行者-全栈开发2 个月前
【运维安全】CVE-2026-46333:Linux内核ptrace权限提升漏洞深度解析与修复指南
运维·linux内核·权限提升·ptrace·cve-2026-46333·ssh-keysign-pwn·安全修复
bsauce2 个月前
【kernel exploit】CVE-2026-23271 perf_event竞态UAF漏洞-ROP提权
linux·linux内核·内核漏洞·内核漏洞利用