Linux tty 层次分明架构
发布时间
阅读量:
阅读量
** tty驱动在Linux系统中的层级架构:**
如图所示,tty驱动程序被划分为三个层级。第一层为内核层(tty_core),其主要代码由内核在tty_io.c文件中实现;
第二层是线路规程层(line_discipline),开发者可以自行注册并实现对应的线路规程驱动;第三层为驱动层(tty_driver),该层级的代码主要由内核在serial_core.c文件中完成。
此处所提及的tty驱动并不包含最底层的硬件驱动,例如uart驱动。以uart驱动为例,tty_driver层级需要通过uart_driver与硬件进行连接。
接下来对每一层的功能进行分析。
1、tty_core
作为所有tty类型驱动的顶层架构,内核层为应用层提供了统一的操作接口。应用层面调用的open/read/write/ioctl/close等操作首先会到达这一层级。该层级由内核实现,其核心代码位于tty_io.c文件中。此层级实现了 tty 设备相关的file_operations函数集合。
static const struct file_operations tty_fops = {
.llseek = no_llseek,
.read = tty_read,
.write = tty_write,
.poll = tty_poll,
.unlocked_io
全部评论 (0)
还没有任何评论哟~
