Understanding Unix/Linux Programming note:chapter 5:连接控制:学习stty

来源:互联网 发布:越中友谊宫 知乎 编辑:程序博客网 时间:2024/05/21 05:22

Key-word: stty, fcntl, tcsetattr, tcgetattr

        本章通过stty命令的编写讲解如何设置设备的属性。

        stty命令用于让用户读取和修改终端驱动程序的设置。

1、设备和文件的含义

        内核在进程和外部世界间交换数据。

        外部世界包括磁盘文件、终端和外部设备。(?个人理解:外部世界包括磁盘文件和外部设备,终端是重要且特殊的外部设备)。

5.2、设备就像文件

        设备具有文件名;支持open, read, write等系统调用;

        设备文件的i-节点存储的是指向内核子程序的指针;磁盘文件的i-节点存储的是指向数据块的指针;

5.3、设备与文件的不同之处

        系统调用open创建与磁盘文件或设备的连接;两者的连接具有不同的属性。

        

        为了解释5.3,通过5.4介绍磁盘文件的连接属性,通过5.5介绍终端的连接属性(终端是一种特殊的设备),通过5.6介绍通用设备的属性设置。

5.4、磁盘文件的连接属性

        通过函数fcntl调用设置磁盘文件的连接属性,如:内核的缓冲机制。

5.5、终端连接的属性

        通过库函数tcgetattr和tcsetattr 来读取和设置终端驱动程序的属性,如:是否回显、阻塞/非阻塞输入。

5.6、其他设备编程

        每个设备文件都支持系统调用icotl。系统调用ioctl提供对连接到fd的设备驱动程序的属性和操作的访问。每种类型的设备都有自己的属性集合ioctl操作集。

        

原创粉丝点击