Understanding Unix/Linux Programming-文件设备和流
Posted Hao的杂货店
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Understanding Unix/Linux Programming-文件设备和流相关的知识,希望对你有一定的参考价值。
每个设备文件都支持系统调用 ioctl:
- 目标:控制一个设备
- 头文件:#include<sys/ioctl.h>
- 函数原型:int result = ioctl(int fd , int operation [,arg...]);
- 参数
- fd : 文件所关联的文件描述符
- operation:操作类型
- arg:可选参数
- result:-1即错误;0即正确;
实际上,任何数据的源或者目的地都被Unix视为文件来处理,基本的系统调用既支持磁盘文件,也适用于设备文件。它们的区别体现在对于连接的操作上。磁盘文件的文件描述符包含对缓冲属性和扩展属性的定义代码;而终端的文件描述符包含编辑、回显、字符转换和其他操作的定义代码。
可以吧每个处理步骤看作是连接的属性,也可以把连接看作是处理步骤的组合。
基础的数据流模型的一个重要特征是处理的模块化,如果不满意仅能支持像大小写转换这样的终端驱动程序,可以设计安装一个可将数字转换为罗马数字的模块,不过我就不编了哈(逃)。
另外,Unix/Linux编程实践看了150页左右,虽然只是跟着书编写了书中现有的代码,没有多做练习,但是还是觉得对与系统的了解加深了不少啊,过完这本书再去肯操作系统,哈哈哈,不知道顺序有没有弄反。
以上是关于Understanding Unix/Linux Programming-文件设备和流的主要内容,如果未能解决你的问题,请参考以下文章
Understanding Unix/Linux Programming-stty指令练习
PyTorch 101 Part 1: Understanding Graphs, Automatic Differentiation and Autograd