操作系统是运行在电脑或移动设备上的主要软件。操作系统管理硬件,并为其他程序提供运行基础。例子包括电脑上的 Windows 和 Unix,以及移动设备上的 Android 和 iOS。
当你打开设备时,操作系统是第一个加载的程序。其他程序通过它在屏幕上显示内容、读取你的输入,以及打开和保存文件。
在文件元数据中,Operating System 是某些归档文件和网络抓包文件中的一个字段。在归档文件中,它告诉你创建该归档时使用的是哪种系统或哪种文件系统。
哪些文件携带它
GZIP 和 RAR 归档会存储这个字段。GZIP 文件通常以 .gz 结尾,RAR 文件以 .rar 结尾。它们的MIME 类型分别是 application/gzip 和 application/vnd.rar。
一个 GZIP 文件通常只包含一个被压缩的文件。GZIP 常与 TAR 归档格式一起使用,结果通常以 .tar.gz 结尾。
保存这个字段的文件头还会保存压缩方法,并且可以保存被归档文件名。RAR 文件还会显示未压缩大小。
ZIP 归档在名为 "version made by" 的字段中保存类似的代码。该代码表示每个条目的文件属性是为哪个系统准备的。
PCAPNG 格式的网络抓包文件中也有一个同名字段。在那里它是自由文本,如 Windows XP SP2,而不是代码。
数值的来源
这个值不是由人手动输入的,而是由创建归档的程序写入文件。
在 GZIP 文件中,这个值是一个字节,是固定 10 字节文件头中的最后一个字节。GZIP 规范规定,这个字节标识进行压缩时所使用的文件系统类型。
zlib 压缩库默认会写入当前操作系统的代码。程序也可以写入 255,表示未知。
RAR 5 格式将这个字段描述为创建归档时使用的操作系统类型。RAR 5 归档中的每个文件都有自己的文件头,其中包含这个值。
数值的呈现方式
归档会存储一个数字,而元数据报告通常显示与之对应的名称。GZIP 规范定义了 15 个取值。以下是其中的 5 个:
0:FAT 文件系统(MS-DOS、OS/2、NT/Win32)3:Unix7:Macintosh11:NTFS 文件系统(NT)255:未知
其中一些值指的是文件系统,如 FAT 或 NTFS,而不是操作系统。括号中的名称表示哪些系统使用该文件系统。
RAR 归档使用更短的列表:
- 旧版 RAR 格式(RAR 5.0 之前)的归档:取值包括
0MS-DOS、1OS/2、2Win32 和3Unix - RAR 5.0 格式的归档:
0表示 Windows,1表示 Unix
同一个数字在不同格式中可以代表不同的系统。例如,Unix 在 GZIP 文件中是 3,但在 RAR 5 文件中是 1。
它的重要性
这个值可以帮助程序在不同系统上正确处理文件。GZIP 规范指出,该值可以用于决定文本文件的换行符约定。
在 RAR 5 归档中,这个值还会告诉程序如何读取文件名和属性。反斜杠在 Unix 文件名中是普通字符,但 Windows 文件名不允许使用反斜杠。
这个值不会改变压缩内容。程序在解压 GZIP 文件时可以忽略该值,因此 255 并不是错误。
不要把这个字段和 Software 字段混淆。Software 是关于创建该文件的程序的自由文本描述。而在归档文件中,Operating System 是来自固定列表的代码。