Advertisement

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)

还没有任何评论哟~