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等图形终端模拟器。

  • 脚本自动交互

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

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

相关推荐
Ray Song7 天前
cgroup 实战从0到1
linux内核·cgroup·系统资源控制
妖怪喜欢风8 天前
内存映射:map_memory宏作用分析
linux内核·内存映射·linux源码
予枫的编程笔记13 天前
【Docker高级篇】吃透容器编排:Swarm vs K8s 核心差异,为后续K8s学习打牢基础
docker·云原生·kubernetes·linux内核·容器编排·容器技术·运维技术
新兴AI民工21 天前
【Linux内核二十】进程管理模块:CFS调度器enqueue(七):enqueue_entity函数的收尾
linux·服务器·linux内核·内核代码学习
皮皮哎哟22 天前
Linux文件IO与目录IO编程深度解析:从系统调用到实战应用
开发语言·linux内核·文件io·目录io·时间相关接口·c预言
bsauce1 个月前
【kernel exploit】CVE-2025-21702-net-sched UAF漏洞分析
linux内核·内核安全·内核漏洞利用
物理与数学1 个月前
linux内核 struct super_block
linux·linux内核
物理与数学1 个月前
Linux 页表映射
linux·linux内核
物理与数学1 个月前
linux内核常用hook机制
linux·linux内核
物理与数学1 个月前
linux内核 页缓存的脏页管理
linux·linux内核