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

Understanding Convolutions

Understanding LSTM Networks

Understanding sun.misc.Unsafe

转载Understanding and using FireMonkey Layouts