proxy lab 必要知识

Unix I/O

一种优雅的将IO设备模型化文件的方式
这种IO设备包括网络,磁盘和终端

  • 打开文件 应用程序打开一个文件之后,内核将会返回一个小的非负整数描述符
  • 关闭文件
  • 改变当前的文件位置 并不是改变这个文件的物理存储位置,而是通过一个文件位置k,应用程序通过执行seek操作,显示设置文件的当前位置
  • 读写文件 当前位置k,k+n(n)表示字节数。文件也并不是使用EOF在文件结尾显示说明文件已经结束了,而是当读取的m>n是触发EOF条件。
  • 关闭文件
    • 释放文件对应的数据结构
    • 恢复描述符到描述符池

      文件

  • 普通文件
    • 文本文件
    • 二进制文件 二进制文件常常以01010的方式在外部设备存储,相对于文本文件而言,其他的文件就是二进制文件
  • 目录 目录是一种映射,是文件名和文件本身的一种映射
  • 套接字(socket)

文件读写和缓冲区

缓冲区

IO重定向

重定向 将一个可以输出的内容放到一个文件中.
linux 中重定向实现的一种方式是dup2函数

标准IO

指向file结构体的指针