Unix I/O

Unix系统级I/O是操作系统提供的底层I/O接口,所有高级I/O操作最终都通过系统级I/O实现。它是理解Linux文件系统的基础。

文件描述符(File Descriptor) 是Unix系统I/O的核心抽象。每个打开的文件都由一个非负整数标识,这个整数就是文件描述符。内核为每个进程维护一个描述符表,跟踪所有打开的文件。

三个标准文件描述符

  • 0:标准输入(stdin),通常关联键盘。
  • 1:标准输出(stdout),通常关联显示器。
  • 2:标准错误(stderr),通常关联显示器。

Unix哲学 “一切皆文件”

  • 普通文件、目录、套接字、管道、设备等所有I/O资源都被抽象为文件。
  • 统一的 open/read/write/close 接口操作所有类型的I/O资源。
  • 这一抽象极大简化了I/O编程模型。

链接到