虽然一直做嵌入式Linux宿主机和开發板通信天天都在用tty设备通信,但是其实自己对TTY设备及终端的概念认识几乎是0对于Linux内核的终端、tty、控制台等概念的认识很模糊。由于在學习的时候碰到了重定向console的问题所以借机学习下tty的知识。以下是我对tty的认识总结信息来源于网络和内核文档。参考资料见文章末尾
tty┅词源于Teletypes,或Teletypewriters它是最早出现的一种终端设备,类似电传打字机由生产。最初tty是指连接到Unix系统上的物理或者虚拟终端终端是一种字符型设备,通常使用tty来统称各种类型的终端设备随着时间的推移,当通过串行口能够建立起终端连接后这个名字也用来指任何的串口设備。它还有多种类例如串口(ttySn、ttySACn、ttyOn)、USB到串口的转换器(ttyUSBn),还有需要特殊处理才能正常工作的调制解调器(比如传统的WinModem类设备)等tty虚拟設备支持虚拟控制台,它能通过键盘及网络连接或者通过xterm会话登录到计算机上
对此还可以结合内核启动代码中init进程打开/dev/console和执行两次sys_dup(0),以及标准输入、标准输出、标准出错还有就是进程fork后的标准输入输出的复制情況来一起理解。
终端按照其自身能力分类可以分为:
1、哑终端(瘦客户端)
早期的计算机终端是通过串行RS-232通信的,它只能解释有限数量的控制码(CRLF等),但没有能力处理执行特殊的转义序列功能(如清行、清屏或控制光标的位置)简单来说就是处理能力有限的终端機,他们一般基本上只具有和机械电传打字机类似的有限功能这种类型的终端称为哑终端。现在仍然在现代类Unix系统上得到支持通过设置环境变量TERM=dumb。哑终端有时用来指任何类型的通过RS-232连接的传统计算机终端不对数据进行本地处理或本地执行用户程序的串行通信终端。哑終端有时也指功能有限只有单色文本处理能力或直接传输每一个键入的字符而不等待主机轮询的公共计算机终端。
2、智能终端(胖客户端)
智能终端就是有能力处理转义序列也就是说处理能力较强的终端机。
Linux系统的终端设备一般有以下几种:
/dev/console是系统控制台是与操作系統交互的设备。系统所产生的信息会发送到该设备上平时我们看到的PC只有一个屏幕和键盘,它其实就是控制台目前只有在单用户模式丅,才允许用户登录控制台/dev/console(可以在单用户模式下输入tty命令进行确认)。
console有缓冲的概念为内核提供打印输出。内核把要打印的内容装叺缓冲区__log_buff然后由console来决定打印到哪里(比如是tty0还是ttySn等)。console指向激活的终端历史上,console指主机本身的屏幕和键盘而tty指用电缆链接的其它位置的控制台。某些情况下console和tty0是一致的就是当前所使用的是虚拟终端,也是激活虚拟终端所以有些资料中称/dev/console是到/dev/tty0的符号链接,但是这样說现在看来是不对的:根据内核文档在/uid--id-3225777.html
如有侵权,敬请告知谢谢
# 1、加载包、数据准备
#2、简单随机抽样并分割为训练、测试及对应的目标分类
#3、构建C5.0算法模型
#4、交叉验证,使用测试数据集测试模型
请问一下各位大佬TT语音转入TT玩加平台!为什么普通的能进去,加速版本的进去没有之前的区服呢
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。