引用
- 蜗窝科技-tty驱动分析
- 彻底理解Linux的各种终端类型以及概念 - dog250
- Linux终端和Line discipline图解 - dog250
- Linux设备驱动-tty驱动 - 看云
- struct termios结构体详解
- Linux TTY Driver-yannik520
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
一. TTY drive框图
- 彻底理解Linux的各种终端类型以及概念 - dog250
二. TTY framework
2.1 框图
2.2 数据结构图
- 蜗窝科技
三. linux tty 代码分析
3.1 open()
3.2 write()
- 注意:可通过配置driver falg,来配置tty write buffer的大小为2k或者 64k。
3.3 read()
- N-TTY: ldisc 的read ring buffer(数组)为N_TTY_BUF_SIZE 4096 bytes,即4k。workqueue (flush_to_ldisc )会循环从port buffer读取到ldisc buffer。可重复写,是一个ring b