首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux+的tty子系统

Linux的TTY(Teletypewriter)子系统是一个在Linux操作系统中负责处理终端设备和串行设备输入输出的子系统。它提供了一个抽象层,使用户和应用程序可以与终端设备进行交互。以下是关于Linux TTY子系统的相关信息:

TTY子系统的基础概念

TTY(Teletypewriter)子系统起源于电传打字机,是一种字符设备。在Linux中,TTY可以分为几种类型,包括物理终端、虚拟控制台、伪终端等。

TTY子系统的优势

  • 多任务处理:用户可以在一个终端上运行多个进程。
  • 会话管理:允许用户登录系统并保持会话状态。
  • 调试工具:开发者可以使用TTY来调试程序,因为它提供了直接的输入输出控制。
  • 兼容性:TTY是Linux系统的基本组成部分,兼容各种硬件和软件环境。

TTY子系统的类型

  • 物理TTY:直接连接到计算机的物理终端设备。
  • 虚拟TTY:通过软件模拟的终端,如GNOME Terminal、xterm等。
  • 控制台TTY:通常是系统的主控制台,用于系统启动和紧急访问。
  • 伪终端(PTY):常用于图形界面终端模拟器以及远程登录工具,如SSH。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TTY子系统初探

一、TTY子系统介绍 1、TTY介绍 TTY,一词源于Teleprinter,译为电传打印机,在早起用来表示电脑终端的设备。 现在我们通常使用TTY,是各种(物理/虚拟)终端的统称!...2.2 当前控制台 这是应用程序中的概念,如果当前进程有控制终端(Controlling Terminal),那么/dev/tty就是当前进程控制台的设备文件。...对于登录的Shell,/dev/tty就是你正在使用的控制台,设备号(5,0),/dev/tty会映射到当前设备(使用命令tty可以查看它具体对应哪个实际物理控制台设备),输出到/dev/tty的内容只会显示在当前工作终端上...你可以输入命令tty,显示当前映射的实际终端如:/dev/tty1或者/dev/pts/0等。 2.3 虚拟控制台 /dev/ttyn是进程虚拟控制台,他们共享同一个真实的物理控制台。.../tty2 ,当前控制台(/dev/tty)则指向/dev/tty2 而比较特殊的是/dev/tty0,他代表当前虚拟控制台,其实就是当前所使用虚拟控制台的一个别名。

1.6K20

一文了解TTY子系统框架

二、TTY子系统框架 1、TTY子系统框架分析 该篇主要用来分析TTY子系统的框架,TTY框架图如下: image-20221231220853840 TTY子系统位于标准字符驱动之下,其中包括:TTY...TTY Core:该核心层主要负责控制跨越一个tty设备的数据流和数据格式,使得TTY Driver能够以一致的方式处理 到硬件 和 出自硬件 的数据。...查看所有终端 可以查看/proc/tty/drivers文件,这个文件可以包含当前存在的,不同tty驱动的列表,驱动的名字,驱动的主编号,次编号范围,tty驱动的类型。...在他们tty设备的子目录下面的文件夹中,有一个dev文件,包含了分配给tty设备的主次编号。 如果驱动程序告诉内核与tty设备相关联的物理设备和驱动程序的位置,它就会创建回这些位置的符号链接。.../dev/tty /dev/console /dev/ttyS0 OK,TTY子系统框架以及目录结构分析就先了解到此,后续分析其主要的数据结构!

2K10
  • tty各种设备的情况

    (这些是确确实实存在的终端设备) (2)控制终端(/dev/tty) 如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。...对于你登录的shell,/dev/tty就是你使用的终端(也就是当前控制终端),设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。.../dev/tty有些类似于到实际所使用终端设备的一个联接。...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。...使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。

    2.4K100

    Linux中的tty与pts

    tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。...Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。...对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。   ...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。当你在控制台上登录时,使用的是tty1。...使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1 –tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。

    5.7K20

    09_GPIO子系统与Pinctrl子系统的交互

    Pinctrl子系统的交互 参考资料: Linux 5.x内核文档 Linux-5.4\Documentation\driver-api Linux-5.4\Documentation\devicetree...使用GPIO前应该设置Pinctrl 假设使用这个虚拟的GPIO Controller的pinA来控制LED: 要使用pinA来控制LED,首先要通过Pinctrl子系统把它设置为GPIO功能,然后才能设置它为输出引脚...,假设在GPIO子系统中全局编号为100103 GPIO1内部引脚编号为03,假设在GPIO子系统中全局编号为104107 假设我们要使用pin1_1,应该这样做: 根据GPIO1的内部编号1,可以换算为...Pinctrl子系统中的编号5 使用Pinctrl的函数,把第5个引脚配置为GPIO功能 2.2 数据结构 3....GPIO调用Pinctrl的过程 GPIO子系统中的request函数,用来申请某个GPIO引脚, 它会导致Pinctrl子系统中的这2个函数之一被调用:pmxops->gpio_request_enable

    89910

    Unity的粒子系统

    例如,粒子系统的基础参数可以控制粒子的初始位置、速度、颜色和大小等。...此外,还有高级指南详细探讨了粒子系统的各种功能和高效使用技巧。 结论 Unity的粒子系统是一个功能强大且灵活的工具,适用于创建各种复杂的视觉效果。...Unity粒子系统的最新功能和更新有哪些? Unity粒子系统在2018版本进行了显著的升级,引入了全新的粒子系统功能,提供了更多的创作灵活性和更高的视觉效果。...具体来说,新的粒子系统增加了角色模块,使开发者可以更容易地创建和控制角色的效果。此外,新粒子系统还添加了更多的粒子形状选项,包括球形等。...除了上述更新,Unity粒子系统还允许开发者通过C#脚本对系统及其包含的粒子进行完全的读/写访问,并使用粒子系统API为粒子系统创建自定义行为。

    14710

    再谈 API 的撰写 - 子系统

    在做一个系统时,有一些子系统几乎是必备的:配置管理,CLI,以及测试框架。 配置管理 我们先说配置管理。一个系统的灵活度,和它的配置管理是离不开的。...系统中存在的大量的预置的属性(下文简称 property),需要有一个公共的地方来放置。这里我不说「常量」,而是说「预置的属性」,是因为这属性可能需要在运行时发生改变,而常量的范畴会让人有所误解。...对于分布式的项目,配置应该集中存储在诸如 redis 这样的系统,以方便统一处理(orchestrate)。 CLI 写 CLI 并非难事,但一个 CLI 子系统的难点是: CLI 的发现和自注册。...测试框架 API 的测试是相当无趣的(几乎所有的测试例撰写起来都相当无趣),但是测试的重要性是不容置疑的,尤其对于一个不断重构的代码。...parser 的撰写是一次性的,以后改动很少(但会添加新的功能,比如新的函数 - 如上的 #xxx),而 fixture 的撰写对比着之前的例子,几乎很难出错。

    78850

    SourceEngine中的粒子系统

    , 否则内存和CPU的开销会很大 Control Points 每个粒子系统最大有64个控制点, 0号默认为粒子的原点 每个控制点可以设置位置, 朝向, 实体 TF中医生的治疗光线用控制点进行武器与目标玩家之间的连接...Components 粒子系统由组件组成, 每一项都可以有多个元素 Renderers spirit, 最常见的 rope, 一条连续的"绳子", 如闪电 trail, 拖尾 blob, 水滴 model...颜色, 大小, 透明度, 速度等, 可以随机 随机位置形状 沿两个控制点之间移动 Operators 每帧都影响各个粒子的属性 可以影响控制点的位置 Forces 力场模拟 Contraints 物理碰撞...与控制点之间的约束关系 空间约束 Children 发身子粒子系统, 实现更为复杂的效果  性能 限制每个粒子系统的最大粒子数, 内存预分配这么多空间 多线程 多个粒子系统会分配到多个线程中计算 子系统与父系统处于同一线程...SIMD Overdraw 尽量使用少的, 小的, 不透明的粒子 材质中定义最小屏幕空间大小, 太小的剔除(或淡出) 尽量关闭软粒子 共享数据 灵活使用控制点 碰撞 针对低端机多做一个粒子文件, 如xxxx_dx80

    86120

    windows的Linux子系统安装

    1.启用子系统功能 需要win系统支持子系统 进入控制面板 -> 程序和功能 -> 启用或关闭windows功能: 勾选适用于Linux的windows子系统,确定,等待后,确认重启设备 2.下载子系统...acc status="" title="如果微软商店打不开"] 方案一:核实windows update服务是否启动 计算机右击管理→展开服务和应用程序→点击服务→核实windows update服务的状态是否是正在运行的...,点击获取 默认安装到C盘(若不想安装到C盘,看本篇最后),点击安装 等待下载完成后,启动即可, 3.子系统相关配置 启动后,会提示创建用户和设置密码,根据提示操作即可 [card title="修改...(按住shift再按两下z)保存 更新源sudo apt-get update & apt-get upgrade & apt-get clean [/card] 4.修改子系统位置 (1)首先查看所有分发版本...注:版本根据自己的修改 (6)删除tar文件(可选) del d:\ubuntu18.04.tar

    5.4K20

    【Linux】Linux介绍与常用shell命令

    安装说明关于虚拟机与双系统的选择问题作简要说明:1. 需要多系统协同工作环境,请选择虚拟机,如做网络安全与渗透测试需要搭建的eNSP和Kali Linux+靶机2....在inittab中的以下6行就是定义了6个终端:1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn...:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn...:/sbin/mingetty tty6从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。...当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

    11510

    Windows下的Linux子系统安装

    安装 以管理员模式打开Windows PowerShell wsl --list -online查看可以安装的Linux发行版 wsl --install -d Ubuntu-20.04(安装后需要重启...) 输入用户名和密码即可,回到开始菜单,找到Ubuntu图标即可打开 wsl子系统,位置在\\wsl$直接在任务管理器搜索即可 查看版本wsl -l -v 定期更新:sudo apt update &&...,等待下载VS Code Server for x64并安装 链接到vs code(左下角出现WSL:Ununtu-20.04) 安装miniconda 参考链接:Python环境搭建:基于Win10子系统...WSL环境下Conda+Jupyter Notebook安装 - 知乎 (zhihu.com) 下载miniconda 使用wsl访问windows下的资源,windows在/mnt下 cd /mnt/...但是,下载目录为windows某一个磁盘,无法复制到wsl子系统中(不知道怎么解决,我目前又用不到,先不弄了) 使用命令行,首先加载到windows下含有cudnn的文夹 sudo

    2.9K40

    ALSA子系统 | ALSA Buffer的更新

    理想情况下,大小为Count的缓冲区具备一个读指针和写指针,我们期望他们都可以闭合地做环形移动,但是实际的情况确实:缓冲区通常都是一段连续的地址,他是有开始和结束两个边界,每次移动之前都必须进行一次判断...在实际应用中,我们通常都会把这个大小为Count的缓冲区虚拟成一个大小为n*Count的逻辑缓冲区,相当于理想状态下的圆形绕了n圈之后,然后把这段总的距离拉平为一段直线,每一圈对应直线中的一段,因为n比较大...,所以大多数情况下不会出现读写指针的换位的情况(如果不对buffer进行扩展,指针到达末端后,回到起始端时,两个指针的前后相对位置会发生互换)。...如果buffer设得太大,那么一次数据的传输需要的延迟会增加,为了解决这个问题,ALSA将buffer分为一系列的period(在OSS/Free语境中称为fragment),然后以period为单位进行数据的传输..., 供用户空间通知内核更新appl_ptr, 例如tinyalsa中的pcm_sync_ptr采用的就是这种方式.

    2K40

    蜜罐背后的影子系统探秘

    实现影子系统切换逻辑 我们创建了3个监听服务,端口分别是8888、8082、8083,8888是主代理服务,当请求过来时,判断当前的请求IP是否被识别出蜜罐、IDS发现的威胁IP。...我们主要通过在by_balancer阶段对访问者的IP与蜜罐的威胁情报进行碰撞,发现当前访问的IP在封禁列表里,就直接将这个用户请求切换到影子系统。 然后我们在影子系统里手机这个用户的情报。...为了简单演示,我们的upstream使用的是同一台机器,但真的影子系统,需要把影子系统直接变为别的机器会是docker,或是docker套docker,docker里用openresty放影子系统。...4.3.3 验证是否切换到影子系统 ? 我们可以看到,当封禁列表里IP与当前测试客户端的IP不匹配时,用户会引导到正常的服务端口上,不会再被引入的影子系统。 ?...总结 这个影子系统只是做了web方式的系统,如果用户的请求不是http请求,我们也可以做出相应的影子系统,限于篇幅就介绍7层的影子,之后还会介绍tcp协议的影子系统的思路,本文代码只是说明逻辑思路流程,

    1.1K60

    使用 xshell 登录 Windows 的 linux 子系统

    1 配置 SSH Server # 卸载自带的 ssh sudo apt-get remove openssh-server # 安装 ssh sudo apt-get install openssh-server...3 Windows 配置开机自启动 3.1 windows 计划任务配置 可以使用windows自带的定时任务计划上添加开机启动Ubuntu ssh服务的任务。.../sshd",开启 linux 子系统的 ssh 服务 选择“点击完成打开属性页”按钮,点击完成,打开属性页 在属性页选择“使用最高权限运行” 3.2 测试计划任务命令 管理员身份打开 DOS 窗口 cd...vim /etc/sudoers \# 添加以下 user1 ALL=(ALL) NOPASSWD: ALL # user1 用户执行 sudo 时无需密码 再使用 3.2 的步骤测试,发现已经没有输入密码的提示了...image.png 找到建立的计划任务。右键点击,手动运行,查看运行结果。如果“上次运行结果列”出现“操作成功完成”提示,就表示我们的计划任务配置成功啦!

    2.8K11
    领券