【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
tty设备指任何串口设备。Linux tty驱动程序的核心紧挨在标准字符设备驱动层之下,并提供了一系列的功能,作为接口被终端类型设备使用。内核负责控制通过tty设备的数据流,并且格式化这些数据。
- tty核心从用户得到将被发往tty设备的数据,然后把数据发送给tty线路规程驱动程序,该驱动程序负责把数据传递给tty驱动程序。tty驱动程序对数据进行格式化,然后才能发送给硬件。
- 从tty硬件那里接收的数据将回溯至tty驱动程序,然后流入tty线路规程驱动程序,接着是tty核心,最后用户从tty核心那里得到数据。
- 有时,tty驱动程序直接与tty核心通信,tty核心将数据直接发送给tty驱动程序;但是通常是tty线路规程驱动程序修改在二者之间流动的数据。
tty线路规程的作用是使用特殊的方法,把从用户或者硬件那里接收的数据格式化,这种格式化通常使用一些协议来完成转换,如PPP或者蓝牙。
tty驱动程序的作用是将发送给它的数据格式化成硬件能理解的格式,并从硬件那里接收数据。
目前有三种类型的tty驱动程序:控制台、串口和pty。
/proc/tty/drivers文件列举了当前不同的tty驱动程序,显示了驱动程序的名称、默认的节点名称、驱动程序的主设备号、驱动程序次设备号以及tty驱动程序类型。
如果tty驱动程序执行了所包含的功能,则/proc/tty/driver/目录下包含了若干独立文件为tty驱动程序所使用。默认的串口驱动程序在该目录下创建了一个文件,显示了许多关于串行硬件的特殊信息。
当前注册并存在于内核的tty设备在/sys/class/tty下都有自己的子目录,在子目录中,有一个“dev”文件包含了分配给tty设备的主设备号。如果驱动程序告诉内核物理设备的路径和分配给该tty设备的驱动程序,它将创建一个指向它们的符号连接。