Solaris文件与文件I/O详解
1. 引言
Unix系统从诞生起就围绕着进程和文件这两个基本实体构建。所有在系统上执行的操作都是进程,而所有进程的输入输出操作都针对文件进行。随着时间推移,文件和文件I/O设施的实现发生了变化,文件的概念涵盖了更多抽象类型,文件I/O的接口也不断扩展。
2. Solaris中的文件
2.1 文件的通用定义
文件是一种以字节数组形式存储数据的实体,从第0字节开始一直到文件末尾。文件内容可以有多种形式,如简单文本文件、二进制可执行文件、目录文件等。
2.2 Solaris支持的文件类型
Solaris支持多种文件类型,部分在内核层面定义,以下是常见文件类型的详细介绍:
| 文件类型 | 文件系统 | 字符标识 | 描述 |
| — | — | — | — |
| 普通文件 | UFS | — | 传统的磁盘文件,可以是文本文件、二进制共享对象或可执行文件。 |
| 目录文件 | UFS | d | 存储其他文件和目录名称的文件,其他文件系统也可在自身文件层次结构中实现目录。 |
| 符号链接 | UFS | l | 表示指向另一个文件的链接,可能位于不同目录或文件系统。 |
| 字符特殊文件 | specfs | c | 用于支持字符模式I/O的设备的特殊文件,代表系统上的I/O设备,可索引设备驱动程序并唯一标识特定设备。 |
| 块特殊文件 | specfs | b | 用于支持块模式I/O的设备的特殊文件,如磁盘和磁带设备。 |
| 命名管道(FIFO) | fifofs | p | 为同一系统