当前位置: 首页 > news >正文

TTY驱动程序框架

上一篇大概讲了一些TTY体系中那些设备节点的区别,今天我们来讲讲他的驱动框架,看看他是怎么去运行的:

行规程的引入:

以下文字引用自参考资料解密TTY

大多数用户都会在输入时犯错,所以退格键会很有用。这当然可以由应用程序本身来实现,但是根据UNIX设计“哲学”,应用程序应尽可能保持简单。为了方便起见,操作系统提供了一个编辑缓冲区和一些基本的编辑命令(退格,清除单个单词,清除行,重新打印),这些命令在行规范(line discipline)内默认启用。高级应用程序可以通过将行规范设置为原始模式(raw mode)而不是默认的成熟或准则模式(cooked and canonical)来禁用这些功能。大多数交互程序(编辑器,邮件客户端,shell,及所有依赖curses或readline的程序)均以原始模式运行,并自行处理所有的行编辑命令。行规范还包含字符回显和回车换行(译者注:\r\n 和 \n)间自动转换的选项。如果你喜欢,可以把它看作是一个原始的内核级sed(1)。

另外,内核提供了几种不同的行规范。一次只能将其中一个连接到给定的串行设备。行规范的默认规则称为N_TTY(drivers/char/n_tty.c,如果你想继续探索的话)。其他的规则被用于其他目的,例如管理数据包交换(ppp,IrDA,串行鼠标),但这不在本文的讨论范围之内。

TTY驱动程序框架:

就是在PC端输入ls的话,发生了什么呢:

PC会通过UART发送"l"出去,然后TTY框架会接收到数据,调用串口的驱动程序,然后把数据写入行规程中的buf,然后就是回显了,行规程调用串口的驱动程序,最后把数据发送回PC端,然后显示

很通俗易懂,我们下一篇接着讲

 

相关文章:

  • QML SpinBox:控件的用法与样式外观
  • vue3中defineEmits的使用说明
  • C++中const的不同使用方法和意义
  • 初识Redis · 命令、数据结构补充、协议
  • 订阅应用 TikTok 广告实用指南
  • 电子电器架构 --- 下一代汽车电子/电气(E/E)架构
  • 长亭2月公开赛Web-ssrfme
  • 智能体数据分析
  • 【JAVA】基础知识“抽象类”详解,从入门到理解~
  • Redis Hash 介绍
  • HttpSessionListener 的用法笔记250417
  • Pikachu靶场-CSRF
  • DSO:牛津大学推出的物理一致性3D模型优化框架
  • ubuntu 查看现在服务使用的端口
  • 签到功能---实现签到接口
  • Unity基于屏幕空间的鼠标拖动,拖动物体旋转
  • 强化学习算法系列(五):最主流的算法框架——Actor-Critic算法框架
  • 论文阅读VACE: All-in-One Video Creation and Editing
  • 用Python Pandas高效操作数据库:从查询到写入的完整指南
  • 音视频相关协议和技术内容
  • 央行:货币与物价的关系受多重因素影响,提振物价的关键在于扩大有效需求
  • 视频丨习近平同普京在主观礼台出席红场阅兵式
  • 中国证监会印发2025年度立法工作计划
  • 人民日报整版调查:中小学春秋假,如何放得好推得开?
  • 见微知沪|优化营商环境,上海为何要当“细节控”自我加压?
  • 妻子藏匿一岁幼儿一年多不让丈夫见,法院发出人格权侵害禁令