Linux 中的 Termios 评述

Linux中的控制台界面,要大量用到Termios库的内容。但是,总的来看,这些东西已经过时了,应该用更简单的方案来代替它了,尽管它是POSIX标准的一部分。

termios的实现中,有大量的参数设置,还有伪终端的说法。原因就在于当初UNIX发明时,(上世纪七十~八十年代),在美国,西欧大学里面用的都是大型机加客户终端,学生们用的是串口方式与大型机进行交流,通讯。所以,当时很多软件的设计都是针对这种情况而开发的。包括termios,tty,X window等等。因为要在串口上传输,所以不得不定义很多按键的组合符号和很多传输模式。

然而现在,时代已经不同了。以我们日常的使用情况来看,串口已经渐渐退出了历史舞台。现在几乎只在嵌入式开发群中使用(因为串口最容易出来,所以开发的第一步就是要把串口调通,这样才能得到信息,才能方便进一步开发)。

就我们现在的情况来看,我们的终端基本上只与显示系统挂钩,(也可从串口输出,但一般只做调试用),真正更高级的互联传输功能都是通过网卡通过多种协议完成的(tcp/ip是最基本的)。所以,我们在新设计的控制台实现中,可以完全简化设计的方案,按照最基本的来设计就行了。

但是,为了做到设计出来的代码的层次性和可移植性,Linux/Unix下终端的理论是要认真学习一下的(比如原始模式,标准模式等等),看别人是怎样做到功能的抽象和分离的。

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License