热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Linuxtty驱动程序一架构

tty核心概览如下图所示:可以看到,tty架构的划分层次,由下至上的逻辑关系为:硬件-tty驱动-tty线路规程

tty 核心概览如下图所示:


可以看到,tty 架构的划分层次,由下至上的逻辑关系为:硬件 -> tty 驱动 -> tty 线路规程(也译为行规程)-> tty 核心 -> 用户层

内核负责控制 tty 设备的数据流,并且格式化这些数据。这使得 tty 驱动程序把重点放在硬件数据处理上,而不必重点考虑使用常规方法与用户空间交互。为了控制数据流,有许多不同的线路规程(line discipline)可虚拟地“插入”任何的 tty 设备上,这由不同的 tty 线路规程驱动程序实现。

数据发送流程:tty core 从用户得到要下发到 tty 设备的数据,然后把数据发送给 tty 线路规程驱动程序,该驱动程序负责把数据传递给 tty 驱动程序。tty 驱动程序对数据进行格式化然后发送硬件。所谓格式化,就是在驱动中转换成硬件支持的协议和格式。

数据接收流程:从 tty 硬件那里接收的数据将回溯至 tty 驱动程序,然后流入 tty 线路规程驱动程序,接着是 tty 核心,最后用户从 tty 核心那里得到数据。

有时 tty 线路规程驱动程序不是必须的,但是一般情况下是存在的。tty 线路规程对于 tty 驱动程序是不透明的,也即相互之间不能直接通信,tty 驱动程序的作用是将发送给它的数据格式化成硬件能理解的格式,并从硬件接收数据。tty 线路规程的作用是使用特殊的方法,把从用户或硬件那里接收的数据格式化。这种格式化通常使用一些协议来转换,如 PPP 或者 BlueTooth。





推荐阅读
author-avatar
god
快出去找工作了,加油!!!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有