在Linux系統中,終端是一類字符型設備,它包括多種類型,一般使用tty來簡稱各類類型的終端設備。編程
l 串口終端(/dev/ttyS*)數據結構
串口終端是使用計算機串口鏈接的終端設備。Linux架構
把每一個串行端口都看做是一個字符設備。這些串行函數
端口所對應的設備名稱是/dev/ttySAC0;設計
/dev/ttySAC1……接口
l 控制檯終端(/dev/console)console
在Linux系統中,計算機的輸出設備一般被稱爲控制檯終端(Console),這裏特指printk信息輸出到的設備。/dev/console是一個虛擬的設備,它須要映射到真/dev/console是一個虛擬的設備,它須要映射到真正的tty上,好比經過內核啓動參數」 console=ttySAC0」就把console映射到了串口0程序設計
l 虛擬終端(/dev/tty*)登錄
當用戶登陸時,使用的是虛擬終端。使用Ctcl+Alt+[F1—F6]組合鍵時,咱們就能夠切換到tty一、tty二、tty3等上面去。tty1–tty6等稱爲虛擬終端,而tty0則是當前所使用虛擬終端的一個別名.終端
(1)/dev/tty/SAC0
(2)/dev/tty/1-n
(3)/dev/console
Linux tty子系統包含:tty核心,tty線路規程和tty驅動。tty核心是對整個tty設備的抽象,對用戶提供統一的接口,tty線路規程是對傳輸數據的格式化,tty驅動則是面向tty設備的硬件驅動。
UART驅動程序結構:struct uart_driver
UART端口結構: struct uart_port
UART相關操做函數結構: struct uart_ops
UART狀態結構: struct uart_state
UART狀態結構: struct uart_state
UART信息結構: struct uart_info