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

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子系统框架以及目录结构分析就先了解到此,后续分析其主要数据结构!

1.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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 ControllerpinA来控制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

    84410

    再谈 API 撰写 - 子系统

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

    77750

    SourceEngine中子系统

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

    84920

    windowsLinux子系统安装

    1.启用子系统功能 需要win系统支持子系统 进入控制面板 -> 程序和功能 -> 启用或关闭windows功能: 勾选适用于Linuxwindows子系统,确定,等待后,确认重启设备 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(临时) 缩写这个目录是用来存放一些临时文件

    10510

    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

    蜜罐背后子系统探秘

    实现影子系统切换逻辑 我们创建了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协议子系统思路,本文代码只是说明逻辑思路流程,

    1K60

    ALSA子系统 | ALSA Buffer更新

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

    1.8K40

    使用 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.7K11

    Unity中Shuriken粒子系统(5)

    通过Particle System中Start Speed,只能设置粒子发射起始速度,不能改变粒子发射过程中速度;而Velocity over Lifetime能够改变粒子在运动过程中速度。...值时,粒子在运动过程中会朝Y轴和Z轴方向运动,且运动速度随Y值和Z值得增大而增大。...当X值、Y值、Z值一起设置时,可以改变粒子运动大致方向,且随X、Y、Z值相对比例改变而方向和速度大小改变。...以X轴曲线为例,当设置时,点亮X曲线,对下方红色直线进行设置,此时粒子在圆环周围产生。当需要粒子在运动过程中有一定速度,只需用鼠标将红线移到X轴指定位置。...Velocity over LifetimeSpace有Local和World两种模式,Local模式下粒子运动受自身旋转影响,而World模式下,粒子运动不受自身旋转影响。

    78740
    领券