tty系统框架简述

一:

1 tty概念:

  在Linux系统中,终端是一种字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备

2 tty分类:在Linux系统中,tty终端设备分为以下三种:

          2.1 串口终端(/dev/ttyS*)
          2.2 虚拟终端(/dev/tty*)
          2.3 控制台终端(/dev/console)

3 tty终端设备概念:

       3.1 串口终端(/dev/ttyS*) :
             串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个
             字符设备。这些串行端口所对应的设备名称是 /dev/ttySAC0;/dev/ttySAC1…
       3.2 虚拟终端(/dev/tty*) : 
             当用户登录时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,我们就可以
             切换到tty1、tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前
             所使用虚拟终端的一个别名.
       3.3 控制台终端(/dev/console) : 
             在Linux系统中,计算机的输出设备通常被称为控制台终端(Console),这里特指
             printk信息输出到的设备。/dev /console是一个虚拟的设备,它需要映射到真
             正的tty上,比如通过内核启动参数” console=ttySAC0”就把console映射到了
             串口0

二:tty架构:Linux系统的tty子系统由如下三部分组成:

        1 tty核心 :是tty设备的抽象(tty_driver是uart_driver的抽象),对上层用户提供统一的接口

        2 tty线路规程 : 是对上层和底层之间数据传输的协议转换,不同类型的终端设备数据转换协议不同

        3 tty设备驱动 : 面相底层硬件的 设备驱动

三:tty核心结构体分层

  用户空间      :  /dev/ttyXXX   :  file_operation tty_fops{}

  tty核心层    :  tty_driver   :   tty_operation  uart_fops{}

  线程规划     :  tty_struct   :   tty_ldisc_ops tty_ldisc_N_TTY{} 线程规划

 tty设备层     :  uart_driver  :   uart_ops{}

    

四: tty核心数据结构关系


猜你喜欢

转载自blog.csdn.net/linuxarmbiggod/article/details/78879736
tty